夏休みプチプログラミングコンテスト2018への投稿です。三つ目!
一つ目:投稿!夏休みプチプログラミングコンテスト2018
二つ目:投稿二つ目!夏休みプチプログラミングコンテスト2018
クエリちゃん x プロ生ちゃん 夏休み #プチプログラミング コンテスト2018開催!(8/31〆切) https://t.co/9JVhsAaYoh pic.twitter.com/dxMOZNiv19
— プロ生ちゃん(暮井 慧)@コラボ募集中 (@pronama) July 23, 2018
プロ生ちゃんとのコラボ企画!#プチプログラミングコンテスト2018 開催デス(*Q∀Q)!
夏休み、クエリとプロ生ちゃんと一緒に楽しみまショウ(๑Q´ㅂQ´)و✧
詳細はコチラ!https://t.co/rjpf4NK96C#クエリちゃん #プロ生ちゃん #プログラミング #夏休み #コンテスト pic.twitter.com/xLKU6gWTXD— クエリちゃん (@Query_chan) July 23, 2018
今回のプログラムは、「2018夏休み 宿題を終わらせるぞ!プログラム!」
エンターキーを押すと、どんどん宿題が終わっていく、かもしれません。
実行後、エンターキーを押すと、どんどん宿題が終わっていきます!!!
前回のプログラムに追加した感じの内容ですね。
ソースはここに載せておきます。改変して利用などもご自由にどうぞ!
右クリックからダウンロード
https://cocoamix.jp/puttti2018/syukudai.c
macではそのまま、
cc syukudai.c
./a.out
で動作すると思います。
処理は無限ループなので、ctrl+cキーで終了を。
無限ループをなくした、トゥルーエンドを追加したものも作りました。これで一安心です。。
右クリックからダウンロード
https://cocoamix.jp/puttti2018/syukudai2.c
以下は、無限ループ版の中身のほぼほぼ全般
// defines char *title = "⭐️ 2018夏休み 宿題終わらせちゃうぞー! ⭐\n-- Enterキーでさくさく終わらせよう! --\n"; char *msgEnter = "- Enterキーで次へ -\n"; char *serifuFormat = "%s%s%s\n"; char *serifuBoku_head = "ぼく「"; char *serifuP_head = "プロ生ちゃん「"; char *serifuQ_head = "クエリちゃん「"; char *serifu_tail = "」"; char *serifuMain[] = { "計算ドリルを終わらせた!!!", "自由研究をささっとやり終えた!!!", "漢字の書き取り全ページ終了!!!", "読書感想文、原稿用紙3枚書いた!!!", "英単語のプリント終わった!!!", "社会の作文、書き終えた!", }; char *msgSintyoku = "--- 進捗 %02d %% ---"; char *msgEnd[] = { ".............", "目が覚めると、そこはベッドの上だった。", "今日は8月31日、夏休み最終日だ。。。", "宿題全然終わってない!\n", }; char *serifuP[] = { "👍", "👍👍👍", "すごい!", }; char *serifuQ[] = { "すごいデス!", "えらいデス(*Q∀Q)♪", "応援してマスヨ(*Q∀Q)♡", }; int countP = sizeof(serifuP)/sizeof(serifuP[0]); int countQ = sizeof(serifuQ)/sizeof(serifuQ[0]); int countSerifu = sizeof(serifuMain)/sizeof(serifuMain[0]); int countMsgEnd = sizeof(msgEnd)/sizeof(msgEnd[0]); ////////////////////////////////////////////////////// // globalな変数 int sintyoku =0; //////// int syukudaiYaruzo(); void printPraise(); int showStudy(); // // メイン int main(void){ while(1){ sintyoku = 0; // タイトル表示 printf("%s",title); syukudaiYaruzo(); } return 0; } // // セリフ表示 void printPraise(int target){ srand((unsigned int) time(NULL)); if(target == 0){ printf(serifuFormat, serifuP_head, serifuP[rand()%countP] ,serifu_tail); }else{ printf(serifuFormat, serifuQ_head, serifuQ[rand()%countQ] ,serifu_tail); } } // // 進捗 int showStudy(){ int blDone = 0; printf(serifuFormat, serifuBoku_head, serifuMain[sintyoku] ,serifu_tail); sintyoku++; if(sintyoku >= countSerifu){ blDone = 1; } return blDone; } // // 宿題やるぞ! int syukudaiYaruzo(){ int n = 0; for(;(n = getchar()) != '\n';){ //Enterまで空読み } int blDone = 0; // 宿題終わらせる! blDone = showStudy(); // プロ生ちゃん or クエリちゃん srand((unsigned int) time(NULL)); int target = (rand()%100 < 50)?0:1; // 褒める! printPraise(target); // 進捗率 表示 printf(msgSintyoku, 100* sintyoku/countSerifu); // Enterで次へ printf("%s",msgEnter); if(blDone != 1){ // 次の宿題へ syukudaiYaruzo(); }else{ // msg dream for(int i=0;i < countMsgEnd;i++){ if((n = getchar()) == '\n'){ printf("%s",msgEnd[i]); } } printf("%s",msgEnter); if((n = getchar()) == '\n'){ // end } } // goto next dream .... return 0; }
3つ目作りました!
「2018夏休み 宿題を終わらせるぞ!プログラム!」https://t.co/LStyG49ITp#プチプログラミング @Query_chan @pronama pic.twitter.com/DSMhZLfJtz— うにちゃん+✩♪ (@cocoamixjp) August 29, 2018