緊急!! 質問があります

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
もも

緊急!! 質問があります

#1

投稿記事 by もも » 12年前

c++言語のプログラミングで困っています。
A,Bを入力したらCを出力し
D,Eを入力したらFを出力する
といった具合に入力した文字に対応する出力をする
プログラムを作りたいのですがうまくデバッグができません。
どのようにプログラムを書けばよいのでしょうか。

box
記事: 2002
登録日時: 13年前

Re: 緊急!! 質問があります

#2

投稿記事 by box » 12年前

もも さんが書きました: プログラムを作りたいのですがうまくデバッグができません。
どのようにプログラムを書けばよいのでしょうか。
状況がよくわからないので教えてください。

デバッグができない、ということは、コードを書いてコンパイルした結果、
実行ファイルは正しくできたけれど、思ったとおりに動いてくれない状態である。
この状態から、コードに潜んでいるバグ(問題点)をどのように取り除けばいいかがわからない、
ということでいいのでしょうか。

それとも、「デバッグ」という単語の意味を取り違えられているのでしょうか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

nil
記事: 428
登録日時: 12年前

Re: 緊急!! 質問があります

#3

投稿記事 by nil » 12年前

丸投げは禁止です
フォーラムルールを御覧ください。

また、プログラムの仕様が曖昧です。もっと詳しくお願いします。

あと、boxさんのおっしゃった通りデバッグとはバグを取り除くことです。コードを書くこととは異なります。

もも

Re: 緊急!! 質問があります

#4

投稿記事 by もも » 12年前

>>boxさん

子供二人の血液型を入力し
両親の血液型の候補を出力するという
プログラムを作りたいのです。

if文を使ってプログラムを書いて
ビルドは成功したのですが
デバッグをすると
子供二人分の血液型の入力はできるが
両親の血液型の候補の表示がされないという状況です。

わかりづらくてすみません。

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: 緊急!! 質問があります

#5

投稿記事 by beatle » 12年前

緊急と言われても、フォーラムルールを読んでいない(ように見える)質問には答えられないというのが皆さんの心だと思います。
少なくともソースコードを見せていただけないことには回答しようにも難しいです。
僕らはエスパーではありませんから。

それから緊急なら緊急で、いつまでが期限だとか、なんで緊急なのかとか書いたほうがいいでしょう。

もも

Re: 緊急!! 質問があります

#6

投稿記事 by もも » 12年前

>>涼雅さん

プログラムの仕様というのは
上に書いたようなことで大丈夫なのでしょうか?

質問するのが初めてで
どのように書けばよいかいまいち分かりませんでした。
すみません。

もも

Re: 緊急!! 質問があります

#7

投稿記事 by もも » 12年前

>>beatleさん

これは学校の課題で
できれば明日中に完成させたかったので
緊急で質問しました。

作ったプログラムは以下のような感じです。
void main(){

string A,B,O,AB;
string x,y; //こどもの血液型
//2人の子供の血液型を入力する
cout<<"2人の子供の血液型を入力してください"<<endl;
cout<<"子供1:";
cin>>x;
cout<<"子供2:";
cin>>y;

//親2名の血液型を判定する
if ((x==A && y==B) || (x==B && y==A)){
cout<<"親2名の血液型の候補は"<<endl;
cout<<"(O*AB)(A*B)(AB*B)(AB*AB)"<<endl;
}

if (x==A && y==A){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(O*A)(O*AB)(A*B)(AB*A)(AB*B)(AB*AB)"<<endl;
}

if ((x==A && y==O)||(x==O && y==A)){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(O*A)(A*B)"<<endl;
}

if((x==A && y==AB) || (x==AB && y==A)){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(A*B)(AB*A)(AB*B)(AB*AB)"<<endl;
}

if (x==B && y==B){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(O*B)(O*A)(B*B)(A*B)(AB*A)(AB*B)(AB*AB)"<<endl;
}

if ((x==B && y==AB)||(x==AB && y==B)){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(A*B)(AB*A)(AB*B)(AB*AB)"<<endl;
}

if ((x==B && y==O) || (x==O && y==B)){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(O*B)(O*A)(O*B)(A*A)(B*B)(A*B)"<<endl;
}

if (x==O && y==O){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(O*O)(O*A)(O*B)(A*A)(B*B)(A*B)"<<endl;
}


if((x==AB && y==O) || (x==O && y==AB)){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(A*B)"<<endl;
}

if (x==AB && y==AB){
cout <<"親2名の血液型の候補は"<<endl;
cout <<"(A*B)(AB*A)(AB*B)(AB*AB)"<<endl;
}
}

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: 緊急!! 質問があります

#8

投稿記事 by h2so5 » 12年前

string A,B,O,AB; をそれぞれ "A", "B", "O", "AB" で初期化する必要があります。

もも

Re: 緊急!! 質問があります

#9

投稿記事 by もも » 12年前

>>h2so5 さん

ありがとうございます。

""をA,B,O,ABにつけてみましたが
識別子が必要というメッセージがでました。
教科書を見ながらやってみたのですが
わかりません。

どうすればよいのでしょうか?

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: 緊急!! 質問があります

#10

投稿記事 by h2so5 » 12年前

何か勘違いされているようですが、変数名と実際に変数に入ってる文字列は別のものです。
変数名がAだからといって、その変数の指している文字列が自動的に"A"を表しているわけではありません。

コード:

string A("A"), B("B"), O("O"), AB("AB");
または

コード:

string A = "A", B = "B", O = "O", AB = "AB";
のように初期化することができます。

もも

Re: 緊急!! 質問があります

#11

投稿記事 by もも » 12年前

>>h2so5 さん

初期化がよくわかってませんでした。
h2so5さんが教えてくださったように初期化してみたら
プログラムが動きました。
本当にありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る