20181127授業最終日制作1

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

現在時刻を保存するプログラム

/*
	timesaver.c
		現在時刻を保存するプログラム
*/
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main(void)
{
	FILE *fp;
	time_t timer;
	struct tm *local;
	
	/* 現在時刻取得 */
	timer = time(NULL);
	local = localtime(&timer);
	
	/* ファイルに追加保存 */
	fp = fopen("timesaver.txt", "a");
	if(fp == NULL){
		printf("File open error!\n");
		exit(1);
	}
	fprintf(fp, "%4d/%2d/%2d %02d:%02d:%02d\n",
		local->tm_year + 1900,
		local->tm_mon + 1,
		local->tm_mday,
		local->tm_hour,
		local->tm_min,
		local->tm_sec
	);
	
	fclose(fp);
	
	/* 終了メッセージ */
	printf("%d saved.\n", timer);

	return 0;
}

実行後のファイル「timesaver.txt」の内容

2018/11/27 11:43:49
2018/11/27 11:43:51
2018/11/27 11:43:52
2018/11/27 11:45:07

お金の収入と支出をメモするプログラム

/* money.c お金の収入と支出をメモするプログラム*/


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) 
{ 
	FILE *fp; 
	
	
	int in=0;
	int out=0;
	int n;
	
	time_t timer;
    struct tm *local;
     
    timer = time(NULL);
    local = localtime(&timer);
	fp = fopen("money.txt", "a"); 
	if(fp == NULL){ 
		printf("ファイルが開けません\n"); 
		exit(1); 
	} 

	
	printf("メモする内容を教えて下さい\n");
	printf("収入→1\n支出→2\nなんでもない→1・2以外\n");
	scanf("%d",&n);
	
	fprintf(fp, "%d月", local->tm_mon + 1);
    fprintf(fp, "%d日 ", local->tm_mday);
    
	switch(n){
		case 1:
			printf("収入金額を入力してください:");
			scanf("%d",&in);
			fprintf(fp,"収入:%d円",in);
			break;
		case 2:
			printf("支出金額を入力してください:");
			scanf("%d",&out);
			fprintf(fp,"支出:%d円\n",&out);
	}
	printf("収入:%d円\n支出:%d円\nの記録が完了しました。",in,out);

	fclose(fp);
	return 0;
}

実行イメージ

メモする内容を教えて下さい
収入→1
支出→2
なんでもない→1・2以外
1
収入金額を入力してください:2400
収入:2400円
支出:0円
の記録が完了しました。

作成されるファイル「money.txt」の内容

11月27日 収入:2400円

ポケモンの問題を4問出す

/*
	pokemon.c
		ポケモンの問題を5問出す
*/
#include <stdio.h>
#include <string.h>
#define MAX 4

int main(void)
{
	char mondai[][18] = {"ピカチュウ","フシギダネ","ヒトカゲ","ゼニガメ"};
	char kotae[][10] = {"でんき","くさ","ほのお","みず"};
	char kaitou[256];		/*解答入力用*/
	
	int points = 0;       /*得点計算用*/
	int i;
	
	printf("次のポケモンのタイプを答えてください\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;
}

実行イメージ

次のポケモンのタイプを答えてください

問題 1: ピカチュウ ? ひかり
×
問題 2: フシギダネ ? くさ

問題 3: ヒトカゲ ? つち
×
問題 4: ゼニガメ ? ほのお
×

4問中、1問正解!

名前、身長、体重を入力させ、テキストファイルに記入する

/* 名前、身長、体重を入力させ、テキストファイルに記入する */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define KAZU 3

int main(void)
{
	int i;
	FILE *fp;
	
	/* 構造体 定義 */
	struct _human{
		int height;
		int weight;
		char name[64];
	};
	/* 構造体 宣言 */
	struct _human human[KAZU];
	
	fp = fopen("humans.txt","w");
	if(fp == NULL){
		printf("ファイルを開けません");
		exit(1);
	}
	
	for(i=0; i<KAZU; i++){
		printf("名前:");
		scanf("%s", human[i].name);
		printf("身長:");
		scanf("%d", &human[i].height);
		printf("体重:");
		scanf("%d", &human[i].weight);
	}
	for(i=0; i<KAZU; i++){
	fprintf(fp,"名前:%s\n身長:%d\n体重:%d\n\n", human[i].name, human[i].height, human[i].weight);
	}
	
	fclose(fp);
	
	return 0;
}

実行イメージ(キーボードから入力)

名前:たろう
身長:203
体重:50
名前:じろう
身長:101
体重:120
名前:はなこ
身長:170
体重:60

作成されるファイル「humans.txt」の内容

名前:たろう
身長:203
体重:50

名前:じろう
身長:101
体重:120

名前:はなこ
身長:170
体重:60

前回メモしたことを教えてくれる&追加でメモできる

/*
	memo01.c
		前回メモしたことを教えてくれる&追加でメモできる
*/

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

int main(void)
{
	FILE *fp;
	char memo[1024];
	char buffer[256];
	
	fp = fopen("memo.txt","r");
	if(fp == NULL){
		printf("ファイルが開けません\n");
		exit(1);
	}
	else{
		printf("---前回メモしたこと---\n\n");
		while(fscanf(fp,"%s\n",memo) != EOF);
		printf("%s",memo);
		printf("\n\n----------------------\n\n");
	}
	
	fclose(fp);
	
	fp = fopen("memo.txt","a");
	if(fp == NULL){
		printf("ファイルが開けません\n");
		exit(1);
	}
	
	printf("追加でなにかメモする?");
	scanf("%s",buffer);
	
	fputs(buffer,fp);
	fputc('\n',fp);
	
	fclose(fp);
	
    return 0;
}

実行イメージ

—前回メモしたこと—

線

———————-

追加でなにかメモする?お台場ガンダム

再実行イメージ

—前回メモしたこと—

お台場ガンダム

———————-

追加でなにかメモする?

うんち

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

int main(void)
{
	
	FILE *fp;
	char wa[256];
	
	printf("あ~あうんちいっぱい漏れちゃった^^^^^^\n");
	fp=fopen("kuso.docx","w");
	
	if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	
	fp=fopen("kuso.c","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	
	fp=fopen("kuso.txt","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	
	fp=fopen("kuso.pptx","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	
	fp=fopen("kuso.docx","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.xlsx","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.exe","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.obj","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.BAK","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.tds","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.pdf","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.jpg","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.JPEG","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.gif","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.png","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.mp3","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.mp4","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fp=fopen("kuso.html","w");
		if(fp==NULL){
		printf("not file\n");
		exit(1);
	}
	fclose(fp);
	
	return 0;
}

実行イメージ

あ~あうんちいっぱい漏れちゃった^^^^^^

実行後は、一件何の変哲もないようだが、以下のファイルが勝手に作業フォルダに保存されている!
20181127授業最終日制作1

コメント