11月2日自由課題提出分

自由プログラムの画像 C言語
自由プログラム

nogu1.c

サンプルでしょ
#include <stdio.h>

int main(void)
{
	int age;
	
	printf("あなたの年齢は?\n");
	scanf("%d",&age);
	
	printf("私と一緒だね!\n",age);
	
	return 0;
}
1箇所おかしな所がある

yama.c

レジのようなプログラム
#include <stdio.h>

void addTax(int*);

int main(void)
{
	int kingaku;
	int gokei=0;
	int kazu;
	int i;
	
	printf("いらっしゃいませ\n");
	getchar();
	rewind(stdin);
	printf("購入した品数を教えて下さい:");
	scanf("%d",&kazu);
	printf("\n");
	
	getchar();
	rewind(stdin);
	
	for(i=1;i<=kazu; i++){
		printf("%d点目の金額:",i);
		scanf("%d",&kingaku);
		gokei+=kingaku;
	}
	printf("\n");
	
	printf("品数:%d点\n",kazu);
	printf("合計金額:%d円\n",gokei);
	
	addTax(&gokei);
	
	printf("消費税込み:%d円\n",gokei);
	
	if(gokei>=1000 || kazu>=5){
		printf("\n5点以上ご購入又は、ご購入金額が1000円以上のお客様特典\n");
		printf("次回買い物10%OFFクーポンのプレゼントです。\n");
	}
	else{
		printf("こちらキャンぺーンのシール%d枚です。\n",kazu);
		printf("シールを集めるとお皿がもらえますよ^^\n");
	}
	printf("\nありがとうございました。\nまたのご利用お待ちしてます。\n");

    return 0;
}
void addTax(int *pay)
{
	*pay = *pay *1.08;
}

実行イメージ

いらっしゃいませ

購入した品数を教えて下さい:3

1点目の金額:100
2点目の金額:200
3点目の金額:356

品数:3点
合計金額:656円
消費税込み:708円
こちらキャンぺーンのシール3枚です。
シールを集めるとお皿がもらえますよ^^

ありがとうございました。
またのご利用お待ちしてます。

nogu2.c

これもサンプルプログラムでしょ
#include <stdio.h>

int main(void)
{
	int x,y,z;
	
	printf("3つの数のかけ算をします,\n\n");
	
	printf("数値1を入力してください:");
	scanf("%d",&x);
	printf("数値2を入力してください:");
	scanf("%d",&y);
	printf("数値3を入力してください:");
	scanf("%d",&z);
	
	printf("%d * %d * %d = 合計で%dです\n",x,y,z, x*y*z);
	
	return 0;
}

ishi.c

分岐とファイル書き込み(nikki.txtに書き込まれる)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	int susumu, bunki;
	FILE *fp;
	char nikki[256];
	
	/* 画面を消去 */
	system("cls");
	
	/* 進みたい道を数字で入力させる */
	printf("\n森で獣道を歩いていると、分かれ道が現れました。\nどちらに進みますか?( 左:1/右:2 )");
	scanf("%d", &susumu);
	
	/* 分岐をランダムに */
	srand((unsigned)time(NULL));
	bunki = rand() % 2;
	
	/* 選択した数字とランダムの数字が同じなら帰宅 */
	/* nikki.txt に一言日記を書き込むように設定 */
	if(bunki == susumu){
		printf("\n(;´∀`)なんとか家にたどり着いた!\n\n");
		
		fp = fopen("nikki.txt", "w");
		
		if(fp == NULL){
			printf("ファイルが開けない!");
			exit(1);
		}
		printf("一言日記を書いてみよう\n\n");
		scanf("%s", nikki);
		
		fputs(nikki, fp);
		
		fclose(fp);
	}
	
	/* 選択した数字と違う場合、道に迷ってしまう */
	else{
		printf("\n道に迷ってしまった!ガメオベラ!\n\n");
	}
	
	
	return 0;
}

実行イメージ

森で獣道を歩いていると、分かれ道が現れました。
どちらに進みますか?( 左:1/右:2 )

nogu3.c

よくわからないプログラム
#include <stdio.h>

int main(void)
{
	int x,y,z;
	
	printf("3つの数の計算をごちゃまぜします,\n\n");
	
	printf("数値1を入力してください:");
	scanf("%d",&x);
	printf("数値2を入力してください:");
	scanf("%d",&y);
	printf("数値3を入力してください:");
	scanf("%d",&z);
	
	printf("%d * %d * %d = 合計で%dです\n",x,y,z, x/y-z);
	
	return 0;
}

実行イメージ

数値1を入力してください:1
数値2を入力してください:2
数値3を入力してください:3
1 * 2 * 3 = 合計で-3です

saku.c

コメント文とプログラムが合っていない
#include <stdio.h>

void showNumber(int);	/* 関数定義:指定した文字のデジタルフォントを表示する */

int main(void)
{
	int i, n;
	char moji[256];

	printf("どんぐり ころころ\n");
	getchar();
	rewind(stdin);
	printf("どんぶりこ\n");
	getchar();
	rewind(stdin);
	printf("御池にハマって\n");
	getchar();
	rewind(stdin);
	printf("さぁ 大変\n");
	getchar();
	rewind(stdin);
	printf("ドジョウがでてきて 「???」");
	getchar();
	rewind(stdin);
	printf("???に入るのは?:");
	getchar();
	rewind(stdin);
	printf("1.こんにちわ 2.NICE TO MEET YOU 3.メラゾーマ\n");
	scanf("%d",&n);
	rewind(stdin);
		showNumber(n);	/* 答えを表示する */

	return 0;
}

