• 締切済み

''C++の条件分岐分からないんですが

#include<iostream> using namespace std; int main(){ int a; cout << "数値を入力してください\n"; cin >> a; if( a > 30) cout <<"31以上ですね\n"; } else if(a<10){ cout <<"10未満ですね\n"; } else { cout <<"30以下で10以上ですね\n"; } return 0; } これが例文なんですが、 変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる 文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。 変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する #include<iostream> using namespace std; int main(){ int a; if(a < b) { __cout("aはbより小さいです\n"); } else { __c = a + b; }return 0; } #include<iostream> using namespace std; int main(){ int a; if(m == 'a') __cout("aが格納されています\n"); } else { __cout("\'a\'でない文字が格納されています\n"); } return 0; } #include<iostream> using namespace std; int main(){ int a; if(a < b) { __cout("aはbより小さいです\n"); } else if(a == b) { __cout("aとbは等しいです\n"); } else { __cout("aはbより大きいです\n"); } return 0; } これ合ってますか?あとプログラミング環境すらないので実行結果教えてもらっていいですか?

noname#127615
noname#127615

みんなの回答

noname#144013
noname#144013
回答No.3

こんにちは。 以下、長文につきすみません。m(__)m > printなんて習ってないし、・・・・・・・・・・・ C言語の printf とC++言語の std::cout をゴッチャに理解されているように見受けられますが、 この2つは機能的には同様な部分はありますが、その使い方はそれぞれ違います。   ◎C言語 printf の使用例     #include <stdio.h>       :       :     printf("aはbより小さいです\n");   ◎C++ std::cout の使用例     #include <iostream>     using namesapce std;       :       :     cout << "aはbより小さいです\n";        または、     cout << "aはbより小さいです" << endl; 質問者さんが学習されているのは、C言語ですか? それともC++言語ですか? それとも 両方ですか? どの言語を学習するにせよ、まず、1冊でも良いのでちゃんとした専門書なり解説書なりを 手元にご用意されることをお勧め致します。 ※既に所持されているのならば、あらためて読み直してみて下さい。 WEB上の解説サイトなどでも学習はできますが、部分的な情報しか得られない場合が多い と思われ、どうしても一時凌ぎの感は否めません。また身につき辛いと思われます。 専門書or解説書は、始めから最後まで全部読まなくても構いませんし、全部憶えようとしなく ても構いません。   「どのあたりにどういった内容が書かれているか」 を大体把握できていれば大丈夫だと思います。 要は、必要なときにどこを見れば良いかが解っていて、すぐにそのページなりを開ける環境が 整えられていれば良いかと思います。 また、できれば、お持ちのパソコンでプログラムの開発環境を構築された方が良いと思います。 そして、今回のようなプログラムをすぐに実験できる環境を整えられることをお勧め致します。 ※WEB上でも、開発環境は入手可能です。(フリーなものも多種あります。) そして、いろいろなプログラムのコンパイル&ビルド&デバッグなどの作業を、実際に繰り返し 行ってみて下さい。 プログラミングにおいて、上記のような作業を繰り返していれば自然と知識&技術は身につい てくると思います。 > 直したのですがいかがでしょうか? ◎1つめのプログラムについて  1)変数aと変数bに何も値が格納されていません。    変数に直接、値を代入するか、コンソールから値を入力するか、ファイルから読み込む    なりの何らかの処理が必要です。  2)c = a + b; の変数cが宣言されていません。    または、最初に提示された仕様の処理であるならば、      a = a + b;    の記述の間違いかと思われます。  3)coutの使い方が間違っています。      cout << "aはbより小さいです\n";    のような記述にした方が良いかと思います。 ◎2つめのプログラムについて  1)変数mに文字が格納されていません。    変数に直接、文字を代入するか、コンソールから文字を入力するか、ファイルから読み    込むなりの何らかの処理が必要です。  2)最初に提示された仕様の処理であるならば、以下の処理(~~の部分)が抜けている    と思われます。    > 'a'でないならば『'a'でない文字が格納されています』と表示させたあと、    > 変数bとcを使った『b=b+c』を計算する。     ~~~~~~~~~~~~~~~~  3)coutの使い方が間違っています。      cout << "aが格納されています\n";    のような記述にした方が良いかと思います。 ◎3つめのプログラムについて  1)変数aと変数bに何も値が格納されていません。    変数に直接、値を代入するか、コンソールから値を入力するか、ファイルから読み込む    なりの何らかの処理が必要です。  2)coutの使い方が間違っています。      cout << "aはbより小さいです\n";    のような記述にした方が良いかと思います。 以上です。参考になれば幸いです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

