20181127授業最終日制作2

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

次の5つのスポーツの名前を英語に直しなさい

/*
		次の5つのスポーツの名前を英語に直しなさい
*/
#include <stdio.h>
#include <string.h>
#define MAX 5

int main(void)
{
	char mondai[][14] = {"野球","サッカー","テニス","ゴルフ","陸上"};
	char kotae[][30] = {"baseball","football","tennis","golf","land"};
	char kaitou[256];		/*解答入力用*/
	
	int points = 0;       /*得点計算用*/
	int i;
	
	printf("次の5つのスポーツの名前を英語に直しなさい\n\n");
	for(i=0; i<MAX; i++){
		/*出題*/
		printf("\t問題%2d: %s ? ", i+1, mondai[i]);
		scanf("%s", kaitou);
		/*判定*/
		if( !strcmp(kaitou,kotae[i]) ){
			printf("\t〇\n");
			points ++;
		}
		else{
			printf("\t×\n");
		}
	}
	/*成績*/
	if(points == 0){
		printf("\n修業が足らん!!!\n");
	}
	else{
		printf("\n%d問中、%d問正解!\n", MAX, points);
	}
	
	return 0;
}

実行イメージ

次の5つのスポーツの名前を英語に直しなさい

問題 1: 野球 ? baseball

問題 2: サッカー ? soccor
×
問題 3: テニス ? tennis

問題 4: ゴルフ ? golfer
×
問題 5: 陸上 ? swimming
×

5問中、2問正解!

モンスターを倒すゲーム風のプログラム

/*ngame.c 
 モンスターを倒すゲーム風のプログラム*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
	int p=30;
	int m=40;	
void kougeki(void)
{
	/*ここにプログラムを記述*/
	int r;
	srand((unsigned)time(NULL));
	r = rand()%11;
	
	system("cls");
	printf("プレイヤー体力:%d\nモンスター体力:%d\n\n",p,m);
	printf("攻撃します\n");
		printf("%dダメージを与えた\n",r);
		printf("%dダメージを喰らった\n\n",r/2);
		m-=r;
		p-=r/2;
}
int main(void)
{
	int s;
	
	printf("モンスターが現れた\n");
	
	
	while(1){
		if(p==0){
			system("cls");
	printf("プレイヤー体力:%d\nモンスター体力:%d\n\n",p,m);
			printf("力尽きた・・・\n");
			break;
		}
		else if(m==0){
			system("cls");
	printf("プレイヤー体力:%d\nモンスター体力:%d\n\n",p,m);
			printf("モンスター討伐成功!\n");
			break;
		}
		printf("どうする?\n");
		printf("1.戦う\n2.逃げる\n");
		scanf("%d",&s);
			switch(s){
				case 1:
					kougeki();
					break;
				case 2:
					if(m<p){/*プレイヤーの残りの体力が、モンスターより多ければ逃げれる*/
						printf("うまく逃げることに成功した!\n");
						goto END;
					}
				else{
					printf("逃げられない!\n");
					continue;
				}
			}
	}
	END:
	return 0;
}

実行イメージ

プレイヤー体力:30
モンスター体力:40

攻撃します
3ダメージを与えた
1ダメージを喰らった

どうする?
1.戦う
2.逃げる

あなたが勇者として戦う力を手に入れたとしよう。

#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.はい\n");
	printf("2.YES\n");
	printf("3.いいえ\n");
	printf("4.だが断る\n");
	scanf("%d",&n);
	rewind(stdin);
		showNumber(n);

	return 0;
}

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

	switch(n){

        	case 1:
        	printf("王「そうかそうか、戦ってくれるのか。」\n");
		getchar();
		rewind(stdin);
		printf("王「ならば戦うための武具をあたえよう。」\n");
        	printf(" 俺たちの戦いはこれからだっ!!!系END\n");
        	break;

        	case 2:
        	printf("王「何が、「YES」だ!貴様ふざけているのか」");
		getchar();
		rewind(stdin);
		printf("王「者ども、この不敬なものを拘束しろ!!」\n");
        	printf(" この後、なんやかんやあって、お尋ねものになりながらも敵と戦いに赴く系END\n");
        	break;

        	case 3:
        	printf("王「なっ、なんじゃと。世界の為に戦ってくれないのか…」\n");
		getchar();
		rewind(stdin);
		printf("王「…もうこの国は、世界はおしまいだ……」\n");
        	printf(" そして、世界は滅ぼされるのであった BAD END\n");
		break;

        	case 4:
        	printf("王「!!?」\n あなた「この私の最も好きな事の一つは…」");
		getchar();
		rewind(stdin);
		printf("あなた「自分は偉いと思っている奴に NOと断ってやる事だ!!」\n");
        	printf(" 一時のテンションで言った結果、この後ひどい目に… BAD END\n");
        	break;


		default:
		printf("残念ながら、それは選択肢に含まれていない。\n");
		printf("GAME OVER");
	}
}

実行イメージ

もし、

あなたが勇者として戦う力を手に入れたとしよう。

あなたに味方はいない。

敵は人外に化け物、魑魅魍魎。

あなた一人で世界を守らなくてはならない。
王「勇者よ、戦ってくれるか?」
1.はい
2.YES
3.いいえ
4.だが断る

1

王「そうかそうか、戦ってくれるのか。」
 :

神出鬼没の超人

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define FILE_NAME    "data2.txt"
 
