お正月前にならったばかりのC言語を用いて
おみくじプログラムを作りました。
最近それをまた改良して
強制的にくじを引かせるものにしようと考えました。
しかしどうしてもwhileのループから抜け出せないので
ここで質問させていただきます。
どうか間違っている部分を教えてください。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 7
int main(){
int k,y,n;
printf("ようこそ。\n");
printf("ここではおみくじを販売して折ります。\n");
printf("よろしければ運試しをしていって下さい。\n\n");
printf("おみくじを引きますか?\n");
printf("※引く場合はy,引かない場合はnを入力してください\n");
scanf("%s,&k");
if(k!=y){
while(k=y){
printf("そんなこと言わずに引いてみてくださいよ。\n\n");
printf("おみくじを引きますか?\n");
printf("※引く場合はy,引かない場合はnを入力してください\n");
scanf("%s,&k");
}
}
char *kuji[N] = {"大吉", "中吉", "小吉","末吉", "吉", "凶","大凶"};
srand((unsigned)time(NULL));
printf("おみくじ: %s\n\n\n", kuji[rand() % N]);
printf("結果はどうでしたか?\n");
printf("またのお越しをお待ちしております。\n");
return 0;
}
No.3ベストアンサー
- 回答日時:
>scanf("%s,&k");
>scanf("%s,&k");
あと、これではコンパイルが通らないですね。
scanf()の書き方を確認してください。
整数型の変数に値を入れる際の書式文字列が%sで
本当にいいかどうかの確認もお願いします。
>char *kuji[N] = {"大吉", "中吉", "小吉","末吉", "吉", "凶","大凶"};
C言語の場合、実行文の途中で変数を定義することはできないはずです。
main関数の先頭部に持っていきましょう。
さらに、
>int k,y,n;
>if(k!=y){
変数kにはscanfで値を入れたとして、変数yには何が入っているのでしょうか。
kと、何が入っているかわからないyとを比較することには、大いに疑問があります。
それから、変数nは定義しただけで使っている形跡がありませんね。
そういう変数はじゃまなだけですから、捨ててしまいましょう。
No.2
- 回答日時:
#include <stdio.h>
int main() {
char k;
scanf("%c", &k);
while (k != 'y') {
scanf("%c", &k);
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10個出力で改行したいのですが...
-
strcmp
-
CTRL+Dでループを抜けるには
-
4の倍数を論理演算で表す。。
-
【C言語教えてください】sin波...
-
scanfに文字が入力されたときに...
-
ガウスの消去法、後退代入について
-
C言語プログラミング
-
defineで定数が置き換えられな...
-
printf で二進表示を行いたい。
-
c言語でAからZまでを表示する...
-
分数を表示するプログラム(長...
-
switch分のケースを範囲数?に...
-
カレンダーのプログラムについて
-
C言語初心者です。次の問題で質...
-
C言語です
-
じゃんけんゲームの応用
-
BMI値から体型を判定するプログ...
-
(C言語)めちゃくちゃな値にな...
-
なぜgccはstdio.hをインクルー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語について
-
printf で二進表示を行いたい。
-
cshの文字列操作(0埋め)
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
テキストカーソル位置の取得
-
strcmp
-
unsigned int型について
-
c言語でAからZまでを表示する...
-
printf( " %2d", p * q );
-
コマンドラインに出力した文字...
-
printfの出力内の文字をdefine...
-
ホームページをC言語で作りたい...
-
コマンドプロンプトがすぐ消える
-
小数点切捨て表示
-
【C言語教えてください】sin波...
-
switch分のケースを範囲数?に...
-
二つの整数値の大小比較
-
4の倍数を論理演算で表す。。
-
defineで定数が置き換えられな...
おすすめ情報