いったいどのように学習しているのでしょうか? cout("aはbより小さいです\n"); なんて書き方をしている文献がこの世界に存在するとは思えないんだけどなぁ....

noname#127615
質問者

補足

printなんて習ってないし、じゃあもう分かりません。本当に教えてください。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

>これ合ってますか?あとプログラミング環境すらないので実行結果教えてもらっていいですか? 3つとも違っています。 coutなどの前に付いている __ は、何の記号ですか? 仮に、空白かタブのかわりであるとしても、コンパイル時に下記のエラーが出ます。そのため、実行できません。 (1) >変数aの値がbより小さい場合には 変数bを定義していません。また、変数aの値が不定です。 (2) >文字変数mの中身が'a'ならば 変数mを定義していません。 (3) >変数aが、変数bより小さい場合には 変数bを定義していません。また、変数aの値が不定です。 ところで、プログラミング環境がなくて、どうやって学習する予定なのでしょうか?

noname#127615
質問者

補足

学校のやつでコンパイルするしかないんですよね。 ____はタブ的な役割ですね。もちろんコンパイル時には消しますが #include<iostream> using namespace std; int main(){ int a,b; if(a < b) { __cout("aはbより小さいです\n"); } else { __c = a + b; }return 0; } #include<iostream> using namespace std; int main(){ int a,m; if(m == 'a') __cout("aが格納されています\n"); } else { __cout("\'a\'でない文字が格納されています\n"); } return 0; } #include<iostream> using namespace std; int main(){ int a,b; if(a < b) { __cout("aはbより小さいです\n"); } else if(a == b) { __cout("aとbは等しいです\n"); } else { __cout("aはbより大きいです\n"); } return 0; } 直したのですがいかがでしょうか?

