こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

''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;
}


これ合ってますか?あとプログラミング環境すらないので実行結果教えてもらっていいですか?

投稿日時 - 2009-07-13 21:15:25

QNo.5123015

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(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";
   のような記述にした方が良いかと思います。

以上です。参考になれば幸いです。

投稿日時 - 2009-07-14 04:27:00

ANo.2

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

投稿日時 - 2009-07-14 00:17:56

補足

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

投稿日時 - 2009-07-14 00:50:23

ANo.1

>これ合ってますか?あとプログラミング環境すらないので実行結果教えてもらっていいですか?

3つとも違っています。

coutなどの前に付いている __ は、何の記号ですか?
仮に、空白かタブのかわりであるとしても、コンパイル時に下記のエラーが出ます。そのため、実行できません。

(1)
>変数aの値がbより小さい場合には
変数bを定義していません。また、変数aの値が不定です。

(2)
>文字変数mの中身が'a'ならば
変数mを定義していません。

(3)
>変数aが、変数bより小さい場合には
変数bを定義していません。また、変数aの値が不定です。


ところで、プログラミング環境がなくて、どうやって学習する予定なのでしょうか?

投稿日時 - 2009-07-13 21:52:29

補足

学校のやつでコンパイルするしかないんですよね。

____はタブ的な役割ですね。もちろんコンパイル時には消しますが

#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;
}

直したのですがいかがでしょうか?

投稿日時 - 2009-07-13 22:48:42