标题:求助关于C++的问题
只看楼主
kzwcom
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-5-14
 问题点数:0 回复次数:6 
求助关于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]]
搜索更多相关主题的帖子: char grade std using 
2008-05-31 02:00
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
得分:0 
运行结果:
What is your first name:abc
What is your last name:def
What letter grade do you deserve?ACD
What is your age?15
Name:def,abc
Grade:CD
Age:15

不太明白LZ的意思,所谓的下一个在上面的例子中到底应该输出什么?
2008-05-31 08:30
kzwcom
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-5-14
得分:0 
在first name输入用户名,必须实现名字加空格,例如:abc dfg。之间必须加上空格,last name就只输入单个用户名,不需加空格,而What letter grade do you deserve?这里只要求输入A-Z字母,Grade:必须实现上面输入的字母的下一个字母,如果按照我这样的要求输入就会在Grade:这里什么都没显示,只显示Grade:,非常郁闷啊!
2008-05-31 11:39
kzwcom
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-5-14
得分:0 
运行结果:
What is your first name:abc     //要求输入名字abc dfg之间存在空格
What is your last name:def
What letter grade do you deserve?ACD  //要求输入单个字母
What is your age?15
Name:def,abc
Grade:CD       //要求实现为上面输入的字母下一个
Age:15
2008-05-31 11:57
kzwcom
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-5-14
得分:0 
[bo][un]p1s[/un] 在 2008-5-31 08:30 的发言:[/bo]

运行结果:
What is your first name:abc
What is your last name:def
What letter grade do you deserve?ACD
What is your age?15
Name:def,abc
Grade:CD
Age:15

不太明白LZ的意思,所谓的下一个在上面的 ...


我试了你这样的输入,是可以显示出来,可是要按照我说的要求输入的话,Grade:就什么都不显示了
2008-05-31 11:58
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
得分:0 
#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;
}

LZ再试试看,我不知道你是不是这个意思。
2008-05-31 17:13
zzznet
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-02 02:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-216796-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.966024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved