c++程序 学生管理系统.docx

上传人:b****6 文档编号:4690125 上传时间:2022-12-07 格式:DOCX 页数:16 大小:197.34KB
下载 相关 举报
c++程序 学生管理系统.docx_第1页
第1页 / 共16页
c++程序 学生管理系统.docx_第2页
第2页 / 共16页
c++程序 学生管理系统.docx_第3页
第3页 / 共16页
c++程序 学生管理系统.docx_第4页
第4页 / 共16页
c++程序 学生管理系统.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c++程序 学生管理系统.docx

《c++程序 学生管理系统.docx》由会员分享,可在线阅读,更多相关《c++程序 学生管理系统.docx(16页珍藏版)》请在冰豆网上搜索。

c++程序 学生管理系统.docx

c++程序学生管理系统

昆明理工大学理学院

信息与计算科学专业操作性实验报告

年级:

2010级姓名:

学号:

指导教师:

实验课程名称:

开课实验室:

理学院机房

实验成绩:

学风(5)

观察能力(15)

操作能力(30)

调试能力(50)

其它

总分

实验内容:

1.实验/作业题目:

写一个学生管理系统并实现能输入数据,修改数据,查找数据,删除数据。

对1~100分内各个分数段给出ABCD的评价

2.实验/作业课时:

2个课时

3.实验过程(包括实验环境、实验内容的描述、完成实验要求的知识或技能):

先写程序,再写流程图。

#include

#include

#include

#include

#include

#include

structstudent//定义一个学生结构体

{

charname[10];

intnum;

charbanji[40];

intGD,SF,CP,SUM;

};

ints=0;

classstudent1//定义一个学生类

{

private:

studentstu[50];

charname,banji;

intnum;

intGD,SF,CP,SUM;

public:

voidsr(char*,int,char*,int,int,int);

voidprint(int);

intjc(intxxh)

{

intm=0;

while(m<=s+1)

if(xxh==stu[m++].num)

break;

if(m>s+1)

return0;

else

return1;

}

voidcz(int);

voidsc(int);

voidsum(int);

};

 

voidstudent1:

:

sr(char*xm,intxh,char*dz,intgd,intsf,intcp)//输入模块

{

strcpy(stu[s].name,xm);

stu[s].num=xh;

strcpy(stu[s].banji,dz);

stu[s].GD=gd;

stu[s].SF=sf;

stu[s].CP=cp;

}

voidstudent1:

:

print(ints)//输出模块

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

voidstudent1:

:

cz(ints)//查找模块

