YとN以外の入力が来ても先に進まないプログラムを作成する。という問題で、
#include <stdio.h>
int main(void)
{
char a;
printf("計算しますか?>");
scanf_s("%c", &a);
if (a=='Y')
{
printf("はい\n");
}
else (a=='N');
{
printf("いいえ\n");
}
までやったのですが先がわかりません。たぶん繰り返しのwhileを使えばいいと思うのですが・・・。
ちなみに、
実行すると
計算しますか?>p
計算しますか?>r
計算しますか?>Y
はい。
というようにYかNが入力されるまで質問を繰り返すとなるようにしたいのです。
上記の途中のプログラムも実行すると変になってしまうので上記の修正も兼ね、わかる方はご指導よろしくお願いします。
No.3
- 回答日時:
while文で無限ループを作っておき(条件式として常に成り立つものを書く)、入力された値が適切だった場合にbrekで抜けるというのがプログラムの書きやすさを考えるなら良いかと思います。
(ただしbreak文を多用するとソースがわかりにくくなるという弊害もあります)
それから、
else (条件式)
ではなく、
else if(条件式)
です。お間違えのないよう。
No.2
- 回答日時:
まず、scanf_s()の使い方が間違っています。
scanf_s()は最近できた関数でscanf()と使い方がよく似ていますが、
細かい点で違いがあります。注意してください。
ちなみに、普通の関数はパラメータの個数がおかしかったり、
間違ったパラメータを指定するとコンパイラが教えてくれるのですが、
printf()やscanf()などパラメータの個数が決まっていない関数に
ついては教えてくれません。
十分に注意を払って使うようにしましょう
No.1
- 回答日時:
使えばいいと思うなら使ってみればいい. その結果うまくいかないのであれば, 作ったプログラムを可能ならすべて (できなければ「問題が発生する」小さいプログラムを) 示して,
・期待した動作
・実際の動作
を書いてください.
「上記の途中のプログラムも実行すると変になってしまう」って書いてますけど, コンパイルもできないプログラムでは意味がないし, 期待した動作や実際の動作も分からないので「変」かどうかも判断できません. ついでに言えば「どのコンパイラを使っているのか」も書いてほしいな.
なお, この場合に関して言えば while 使ってもいいけど do~while の方がきれいになるでしょう.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
for文の中にswitch文はいれられ...
-
#if 1 #elseの意味について
-
構文エラー";"が型の前にあり...
-
プログラム
-
xのy乗を求める問題で…(ただし...
-
プログラミングで二番目に大き...
-
直角三角形を表示するプログラム
-
1年単利金利 0.2% の A銀行と...
-
if文の中に
-
データ管理プログラムを作って...
-
c言語で平均をだす
-
C言語についてですfor ifをつか...
-
分散を求めるプログラム
-
素因数分解のプログラムを作成...
-
C言語 重複しない4ケタの乱数...
-
配列を使って魔方陣
-
C言語基本 2次元配列(for文...
-
乱数を用いたプログラミング
-
for文のプログラミング 私は、...
-
C言語の二分法のプログラムにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
C言語階乗の総和を求める
-
配列を使って魔方陣
-
C言語 数字以外を入力させない...
-
C言語プログラムが理解できなくて…
-
配列を関数に渡す方法
-
初心者です。for文、if文を使っ...
-
scanf関数を用いての加減乗除%...
-
c言語プログラミングで1から100...
-
getcの改行判定
-
while文について、c言語...
-
プログラミングで二番目に大き...
-
VHDLで、case文とwhen文のどち...
-
C言語で電卓を作成する。
-
C言語の二分法のプログラムにつ...
-
階乗のプログラム!!
-
プログラミングに関して
-
C言語についてですfor ifをつか...
おすすめ情報