回答ありがとうございます。
fgets()とatof()の後、条件分岐(もしshape == 'T'だったら、その計算をする)のプログラムが動作しません。(「無効な入力です」と出てしまう、おそらくelseの方を読み込んでしまっている)条件分岐へと持っていくにはどうすればよいのでしょうか??
C言語
1int main(void) 2{ 3 double a, b, c, perimeter, area, henkan; 4 char shape, nagasa[10]; 5 6 printf("Shape #1\n"); 7 8 fgets(nagasa, sizeof(nagasa), stdin); 9 henkan = atof(nagasa); 10 11 if (shape == 'S'){ 12 if (a <= 0) 13 { 14 printf("無効な入力です\n"); 15 return 0; 16 } 17 18 peri = a * 4; 19 area = a * a; 20 21 printf("%f %f\n", perimeter, area); 22 23 return 0; 24 } 25------------中略--------------------------------------------- 26 27 else{ 28 printf("無効な入力です\n"); 29 } 30 31 return 0; 32}
こちらは別の質問の続きでしょうか? そちらの続きとするか、閉じて下さい。
また、提示のコードでは、質問内容が確認できません。書くに可能なコードにしてください。
- shape に値が設定されていない。
- a に値をセットする箇所が無い。
このコードだけでは、どちらの変数も(初期値の)ゴミが入っているだけなので、それが原因としか言えません。
また、"中略"でも良いですが、コンパイル可能なコードでお願いします。
ご指摘ありがとうございます。
また再度新たに質問投稿しようと思います。
回答1件
あなたの回答
tips
プレビュー