没有合适的资源?快使用搜索试试~ 我知道了~
c++大作业学生信息管理系统源代码.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 87 浏览量
2023-02-27
19:50:01
上传
评论
收藏 30KB DOCX 举报
温馨提示
试读
17页
.
资源推荐
资源详情
资源评论
学生信息管理系统源代码:
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<iomanip.h>
#include<fstream.h>
struct student
{
char num[30];
char name[30];
char clas[30];
int total;
int maths;
int chinese;
int english;
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."<<endl; abort();}
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<<head->num<<"
"<<head->name<<'\t'<<head->clas<<'\t'<<" "<<head->chinese<<'\t'
<<head->maths<<'\t'<<head->english<<'\t'<<head->total<<'\t'<<setprecision(3)<<head->average<<'\t'<<" "<<n<<endl;
n=n+1;
head=head->next;
}
}
//◆2
void charu(student *head)
//学生成绩信息插入功能(链表尾部插入学生成绩信息)
{
student *s,*p,*q;
int n,i;
cout<<"请输入需要【插入】的学生成绩信息的数量: ";
cin>>n;
cout<<"请输入需插入的学生成绩信息(每人一行):"<<endl;
cout<<"学号
姓名
班级
语文 数学
英语"<<endl;
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<<"请输入需要删除的学生的学号或姓名:"<<endl;
for (i=1;i<=n;i++)
{
cin>>a;
if ((strcmp(head->num,a)==0)||(strcmp(head->name,a)==0))
{
b=0;
p=head;
head=head->next;
delete p;
p=NULL;
}
else
{
p=head;
while ((p->next!=NULL)&&(strcmp(p->next->num,a)!=0)&&(strcmp(p->next->name,a)!=0))
{
p=p->next;
}
if (p->next!=NULL)
{
b=0;
q=p->next;
p->next=q->next;
delete q;
q=NULL;
}
}
}
if (b==1) cout<<"无此学号或姓名的成绩记录!"<<endl;
}
//◆4
void change(student *head)
//学生成绩信息的修改功能(修改指定学生信息)
{
char a[30];
int b=1;
cout<<"请输入您要【修改】的学生的学号或姓名: ";
cin>>a;
while (head)
{
if ((strcmp(head->num,a)==0)||(strcmp(head->name,a)==0))
{
cout<<""<<endl;
b=0;
cout<<"此学生原来的学生成绩信息是:"<<endl;
cout<<"学号
姓名
班级
语文 数学
英语"<<endl;
cout<<head->num<<"
"<<head->name<<'\t'<<head->clas<<'\t'<<" "
<<head->chinese<<'\t'<<head->maths<<'\t'<<head->english<<endl;
cout<<"请输入修改后的学生成绩信息:"<<endl;
cout<<"学号
姓名
班级
语文 数学
英语"<<endl;
cin>>head->num>>head->name>>head->clas>>head->chinese>>head->maths>>head->english;
head->total=head->chinese+head->maths+head->english; head->average=float(head->total)/3;
}
head=head->next;
}
if (b==1) cout<<"无此学号或姓名的成绩记录!"<<endl;
}
//◆5(1)
void geren(student *head)
//查询个人成绩功能
{
char a[30];
int b=1;
cout<<"请输入您要【查询】的学生的学号或姓名: ";
cin>>a;
cout<<"此学生的学生成绩信息是:"<<endl;
cout<<"学号
while (head)
{
姓名
班级
语文 数学
英语
总分
均分"<<endl;
if ((strcmp(head->num,a)==0)||(strcmp(head->name,a)==0))
{
b=0;
cout<<head->num<<"
"<<head->name<<'\t'<<head->clas<<'\t'<<" "<<head->chinese<<'\t'
<<head->maths<<'\t'<<head->english<<'\t'<<head->total<<'\t'<<setprecision(3)<<head->average<<endl;
}
head=head->next;
剩余16页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6559
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功