求助关于C++的问题
#include<iostream>int main()
{
using namespace std;
char * grade=new char[26];
const int name=20;
char name1[name];
char name2[name];
char age[name];
char * grade1;
cout<<"What is your first name:";
cin.getline(name1,name); //输入第一个名字
cout<<"What is your last name:";
cin.getline(name2,name); //输入最后名字
cout<<"What letter grade do you deserve?";
cin.getline(grade,26); //输入等级grade
grade1=grade+1;
cout<<"What is your age?";
cin.getline(age,name); //输入年龄
cout<<"Name:"<<name2<<","<<name1<<endl; //显示全名
cout<<"Grade:"<<grade1<<endl; //显示分配的等级
cout<<"Age:"<<age<<endl; //显示年龄
system("pause");
return 0;
}
程序需要实现输入名字,年龄和等级,等级由A,B,C。。。。排列,输入字母A后程序显示的将是A的下个字母,在这个程序里面为什么“Grade:”<<grade1这里什么都不显示,就只显示了Grade:,试过N个方法了,还是不行,如果用printf("Grade:%c\n",grade+1);就可以做到,求救求救啊。。。。
PS:在first name输入用户名,必须实现名字加空格,例如:abc dfg。之间必须加上空格,last name就只输入单个用户名,不需加空格,而What letter grade do you deserve?这里只要求输入A-Z字母,Grade:必须实现上面输入的字母的下一个字母,如果按照我这样的要求输入就会在Grade:这里什么都没显示,只显示Grade:,非常郁闷啊!
[[it] 本帖最后由 kzwcom 于 2008-5-31 11:39 编辑 [/it]]