当前位置:文档之家› c大作业学生信息管理系统源代码

c大作业学生信息管理系统源代码

c大作业学生信息管理系统源代码
c大作业学生信息管理系统源代码

c大作业学生信息管理系统源代码

学生信息管理系统源代码:

#include

#include

#include

#include

#include

#include

struct student

{

char num[30]; int maths;

char name[30]; int chinese;

char clas[30]; int english;

int total; float average;

student *next;

};

//◆1(1)

void createlist(student * & head) //学生成绩文件导入功能(用链表储存)

{

char t[80],num0[30],name0[30],clas0[30];

int chinese0,maths0,english0;

student *s,*p;

ifstream instuf("student-score.txt",ios::in);

if (!instuf) {cerr<<"file could not be open."<

instuf.getline(t,80);

while

(instuf>>num0>>name0>>clas0>>chinese0>>maths0>>english0)

{

s=new student;

strcpy(s->num,num0);strcpy(s->name,name0);strcpy(s-

>clas,clas0);

s->chinese=chinese0;s->maths=maths0;s->english=english0; s->total=s->chinese+s->maths+s->english; s->average=float(s->total)/3;

if (head==NULL) head=s;

else p->next=s;

p=s;

}

p->next=NULL;

instuf.close();

}

//◆1(2)

void showlist(student *head) //学生成绩信息显示功能(遍历链表)

{

int n=1;

cout<<"学号姓名班级语文数学英语总分均分序号 ";

while (head)

{

cout<num<<" "<name<<'\t'<clas<<'\t'<<" "<chinese<<'\t'

<maths<<'\t'<english<<'\t'<

>total<<'\t'<average<<'\t'<<" "<

n=n+1;

head=head->next;

}

}

//◆2

void charu(student *head) //学生成绩信息插入功能(链表尾部插入学生成绩信息)

{

student *s,*p,*q;

int n,i;

cout<<"请输入需要【插入】的学生成绩信息的数量: ";

cin>>n;

cout<<"请输入需插入的学生成绩信息(每人一行):"<

cout<<"学号姓名班级语文数学英语"<

p=head;

while (p)

{

q=p;

p=p->next;

}

for (i=1;i<=n;i++)

{

s=new student;

cin>>s->num>>s->name>>s->clas>>s->chinese>>s->maths>>s->english;

s->total=s->chinese+s->maths+s->english; s-

>average=float(s->total)/3;

q->next =s;

q=s;

}

q->next=NULL;

}

//◆3

void shanchu(student * & head) //学生成绩信息删除功能

{

student *p,*q;

char a[30];

int n,i,b=1;

cout<<"请输入需【删除】的学生成绩信息的数量: ";

cin>>n;

cout<<"请输入需要删除的学生的学号或姓名:"<

for (i=1;i<=n;i++)

{

cin>>a;

if ((strcmp(head->num,a)==0)||(strcmp(head->name,a)==0)) {

相关主题
文本预览
相关文档 最新文档