現在時刻を保存するプログラム
/* 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
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円
の記録が完了しました。
収入→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
身長:203
体重:50
名前:じろう
身長:101
体重:120
名前:はなこ
身長:170
体重:60
作成されるファイル「humans.txt」の内容
名前:たろう
身長:203
体重:50
身長: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; }
実行イメージ
あ~あうんちいっぱい漏れちゃった^^^^^^
実行後は、一件何の変哲もないようだが、以下のファイルが勝手に作業フォルダに保存されている!
コメント