int main(void)
{
	struct _monster{
		char name[256];
		int hp;
		int mp;
	};
	struct _monster monster[4];

	int i, length;
	FILE *fp;

/* データファイルを開く */
	fp = fopen(FILE_NAME, "r");
	if(fp == NULL){
		printf("ファイル<%s>がオープン出来ません\n", FILE_NAME);
		exit(1);
	}

/* モンスターデータ読み取り */
	i = 0;
	while(fscanf(fp, "%s\n", monster[i].name) != EOF){
		fscanf(fp, "HP=%d\n", &monster[i].hp);
		fscanf(fp, "MP=%d\n", &monster[i].mp);
		i++;
	}
	fclose(fp);
	length = i;
	printf("%d体のモンスターデータを確認.....キーを押して下さい\n\n", length);
	getchar();
     
	/* モンスターデータ表示 */
	for(i=0; i<length; i++){
		printf("No.%2d:\n", i+1);
        	printf("\t%s\n", monster[i].name);
        	printf("\tHP/%04d MP/%04d\n", monster[i].hp, monster[i].mp);
	}

	return 0;
}

必要なデータファイル
data2.txt

神出鬼没の超人パンダマン
願いから生まれたザ・ペンシルマシーン
芸人バナナマン

実行イメージ

3体のモンスターデータを確認…..キーを押して下さい

No. 1:
神出鬼没の超人パンダマン
HP/1702920 MP/-1073741511
No. 2:
願いから生まれたザ・ペンシルマシーン
HP/7853384 MP/0128
No. 3:
芸人バナナマン
HP/1703568 MP/2003939381

だ~れだ!

#include <stdio.h>
int main(void)
{
	int ma;
	int su;

printf("                ■■■■■                    \n");
printf("               ■■■■■■■■■                       \n");
printf("               □□□■■□■                       \n");
printf("              □■□■■■□■■■                        \n");
printf("              □■□□■■■□■■■                       \n");
printf("              □□■■■■□□□□                        \n");
printf("                ■■■■■■■                      \n");
printf("               □□■□□□                       \n");
printf("              □□□■□□■□□□                        \n");
printf("             □□□□■■■■□□□□                        \n");
printf("             ■■□■□■■□■□■■                         \n");
printf("             ■■■■■■■■■■■■                         \n");
printf("             ■■■■■■■■■■■■                         \n");
printf("               ■■■  ■■■                     \n");
printf("              □□□    □□□                    \n");
printf("             □□□□    □□□□                     \n");
	getchar();
	rewind(stdin);
printf("だ~れだ!\n");
printf("入力してね 1=ルイージ 2=マリオ\n");
scanf("%d",&su);

if(su==1){
		printf("正解!!次いこか\n");
	}
	else{
		printf("大正解!次いこか\n");
}

getchar();
rewind(stdin);
printf("                  ■                     \n");
printf("                  ■                     \n");
printf("                  ■                     \n");
printf("                  ■                     \n");
printf("                 ■■■                      \n");
printf("                ■■■■■                       \n");
printf("              ■■■■■■■■■                         \n");
printf("             ■■■■■■■■■■■                          \n");
printf("            ■■■■□■■■□■■■■                           \n");
printf("           ■■■■□■□■□■□■■■■                            \n");
printf("           ■■■■□■□■□■□■■■■                            \n");
printf("           ■■■□■□■■■□■□■■■                            \n");
printf("           ■■■□□■■■■■□□■■■                            \n");
printf("            ■■■■□□□□□■■■■                           \n");
printf("             ■■■■■■■■■■■                          \n");
	getchar();
	rewind(stdin);
printf("だ~れだ!\n");
printf("入力してね 1=スライム 2=うんち\n");
scanf("%d",&su);

if(su==1){
		printf("大正解!!おわり!\n");
	}
	else{
		printf("正解!おわり!\n");
}
	

return 0;
}

実行イメージ
20181127授業最終日制作2

九九の計算

/* kuku.c 九九の計算 */

#include <stdio.h>

void kuku(int *suji)
{
	int j, ans;
	
	for(j=1; j<=9; j++){
		ans =  *suji * j;
		
		printf("%d * %d = %d\n", *suji, j, ans);
	}
	
};
int main(void)
{
	int num;
	
	printf("数字を入力してください(1~9):");
	scanf("%d", &num);
	
	kuku(&num);
	
	
	return 0;
}

実行イメージ

数字を入力してください(1~9):3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

時間を計測

/* stopwatch.c
   時間を計測 */

#include <stdio.h>
#include <time.h>
int main(void)
{
	time_t timer;
	struct tm *local;
	
	int hour, minute, second;
	int _hour, _minute, _second;
	int h, m, s;
	
	printf("タイムを計測します(ENTERキーを押してください)\n");
	getchar();
	
	timer = time(NULL);
	local = localtime(&timer);
	
	hour = local->tm_hour;
	minute = local->tm_min;
	second = local->tm_sec;
	
	printf("計測中…(ENTERキーで終了)\n");
	getchar();
	
	timer = time(NULL);
	local = localtime(&timer);
	
	_hour = local->tm_hour;
	_minute = local->tm_min;
	_second = local->tm_sec;
	
	if(second > _second){
		second = 60 - second;
		_second += second;
		_minute -= 1;
	}
	else _second -= second;
	
	if(minute > _minute){
		minute = 60 - minute;
		_minute += minute;
		_hour -= 1;
	}
	else _minute -= minute;
	
	if(hour > _hour){
		hour = 24 - hour;
		_hour += hour;
	}
	else _hour -= hour;
	
	printf(" %d時間 %d分 %d秒", _hour, _minute, _second);
	
	return 0;
}

実行イメージ

タイムを計測します(ENTERキーを押してください)

計測中…(ENTERキーで終了)

0時間 0分 7秒

コメント