【至急!】C++について
次のプログラムを実行したときに、ユーザーから入力させた「お客さん(Custooor)」の「名前(name)」が、途中で消えてしまいます。
(練習用なのでcharなどを使っていますがご了承を。)
どうしたいいですか?
#include <stdio.h>
#include <cstring>
#include <cstdlib>
#include <ctime>
/*_________________________ Customer _____________________________*/
class Customer {
char name[200];
int gankodo;
public:
Customer(void){}
void Whats_Your_Name(void) {
printf("あなたの名前を入力:");
scanf("%s",name);
}
void How_Your_Gankodo(void) {
printf("あなたの頑固度(0~100)を入力:");
scanf("%d",&gankodo);
if (!(gankodo >= 0 && gankodo <= 100)) {
printf("値が間違っているようです。\n");
How_Your_Gankodo();
}
for(char c;(int)c!=10 && c!=EOF;c=getchar());//getchar();
///////////////////////////////
/*Customer instan1;
instan1.Whats_Your_Name();
instan1.How_Your_Gankodo();
instan1.Kakunin(); *//*┐
printf("\n確認しました。\n");
printf("名前:%s\n", instan1.Whats_Your_Name());
printf("頑固度:%d\n", instan1.How_Your_Gankodo());*/
}
void Kakunin(void) {
printf("\n確認しました。\n");
printf("名前:%s\n", name);
printf("頑固度:%d\n", gankodo);
printf("[Enter]\n");
}
void Serif(void) {
printf("\nむかしむかしある所に、%sが家から飛び出してきました。\n", name);}
void Serif2(void) {
printf("%s:「頼む一生のお願いだ・・・!\"エアコンの風を自由に操るシステム\"を作ってくれ!」\n", name);}
void Serif3(void) {
printf("%s:「そんなことはどうでもいいっ!」\n", name);}
void Serif4(void) {
printf("%s:「いま言ったぞ!聞いていなかったのかっ?!」\n", name);}
void Serif5(void) {
printf("%s:「・・・」\n", name);}
char *output_customer_name(void) {
return name;}
int output_customer_gankodo(void) {
return gankodo;}
};
/*_______________________ Sales_staff ___________________________*/
class Sales_staff {
char name[200];
public:
Sales_staff(void){
strcpy(name, "見波さん");}
void Serif(void) {
printf("営業者:「はじめまして。私は%sです。」\n",name);}
void Serif2(void) {
printf("営業者:「何かご注文ですか?」\n");}
void Serif3(void) {
printf("営業者:「はっはっはっはっはっは」\n");
for(char c;(int)c!=10 && c!=EOF;c=getchar());
printf(" 「ご冗談を。」\n");}
};
/*_________________________ House ___________________________*/
class House {
char name[200];
public:
House(void){
strcpy(name, "家");}
void story(void) {
printf("■ここは\"%s\"です\n",name);
Customer okyaku;
okyaku.Whats_Your_Name();
okyaku.How_Your_Gankodo();
okyaku.Kakunin();
getchar();
okyaku.Serif();
getchar();
printf("会社につくなり汗だくになりながらこう叫びました。\n");
getchar();
okyaku.Serif2();
//for(char c;(int)c!=10 && c!=EOF;c=getchar());
getchar();
printf("どうやらエアコンの設置場所が悪く、涼しい風が全くこない様子でした。\n");
}
};
/*___________________ SystemConsultant_Com ___________________*/
class SystemConsultant_Com {
char name[200];
public:
SystemConsultant_Com(void){
strcpy(name, "システムコンサルティング会社");}
void story(void) {
getchar();
printf("■ここは\"%s\"です\n",name);
Sales_staff eigyoman;
Customer okyaku;
getchar();
eigyoman.Serif();
getchar();
okyaku.Serif3();
getchar();
eigyoman.Serif2();
getchar();
okyaku.Serif4();
getchar();
eigyoman.Serif3();
getchar();
okyaku.Serif5();
printf("・・・そういうわけでお客からもらった案件を\n営業者の営業マンは、経営者のヒデアキ社長に伝えました。");
}
};
/*********************************************************************/
// intMain
/*********************************************************************/
int main(void) {
House instant1;
instant1.story();
SystemConsultant_Com instant2;
instant2.story();
}
お礼
ありがとうございました。できました。