![](/img/trans.png)
[英]Why does my PC beep when I printout more than 7 console outputs in C++ console application?
[英]Why does my C++ console shut down when its about to take user input?
我正在閱讀C ++的PDF教程,目前正在做一個簡單的Letter程序的練習。 該程序接受我的輸入,但是當涉及第二個輸入時,它只是關閉了。 我是C ++的新手,請原諒我的無知。 這是我的代碼:
#include<iostream>
#include<string>
using namespace std;
int main() {
string first_name, last_name, dest_firstName, friend_Name;
char friend_sex = '0';
int dest_age = 0;
cout << "Enter your first and Last Names" << endl;
cin >> first_name;
cin >> last_name;
cout << "Hello " << first_name << " " << last_name
<< ". Enter the name of the person you want to write to. " << endl;
cin >> dest_firstName;
cout << "Enter their age" << endl;
cin >> dest_age;
cout << "Enter the name of another friend." << endl;
cin >> friend_Name;
cout << "Enter the gender of the friend." << endl;
cin >> friend_sex;
cout << "Dear " << dest_firstName << ", " <<endl;
cout << "How are you? It has been a long time since we spoke. Have you seen "
<< friend_Name << " lately? "<< endl;
if (friend_sex == 'm') {
cout << "If you see " << friend_Name << ", can you ask him to call me?" << endl;
}
else if (friend_sex == 'f') {
cout << "If you see " << friend_Name << ", can you ask her to call me?" << endl;
}
else if (dest_age = 0 || dest_age >= 110) {
cout << "Also, I've heard that not long ago was your birthday and you are "
<< dest_age << " years old. NO WAY" << endl;
}
else if (dest_age < 12) {
cout << "Also, I've heard that not long ago was your birthday and you are "
<< dest_age << ". Next year you will be "
<< dest_age + 1 << " years old." << endl;
}
else if (dest_age == 17) {
cout << "Also, I've heard that not long ago was your birthday and you are "
<< dest_age << ". Next year you will be able to vote. " << endl;
}
else if (dest_age == 70) {
cout << "Also, I've heard that not long ago was your birthday and you are "
<< dest_age << ". I hope you're enjoying retirement." << endl;
}
cout << "Yours Truly" << endl;
cout << first_name << " " << last_name << endl;
return 0;
}
這是輸出:
Dear John,
How are you? It has been a long time since we spoke. Have you seen lately?
Also, I've heard that not long ago was your birthday and you are 0. Next year you will be 1 years old.
Yours Truly
Onur Ozbek
您只是在該行中有一個錯別字: else if (dest_age = 0 || dest_age >= 110)
應該是else if (dest_age == 0 || dest_age >= 110)
。
我建議您下次使用調試器。
可能會cin.sync();
幫助,請嘗試同時添加cin.sync();
和cin.clear();
在詢問輸入之后。 干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.