| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 446 人关注过本帖
标题:输入字符串遇到的问题
只看楼主 加入收藏
handsome303
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-2-28
收藏
 问题点数:0 回复次数:3 
输入字符串遇到的问题
以下是我的一个未编完的程序,我想检验一下自己编写的正确性,所以在主函数调用链表函数

#include<iostream.h>
#include<string.h>

class Student
{
public:
Student()
{
setID();
setname();
setchin();
setmath();
seteng();
}

void setID()
{
int a;
cout<<"输入所要建立的学生学号:";
cin>>a;
ID=a;
}

void setname()
{
cout<<"输入学生的姓名:";
cin.get(name,20);

}

void setchin()
{
int b;
cout<<"输入A课程的成绩:";
cin>>b;
chinese=b;
}

void setmath()
{
int c;
cout<<"输入B课程的成绩:";
cin>>c;
math=c;
}

void seteng()
{
int d;
cout<<"输入C课程的成绩:";
cin>>d;
english=d;
}

protected:
int ID;
char name[20];
int chinese;
int math;
int english;
}; //类定义

struct Date
{
Student student;
Date *next;
}; //结构定义

Date *List()
{
Date *head;
head=NULL;
Date *ps;
ps=new Date;
Date *end;
end=ps;
for(int i=0;i<3;i++)
{
if(head==NULL)
{
head=ps;
}
cout<<endl;
ps=new Date;
end->next=ps;
end=end->next;
}
end->next=NULL;
return head;

} //建立数据链表


void main()
{

List();
}



结果可通过编译,不过不能输入字符串,会自动调到下一个函数。不解为何会这样的情况!
菜鸟问题,正在学类,望各位大大解答一下!
搜索更多相关主题的帖子: 输入 字符 
2006-06-14 16:39
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
[CODE] void setname()
{
cout<<"输入学生的姓名:"<<flush;
cin>>name;
}[/CODE]

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-06-14 17:23
handsome303
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-2-28
收藏
得分:0 
为什么用cin.get或直接用cin输入是不行?flush是有什么用的啊?我还未学到啊!
楼上的aogun大大请解答。
2006-06-14 17:30
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
cin.get();之前还有cin的话,一般还有1个对象被留在缓冲队列里面,最好不要cin>>和cin.get()混用,如果你实在想用的话,可以在cin.get(name,20);之前再加上cin.get()将缓冲区的字符取出,但是不推荐这么做,最好清空缓冲区或者一直用cin>>
关于flush的问题,抱歉,我回答另外一个人的问题时为了方便拷代码顺便写上了,忘了删了,flush起着将用cout进行输出的数据从缓冲区刷新到输出的作用

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-06-15 10:14
快速回复:输入字符串遇到的问题
数据加载中...
 
   



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

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