検索結果 12 件

by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

box さんが書きました:
へにっくす さんが書きました:

コード:

		fflush(stdio); // この関数を呼び出し、数字以外の入力をクリアする
fflush() は、出力ストリームに関する関数のはずですので、
標準入力を fflush() するのは、ひじょうにまずいと思います。
標準出力を fflush() するのは、まだ意味があると思います。
まだ意味があるとはどういう事ですか?
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

c言語ちゃれんじゃーさん(=oliviaさん?)がisdigit使って書いたコードは、意味がありませんね。 scanfは入力した変数の数を返すのであって、その戻り値をisdigitに渡しても意味がありません。 だってisdigitは文字が数字かどうかを判定するのですから。 それならよっぽどこう書いた方がよいです。 while(count <= 20) { success = scanf("%d", &exp); if ( success != 1 ) { printf("数字以外はだめです"); count++; fflush(stdio); // この関数を呼び出し、数字以外の入力をクリア...
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

non さんが書きました:標準入力(キーボード)から入力された文字は、どこの変数に入るのかと尋ねました。
exp(答えの予想となる)です。
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

non さんが書きました:

コード:

success = scanf("%d",&exp); //入力された文字をsuccessと置く
入力された変数はどこに格納されますか?
格納とはどういうことなのかそこらへんはあまり理解できてないです><
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

box さんが書きました:では、あらためておたずねします。
くだんの3行では、変数 success を使って何をしようとされているのでしょうか。

scanf() や isdigit() の仕様、if文の正しい書き方などを再確認の上、
ご説明いただけるとありがたいです。
その三行では、
入力された文字がすうじでないばあいsuccessの値を0にし数字の場合はそれ以外の値にする
0だった場合実行分の中身(入力からやり直し)という風にしたいんです。
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

box さんが書きました:私が上の方で提示したコードでは、標準入力から入力した内容(数字が来ているかその他の文字が来ているかは不明)を
いったん文字列として受け取り、isNum関数を用いて、その文字列の1桁ごとに、
isdigit を使って'0'~'9'の数字であるかどうかを判断しています。
このあたりは理解できているでしょうか。
そのへんは理解しました
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

変数 success には、どういう値が入ることを想定されていますか? それから、先ほど抜粋した3行のうち、2行目の isdigit の行の意味が全く不明です。 何回もお手数をおかけいたしますが、その3行で何をしようとしているか、 1行ずつ説明していただけないでしょうか。 1行目:○○をしようとしている 2行目:□□をしようとしている 3行目:△△をしようとしている のように書いてくださるとありがたいです。 success = scanf("%d",&exp); //入力された文字をsuccessと置く isdigit(success) !=0;//数字でない場合0を返す if(succes...
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

その三行では、入力された文字が数字かどうかを判定し、数字でない場合はifの中身を実行します。

そしてその中身は文字は打てませんと表示して、scanfからやり直すようにしたかったのです
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

#include <stdio.h> #include <stdlib.h> #include <time.h> #include <ctype.h> int main(void) { int ans,exp,success,count = 1; srand((unsigned int)time(NULL)); ans = rand()%5000+1; //printf("%d\n",ans);//テスト用 printf("1~5000までの数字をあてる数当てゲームです。\n"); printf("1~5000までの"); while(count <= 20) { printf("数字を入力...
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

回答ありがとうございます! 実際にisdigitつかって書いてみました! #include <stdio.h> #include <stdlib.h> #include <time.h> #include <ctype.h> int main(void) { int ans,exp,success,count = 1; srand((unsigned int)time(NULL)); ans = rand()%5000+1; //printf("%d\n",ans);//テスト用 while(count <= 20) { printf("数字を入力してください:"); success = sc...
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます
返信数: 34
閲覧数: 15245

Re: 数当てゲームをつくってます

実行すると基本的な動作はうまくいくようになりました。
アドバイスをくれた方々ありがとうございます!
僕が今導入したいのが、入力された文字が数字であるかどうかを判定する
ことを導入したいのですが、調べたのですがいまいちわかりません。
何がわからないかというと、
1 どの関数を使えばいいかわからない(getcharとかいろいろ)
2 それぞれのどれが適しているか、またその関数の使用方法

おしえてくださいお願いします><
by olivia
13年前
フォーラム: C言語何でも質問掲示板
トピック: 数当てゲームをつくってます No2
返信数: 2
閲覧数: 1307

数当てゲームをつくってます No2

#include <stdio.h> #include <stdlib.h> #include <time.h> #include <ctype.h> int main(void) { int ans,exp,a,count = 1; srand((unsigned int)time(NULL)); ans = rand()%5000+1; //printf("%d\n",ans);//テスト用 while(count <= 20) { printf("数字を入力してください:"); scanf("%d",&exp); if(exp <= 0) { printf("1~5000の間の数字を入...

詳細検索ページへ移動する