void showNumber(int n)
{
	printf("\n");
	
	switch(n){

		case 1:
		printf("坊ちゃん 一緒に 遊びましょう\n");
		printf(" 正解!\n");
	 	break;

		case 2:
		printf("Let's play with Botchan together");
		printf(" 不正解\n");
		break;

		case 3:
		printf("「今のはメラゾーマじゃない。ただのメラだ…」\n");
		printf(" 不正解\n");
		break;
		
		default:	/*1~3以外を入力したとき*/
		printf("選択肢の中から選べ!\n");
		printf(" 残念……");
	}
}

実行イメージ

どんぐり ころころ

どんぶりこ

御池にハマって

さぁ 大変

ドジョウがでてきて 「???」
???に入るのは?:
1.こんにちわ 2.NICE TO MEET YOU 3.メラゾーマ
2

Let’s play with Botchan together 不正解

tyae.c

文章に雰囲気がある
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(void)
{
	int n;
	int i;
		
	system("cls");
	printf("君は追われている。\n");
	getchar();
	printf("1.逃げる 2.応戦する 3.降伏する\n");
	printf("what will you do?_");
	scanf("%d",&n);
	
	if(n==1){
		getchar();
		rewind(stdin);
		printf("\n君は逃げた。ひたすら逃げ続けた。\n");
		getchar();
		rewind(stdin);
		printf("数十日にもわたる逃亡の末、君は力尽きて倒れてしまった。\n");
		getchar();
		rewind(stdin);
		printf("NORMAL END");
	}
	else if(n==2){
		printf("君は懐に隠し持っていたナイフで追っ手に斬りかかった。\n");
		getchar();
		printf("ナイフは見事に急所を貫いた。\n");
		getchar();
		printf("人を殺してしまった!焦った君は迫るサイレンから逃げ出すことを決めた。\n");
		getchar();
		printf("BAD END");
		}
	else if(n==3){
		printf("君は追っ手に向き合った。\n");
		getchar();
		printf("何のために追われていたのか判らなかったが、その顔を見て納得した。\n");
		getchar();
		printf("あれは、自分自身だ。\n");
		getchar();
		printf("自分から逃げ続けていたことに、ようやく気付いた。\n");
		getchar();
		printf("だから私は、自分自身を殺し、逃げ続けていた感情を本物にすることに決めた。\n");
		getchar();
		printf("END");
		}
	
	
	return 0;
}

実行イメージ

君は追われている。

1.逃げる 2.応戦する 3.降伏する[/text]
:
:

seki.c

実用的プログラム
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
	FILE *fp;
	char buffer[256];
	
	time_t timer;
	struct tm *local;
	
	timer = time(NULL);
	local = localtime(&timer);
	
	fp = fopen("memo.txt", "a");
	if(fp == NULL){
		printf("ファイルが見つかりません\n");
		exit(1);
	}
	printf("何をメモしますか?>");
	scanf("%s", buffer);
	
	fprintf(fp, "%d月", local->tm_mon + 1);
	fprintf(fp, "%d日 ", local->tm_mday);
	fputs(buffer, fp);
	fclose(fp);
	
	return 0;
}

実行イメージ

何をメモしますか?>Happy! [Enter]

書き込みファイルイメージ(memo.txt)

11月2日 Happy!

tnat.c

ドラえもんに会える
#include<stdio.h>
int main(void)
{
	printf("\n\n\n\nドラえもん「ぐふふ、ネット通販でどら焼き30個セット買っちゃお」ポチッ\n\n\n\n");
	getchar();
	rewind(stdin);
	
	printf("□ 私 は ロ ボ ッ ト で は あ り ま せ ん \n\n\n\n");
	

	printf("      ______\n");
	printf("    / -、 -、  \\n");
	printf("   /  |  ・|・  | 、  \\n");
	printf("  / / `-●-′ \    ヽ   \n");
	printf("  |/ ── |  ──   ヽ   |  \n");
	printf("  |. ── |  ──    |  |   \n");
	printf("  | ── |  ──     |  l\n");
	printf("  ヽ (__|____  / /\n");
	printf("   \         / /\n");
	printf("    l━━(t)━━━━┥\n");
		return 0;
}

実行イメージ

ドラえもん「ぐふふ、ネット通販でどら焼き30個セット買っちゃお」ポチッ

naka.c

ゲームとしては難しいが想像力あふれるプログラム

指定したファイルを読みこんでx番目(ランダムな数字)の文字が何なのかを当てるゲームをイメージして作りました。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    FILE *fp;
    int i,x;
    char c,a;
    char f[256];
    
    printf("読み込みたいファイルの名前は何だい?:");
    scanf("%s",&f);
    rewind(stdin);
    printf("%sのファイルを読み込みます\n\n",f);
    
    fp = fopen(("%s",f),"r");
    if(fp == NULL){
		printf("ファイルが開けません\n");
		exit(1);
	}
	
	i = 0;
	while((c = fgetc(fp)) != EOF){
		i++;
	}
	printf("そのファイルは全部で%d文字記入されているよ\n\n",i);
	
	srand((unsigned)time(NULL));
	x = rand () % i;
	
	printf("%d番目の文字は何だと思う?:",x);
	scanf("%c",&a);
	
	i = 0;
    while(i != x){
		c = fgetc(fp);
		i++;
	}
	printf("\n%d番目の文字は%cでした\n",x,c);
	
	if(a == c){
		printf("大正解!おめでとう!\n");
	}
	else{
		printf("残念、無茶ぶりだったかな?\n");
	}
    
    fclose(fp);
    
    return 0;
}

実行イメージ

読み込みたいファイルの名前は何だい?:tnat.c
tnat.cのファイルを読み込みます

そのファイルは全部で699文字記入されているよ

443番目の文字は何だと思う?:D

コメント