夏休みプチプログラミングコンテスト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