関連するQ&A

  • 文字列の一致を確認する条件分岐でエラーなります。

    どこが間違ってるのでしょうか? #include <iostream> using namespace std; int main(void) { int buffA = 1; int buffB = 10; if(buffA == buffB) { // 一致なら"true"を出力 cout << "true" << "\n"; } else { // 不一致なら"false"を出力 cout << "false" << "\n"; } return 0; } エラー内容----------------------------------- エラー: プログラム内に逸脱した '\201' があります エラー: プログラム内に逸脱した '@' があります

  • C++の二次方程式のプログラム

    二次方程式の解を求めるプログラムで虚数解の場合、a=0の場合、実数解の場合で求めるようにしているんですが、 #include <iostream> #include <cmath> using namespace std; int main() { double a,b,c; cin >> a >> b >> c; if(a==0) { cout << (-c/b) << '\n'; } else if((b*b-4*a*c)<0) { cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n'; } else { 次にcout が来るのは分かってるんですが、数学でこういう書き方しなし、ここから先の書き方が分からないんですが、どうやって書けばいいですか? 多分return 0; } のぞいてあと2行か1行だと思うんですが

  • C++の二次方程式のプログラム

    #include <iostream> #include <cmath> using namespace std; int main() { double a,b,c; cin >> a >> b >> c; if(a==0) { cout << (-c/b) << '\n'; } else if((b*b-4*a*c)<0) { cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n'; } else { cout << (-b/2/a) << sqrt(4*a*c+b*b)/2/a << '\n'; } return 0; } 最後のelseの下のcoutが本当に分からないんで教えてくださいお願いします。一応この条件(a=0の時、aが0以上の時、aが0以下の時)で出題されてるんですが…

  • int型変数の簡潔なプログラム

    #include<iostream> using namespace std; int main(void){ int max = a; int min = a; if(a > b){ min = b; }else{ max = b; } cout << "小さい方の値は" << min << "です。\n"; cout << "大きい方の値は" << max << "です。\n"; } これの、    int max = a; int min = a; と     if(a > b){ min = b; }else{ max = b; } が解りません。 何故変数をaからbにチェンジしているのでしょうか 初心者なのでお手柔らかにお願いします。 よろしくお願いします。

  • 改行文字について

    #include<iostream> using namespace std; int main(void) { char c; while (cin.get(c)) if (c == '\n') cout << "[RET]\n"; else cout << c; return(0); } これのif (c == '\n')の改行文字と等しいとは何のことを指すのでしょうか? よろしくお願いします。

  • 他のファイルからの数値代入

    かなり初歩的なこととは思いますが、取り組み始めたばかりで悪戦苦闘しています。 大学からの課題なのですが、 (1) 数値の入力と演算、表示を行うプログラムを組む (2) (1)とは別のファイルに(1)の結果を使って(自動的に読み込む)   更に演算し結果をを表示するプログラムを組む それぞれの入力と演算に関しては… (1) #include <iostream> using namespace std; int main() { int a; cout << "数値入力:" ; cin >> a; a = a * 2; cout << "結果 = " << a << '\n'; return 0; } (2) #include <iostream> using namespace std; int main() { int b; b = a; cout << "結果 = " << b << '\n'; return 0; } このような感じをイメージしているのですが… (2)のファイルでaが定義されていないことになり上手く出来ません。 他のファイルでの演算結果を引用するには、どのようにすればいいのでしょうか? 使用しているのはVC++ 2005です。宜しくお願いします。

  • c++のプログラミングについてです。

    このc++のプログラムの結果を予測したいのですが、考え方がわかりません。 教えてください。 #include <iostream> using namespace std; int main(void){ int a = 123, b; int *p; p = &a; b = *p; cout << "a = " << a << ",b = " << b << ", *p = " << *p << "¥n"; a = 200; b = 300; cout << "a = " << a << ",b = " << b << ", *p = " << *p << "¥n"; p = &b; cout << "a = " << a << ",b = " << b << ", *p = " << *p << "¥n"; return 0; } 結果は a = 123,b = 123, *p = 123 a = 200,b = 300, *p = 200 a = 200,b = 300, *p = 300 になるようです。 .

  • 関数呼び出しについて

    今cygwin 上でC++の勉強をしているのですが 以下の2つのプログラムの違いがよくわかりません どなたかよろしくお願いします <プログラム1> #include<iostream> using namespace std; int a(); int main(){ cout << abs();  return 0;} int a(){ cout << "test\n";  return 1;} <プログラム2> #include<iostream> using namespace std; int a(int i); int main(){ cout << a(1);  return 0;} int a(int i){ cout << "test\n";  return i;} プログラム1では関数a()内の"test"が出力されるのですが プログラム2ではa(int i)内の"test"は出力されません。 この違いはどこにあるのでしょうか? 同じプログラムでint a() と int a(int i)を double a() と double a(double d)にすると この違いは生じません。なぜaの戻り値をint に設定したときだけ この違いが生じるのでしょうか?

  • c++での入出力がうまくいきません;

    初心者ですが独習c++でプログラミングについて勉強している者です。 なんとか環境設定もできたと思いきや、うまくコンパイルすることができなくて困っています。具体的には、 #include <iostream> using namespace std; int main() { int i, j; double d; i = 10; j = 20; d = 99.101; cout << "値を表示: "; cout << i << ' ' << j << ' ' << d; return 0; } という値を表示するプログラムではコンパイルもうまくいったのですが、次の #include <iostream> using namespace std; int main() { int i; cout << "値を入力: "; cout >> i; cout << "入力した値: " << i << "\n"; return 0; } という入力のプログラムをコンパイルしようとすると、コマンドプロンプトに演算子が使われたクラス ostream では int型の定義が存在しないとなりコンパイルエラーとなってしまいます。 理由が考えてもわからないので、質問してみました。 どのようにすれば、このエラーを解消できるのか知りたいので、どうかご意見をよろしくお願いします。

  • 二次方程式のプログラム

    C++で二次方程式の解を求めるんですが、虚数解の場合、a=0の場合、実数解の場合で求めるようにしているんですが、 #include <iostream> #include <cmath> using namespace std; int main() { double a,b,c; cin >> a >> b >> c; if(a==0) { cout << (-c/b) << '\n'; } else if((b*b-4*a*c)<0) { cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n'; } else { この先の最後の一文教えてください。抜けてて書いてないんです。

専門家に質問してみよう