【发布时间】:2014-02-16 11:56:45
【问题描述】:
无论用户是否选择输入小写字母,这都会输出大写字母“S”或“P”。 当我使用代码中的其他语句时,输出有效 但是...我想在我的最终 cout 语句中显示 STANDARD 或 PREMIUM。
如何更改 char 的值以输出 STANDARD 或 PREMIUM???
#include <string>
#include <iostream>
char meal;
cout << endl << "Meal type: standard or premium (S/P)? ";
cin >> meal;
meal = toupper(meal);
if (meal == 'S'){
meal = 'S';
}
else{
meal = 'P';
}
我尝试过膳食 = '标准' 和膳食 = '高级' 它不起作用。
【问题讨论】:
-
chars 不是strings 和strings 不是chars...'Standard'两者都不是(您正在尝试使用 char 语法定义字符串) .决定你想要哪个,如果需要,声明 两个 变量! -
if (meal == 'S') { meal = 'S'; }似乎毫无意义。 -
好吧,我已经尝试过膳食 = '标准',但没有奏效。它只输出最后一个字母'd'
标签: c++ string if-statement char