精选问答
打印学生成绩表,每个学生的信息包括姓名、学号及高等数学、英语、线性代数、物理等几门课程的成绩。 要求:输入5个学生的相关信息,并在屏幕上输出。
2019-04-03
下载本文
打印学生成绩表,每个学生的信息包括姓名、学号及高等数学、英语、线性代数、物理等几门课程的成绩。
要求:输入5个学生的相关信息,并在屏幕上输出。
优质解答
//把课程名称替换下就OK了
#include
#include
#include
#include
#include
#define DELAYTIME 1000
typedef struct studentinfo //结构体定义
{
int num;//学号
char name[64];//姓名
int sex;//性别,1为男性,0为女性
float math;//数学
float english;//英语
float politic;//政治
float chinese;//语文
float total;//总成绩
struct studentinfo *next;
}STUDENT;
STUDENT * new_student()
//功能:创建学生信息(通过链表)
//返回值:头结点指针
{
STUDENT *pnew,*p,*head;
float *pfloat;
char ch;
head=NULL;
do
{
system("cls");
pnew=(STUDENT *)malloc(sizeof(STUDENT)*1);
cout<<"请输入学生的学号(0表示取消): ";
cin>>pnew->num;
if(0>=pnew->num)
{
break;
}
cout<<"请输入学生的姓名:";
cin>>pnew->name;
while(1)
{
cout<<"请输入学生的性别:0/1\t";
cin>>pnew->sex;
if(pnew->sex&&pnew->sex-1)
{
cout<<"性别输入错误,0表示女性,1表示男性,请重新输入"<
}
else
{
break;
}
}
cout<<"请依次输入学生的数学、英语、政治、语文成绩:"<
for(pnew->total=0,pfloat=&pnew->math;pfloat<&pnew->math+4;)
{
cin>>*pfloat;
if(*pfloat<0||*pfloat>150)
{
cout<<"成绩输入错误,只能为0~150"<
}
else
{
pnew->total+=*pfloat;
pfloat++;
}
}
if(head==NULL)
{
head=pnew;
}
else
{
p->next=pnew;
}
p=pnew;
pnew->next=NULL;
cout<<"##########################该学生信息已生成#########################";
cout<<"建立另一个学生的信息? Y/N\t";
cin>>ch;
}while(ch=='Y'||ch=='y');
return head;
}
int pri_whole_link(STUDENT *head)
//功能:显示整条链表的学生信息
//参数:head 头结点指针,如果head为空,返回空
{
system("cls");
STUDENT* p;
if (head==NULL)
{
cout<<"数据库未加载"<
Sleep(DELAYTIME);
return 0;
}
cout<<"学号\t姓名\t性别\t数学\t英语\t政治\t语文\t总成绩";
for(p=head;p;p=p->next)
{
cout<
num<<"\t"<
name<<"\t"<
sex<<"\t"<
math<<"\t"<
english<<"\t"<
politic<<"\t"<
chinese<<"\t"<
total<
}
return 1;
}
void main()
{
STUDENT *head;
head=new_student();
pri_whole_link(head);
}
//把课程名称替换下就OK了
#include
#include
#include
#include
#include
#define DELAYTIME 1000
typedef struct studentinfo //结构体定义
{
int num;//学号
char name[64];//姓名
int sex;//性别,1为男性,0为女性
float math;//数学
float english;//英语
float politic;//政治
float chinese;//语文
float total;//总成绩
struct studentinfo *next;
}STUDENT;
STUDENT * new_student()
//功能:创建学生信息(通过链表)
//返回值:头结点指针
{
STUDENT *pnew,*p,*head;
float *pfloat;
char ch;
head=NULL;
do
{
system("cls");
pnew=(STUDENT *)malloc(sizeof(STUDENT)*1);
cout<<"请输入学生的学号(0表示取消): ";
cin>>pnew->num;
if(0>=pnew->num)
{
break;
}
cout<<"请输入学生的姓名:";
cin>>pnew->name;
while(1)
{
cout<<"请输入学生的性别:0/1\t";
cin>>pnew->sex;
if(pnew->sex&&pnew->sex-1)
{
cout<<"性别输入错误,0表示女性,1表示男性,请重新输入"<
}
else
{
break;
}
}
cout<<"请依次输入学生的数学、英语、政治、语文成绩:"<
for(pnew->total=0,pfloat=&pnew->math;pfloat<&pnew->math+4;)
{
cin>>*pfloat;
if(*pfloat<0||*pfloat>150)
{
cout<<"成绩输入错误,只能为0~150"<
}
else
{
pnew->total+=*pfloat;
pfloat++;
}
}
if(head==NULL)
{
head=pnew;
}
else
{
p->next=pnew;
}
p=pnew;
pnew->next=NULL;
cout<<"##########################该学生信息已生成#########################";
cout<<"建立另一个学生的信息? Y/N\t";
cin>>ch;
}while(ch=='Y'||ch=='y');
return head;
}
int pri_whole_link(STUDENT *head)
//功能:显示整条链表的学生信息
//参数:head 头结点指针,如果head为空,返回空
{
system("cls");
STUDENT* p;
if (head==NULL)
{
cout<<"数据库未加载"<
Sleep(DELAYTIME);
return 0;
}
cout<<"学号\t姓名\t性别\t数学\t英语\t政治\t语文\t总成绩";
for(p=head;p;p=p->next)
{
cout<
num<<"\t"<
name<<"\t"<
sex<<"\t"<
math<<"\t"<
english<<"\t"<
politic<<"\t"<
chinese<<"\t"<
total<
}
return 1;
}
void main()
{
STUDENT *head;
head=new_student();
pri_whole_link(head);
}
相关问答
我的寒假作业答案有误,我想看看是不是真的错
2012考研英语国家线大概多少?我英语43
六年级上册小学综合寒假作业本英语第十二页第
英语成绩在上高三后直线下降怎么办?我的情况
救救我的诺亚舟啊 !学英语没电子词典怎么行
英语翻译酒店里没有wifi,但每个房间都有
英语翻译射箭之道射箭之先,需形端,志正,凝
英语翻译摘要机电一体化是一门系统技术,它包
用英语翻译下面一段话,翻译好一点,谢谢。在
下列各句中加点成语使用正确的一句是&nbs
英语翻译射箭之道射箭之先,需形端,志正,凝
在汉语占优势的环境里如何学习英语呢?孩子七
南京小学英语英标课程辅导如何?一对一全科辅
汕尾城区 请家教一小时多少钱,一对一的,小
写一段对话作文,200字就写我和我的英语老
英语四线格上省略号写在哪儿