标题:请教大家一个C问题
只看楼主
g123x
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-8-10
 问题点数:0 回复次数:3 
请教大家一个C问题

出现黑屏后为何无法输入数据阿?谢谢哦!!
#include<stdlib.h>
#include<iostream.h>
#include<stdio.h>
#include<string.h>
struct student{
char name[10];
int num;
int age;
char sex;
float score;
struct student *next;};
void appendnewdode(void);
void listall(void);
struct student * head=NULL,*thisnode,* newnode;
void appendnewnode(void) {
char numstr[20];
newnode=(struct student*)malloc(sizeof(struct student));
if(head==NULL) head=newnode;
else
{thisnode=head;
while(thisnode->next!=NULL)
thisnode=thisnode->next;
thisnode->next=newnode;}
thisnode=newnode;
cout<<"enter student name:"<<endl;
gets(thisnode->name);
cout<<"enter number"<<endl;
gets(numstr);
thisnode->num=atoi(numstr);
cout<<"enter age"<<endl;
thisnode->age=getchar();
cout<<"sex:"<<endl;
thisnode->sex=getchar();
cout<<"score:"<<endl;
gets(numstr);
thisnode->score=atof(numstr);
thisnode->next=NULL;
}
void listall(void) {
int i=0;
if(head==NULL) {cout<<"empty list";
return;}
thisnode=head;
do{
cout<<"name:"<<thisnode->name<<endl;
cout<<"num:"<<thisnode->num<<endl;
cout<<"age:"<<thisnode->age<<endl;
cout<<"score:"<<thisnode->score<<endl;
cout<<"sex:"<<thisnode->sex<<endl;
thisnode=thisnode->next;}while(thisnode!=NULL);
}


void main()
{
char ch;
int flag=1;
while(flag){
cout<<"enter e or E to append new node"<<endl;
cout<<"enter l or L to list all"<<endl;
ch=getchar();
switch(ch)
{
case 'e':case'E':appendnewnode();break;
case 'l':case 'L':listall();break;
default:flag=0;
}
}

}

搜索更多相关主题的帖子: include struct student name 
2006-10-15 16:24
liyanguestc
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2005-5-15
得分:0 
把你的那些什么gets()的,都改成cin就好了!

2006-10-15 19:59
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
g123x,

我个人认为你的编程思想有问题。

一个学生的结构体或者c++ 的类 描述了学生的特性和操作方法。 而一个容器是一个存放对象的对象。 所以我认为在你的学生结构体中同时体现一种存储结构的描述是不好的。 应该将两者区分开。

你可以写一个连表结构的容器对象, 用来存放你的学生对象。 当然也有现成的可以用, 比如list, 比如vector

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-10-15 22:29
g123x
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-8-10
得分:0 

谢谢大家阿

2006-10-15 23:41



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




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

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