{

intxxh,p;

while(s==0)

{

cout<<"没有记录,请先输入记录!

"<

break;

}

if(s!

=0)

{cout<<"请输入您要查找的学号:

";

cin>>xxh;

while(xxh<1000||xxh>9999)//判断输入的学号是否正确

{

cout<<"您输入的学号不正确,请输入一个四位数的学号"<

cin>>xxh;

}

while(s!

=0)//查找是否有符合条件的记录

{

p=1;

if(xxh==stu[s].num)

{

cout<<"姓名\n学号\n班级\n高代\n数分\nc++"<

cout<

cout<

cout<

cout<

cout<

cout<

getch();

break;

}

else

p=0;

s--;

}

if(p==0)

cout<<"很抱歉,没有找到您要查找的学号!

"<

getch();

}

voidstudent1:

:

sc(intn)//删除模块

{

intxxh,p;

charda;

while(s==0)

{

cout<<"没有记录,请先输入记录!

"<

break;

}

if(s!

=0)

{

cout<<"请输入您要删除的学号:

";

cin>>xxh;

while(xxh<1000||xxh>9999)

{

cout<<"您输入的学号不正确,请您输入一个四位数的学号"<

cin>>xxh;

}

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

{

if(stu[i].num!

=xxh)

p=0;

if(stu[i].num==xxh)

{

cout<<"姓名\n学号\n班级\n高代\n数分\nc++"<

cout<

cout<

cout<

cout<

cout<

cout<

cout<<"您确实要删除该学生的记录吗?

(y/n)";

cin>>da;

if(da=='y'||da=='Y')

{

for(intj=i;j<=n-1;j++)//删除记录

{

strcpy(stu[j].name,stu[j+1].name);

stu[j].num=stu[j+1].num;

strcpy(stu[j].banji,stu[j+1].banji);

stu[j].GD=stu[j+1].GD;

stu[j].SF=stu[j+1].SF;

stu[j].CP=stu[j+1].CP;

}

cout<<"该记录已删除!

"<

s=s-1;

p=1;

break;

}

else

{

cout<<"该记录未删除!

"<

p=1;

}

}

}

if(p==0)

cout<<"很抱歉,没有找到您要找的学号!

"<

}

getch();

}

 

voidstudent1:

:

sum(ints)//排序模块

{

intchang;

intb[40];

while(s==0)

{

cout<<"没有记录,请先输入记录!

"<

break;

}

if(s!

=0)

{

cout<<"姓名\n学号\n班级\n高代\n";

cout<<"数分\tc++\t总分"<

for(intk=1;k<=s;k++)

{

b[k]=stu[k].GD+stu[k].SF+stu[k].CP;

stu[k].SUM=stu[k].GD+stu[k].SF+stu[k].CP;

}

for(inti=1;i<=s;i++)//利用冒泡法对B[]进行排序

for(intj=1;j<=s-i;j++)

if(b[j]

{

chang=b[j];

b[j]=b[j+1];

b[j+1]=chang;

}

for(inth=1;h<=s;h++)//输出与B[]中相同总分所对应的内容

for(inte=1;e<=s;e++)

if(b[h]==stu[e].SUM)

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

}

getch();

}

 

voidmain()

{

student1st;

charda,a;

char*xm,*dz;

intgd,sf,cp,xh;

time_tt;

time(&t);

while

(1)

{

system("cls");

cout<

cout<<"************************************学生成绩管理系统**************************"<

cout<<"显示系统时间和日期:

"<

cout<<"0.输入/添加学生资料"<

cout<<"1.显示学生资料"<

cout<<"2.按学号查找"<

cout<<"3.删除记录"<

cout<<"4.按总分进行排序"<

cout<<"5.退出"<

cout<<"************************************************************************************"<

cout<<"请选择操作(0-5)"<

cin>>a;

t:

if(a=='5')break;

switch(a)

{

case'0':

{

cout<<"请依次输入学生的\n姓名,学号,班级,高代,数分,c++:

"<

xm=newchar[];dz=newchar[];

cin>>xm>>xh>>dz>>gd>>sf>>cp;

while(st.jc(xh))//调用JC模块判断学号是否重复

{

cout<<"学号重复,请重新输入!

"<

cin>>xh;

}

s=s+1;

st.sr(xm,xh,dz,gd,sf,cp);

cout<<"是否继续输入?

(y/n)";

cin>>da;

while(da=='y'||da=='Y')//判断是否要继续输入

{

cout<<"请依次输入学生的姓名,学号,班级,高代,数分,c++:

"<

xm=newchar[];dz=newchar[];

cin>>xm>>xh>>dz>>gd>>sf>>cp;

while(st.jc(xh))

{

cout<<"学号重复,请重新输入!

"<

cin>>xh;

}

s=s+1;

st.sr(xm,xh,dz,gd,sf,cp);

cout<<"是否继续输入?

(y/n)";

cin>>da;

}

getch();

};break;

case'1':

{

if(s==0)//判断是否有记录输入

{

cout<<"没有记录,请先输入记录!

"<

getch();

break;

}

if(s!

=0)

{

cout<<"序号"<<"\t";

cout<<"姓名"<<"\n";

cout<<"学号"<<"\n";

cout<<"班级"<<"\n";

cout<<"高代"<<"\n";

cout<<"数分"<<"\n";

cout<<"c++"<

for(inti=1;i<=s;i++)

st.print(i);

getch();

}

};break;

case'2':

st.cz(s);break;

case'3':

st.sc(s);break;

case'4':

st.sum(s);break;

default:

{

while(a=='0'||a>'5')//判断选项是否正确

{

cout<<"错误选项,请重新选择!

"<

cin>>a;

}

gotot;

};break;

}

}

cout<<"谢谢您的使用!

"<

}

 

4.算法描述、流流程图或程序图:

 

5.实验数据和实验结果(用屏幕图形表示,可另加附页):

 

6.心得体会:

这程序借鉴了一些程序,经过多次修改成的。

但还是不完善,还有一些问题,由于时间急迫,我弄得很吃力。

大一结束了,我对写程序还是很吃力,不过我会在暑假及以后使劲勤加练习,大四和老师再遇时,争取有很大很大的改观,我觉悟了,我已下决心了。

我会做到的,再见老师。

 

评分标准学风--报告格式规范,文字清晰观察能力--正确描述和理解需要操作的问题

操作能力--正确输入程序,熟悉编程环境调试能力--熟练使用调试功能解决程序错误

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1