c课程设计报告学生成绩管理系统.docx
《c课程设计报告学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《c课程设计报告学生成绩管理系统.docx(11页珍藏版)》请在冰点文库上搜索。
c课程设计报告学生成绩管理系统
C++实习报告
一、课程设计目的
1.C++课程设计,使我们能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,
2.要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。
3.通过课程设计掌握《C++语言程序设计》的编程思想,为后续课程打下基础。
4.培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。
二、课程设计的内容
1、课程设计的题目及简介
文本界面为
管理员
1.输入信息
2.保存信息
3.查询信息
4.修改并保存
5.显示全部
6.删除信息
7.退出系统
学生
1信息查询
(1)输入姓名
(2)输入学号
2退出系统
2、设计说明
总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体
结构设计合理。
也可根据自己对题目的理解增加新的功能模块。
系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行
(1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。
同时,应具备以下功能:
1、输入功能:
一次可以完成自定义学生人数的学生成绩记录的输入。
2.保存功能:
对指定学生的成绩进行保存
3.查询功能:
选择某种方式并输入该成绩查询符合条件的学生成绩4、修改并保存功能:
对指定学生的成绩进行修改保存。
5.显示功能:
将以上功能操作后的学生成绩显示出来。
6、删除功能:
对指定学生的成绩进行删除。
7.退出主菜单。
3程序流程图
各功能模块的实现流程图:
1增加学生成绩
调用函数Node*Create()判断gg是否等于一如果是可创建链表输入相应的学生成绩如果不是则需要运用Insert(p)函数插入结点增加学生成绩的,并通过chundang(p)函数进行存档,具体流程如下图所示
判断以前是否存储了学生成绩是新增成绩
退出该功能,返回主菜单,继续选择
流程图
新增学生成绩
按提示:
输入学个的各种成绩
按格式显示输入的学生成绩
2删除学生成绩
调用函数Node*Delete(Node*head,intnum)
删除学生的成绩则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务
流程图
输入要删除学生成绩2
退出该功能,返回主菜单,继续选择
输入要删除成绩的编号
该生成绩已删除,显示其他同学的成绩
输出所有学生的成绩
3.导入学生成绩
打开存档文件ifstreamFilein("");输出说存档的学生成绩
导入学生成绩
显示学生的成绩
退出该功能,返回主菜单,继续选择
4、学生成绩的搜索
调用函数Node*sousuo(Node*head,charna[20]),按学生的姓名进行搜索
退出该功能,返回主菜单,继续选择
输出所以查询的学生成绩
按照提示输入学生的姓名进行搜索
搜索学生成绩4
流程图:
5成绩的统计
调用函数Node*tongji(Node*head)运用一个for循环,将输入的相应的学生成绩用strcmp()函数与对应的数组进行比较,然后再进行统计
输出统计的成绩
统计所设定的专业人数和男女性别的人数,计算学生的年龄并统计
成绩的统计:
5
退出该功能,返回主菜单,继续选择
。
6、按英语成绩进行排序:
调用函数Node*paixu(Node*head)完成排序功能
它的主要思想的:
首先设置英语成绩的最大值100,最小值0(也可以使150或者其他)然后让输入的学生成绩英语成绩一次比较进行比较,(如果有相等的就输出排名1,然后排名加1),否则最大值减1,然后再次进行比较(如果等于99且上次没有等于100的,就输出排名1,然后排名加1,如果上次有等于100的排名为2),如果没有与99相等的.,则继续循环……
流程图:
输出排序之后的学生成绩
对英语成绩进行排序
退出该功能,返回主菜单,继续选择
按学生成绩进行排序5
总功能模块图:
2、输入要删除的学生的编号,删除学生成绩。
1输入学生的成绩:
姓名、性别、专业、出生日期、家庭地址、英语成绩
菜单
1.新增学生成绩
2.删除学生成绩
3.导入学生成绩
4.学生成绩搜索
5.学生成绩统计
6.学生成绩保存
7.退出
5统计各种专业、男女、相应年龄的人数
7保存学生成绩:
提示保存成功
4、输入你要查找你学生姓名
3、输出学生的编号、姓名、性别、专业、出生日期、家庭地址、英语成绩
7、退出系统
学生管理系统
功能模块图
各功能显示效果模块图:
学生和管理员输入
管理员进入界面后
增加学生成绩和导入学生成绩
保存学生成绩
学生进入界面后,按学生姓名查询并输出成绩
4、程序清单
#include
#include
#include
usingnamespacestd;
#definepassword123456;
改学号:
"<cout<<"2.修改姓名:
"<cout<<"3.修改性别:
"<cout<<"4.修改年龄:
"<cout<<"5.修改语文成绩:
"<cout<<"6.修改高数成绩:
"<cout<<"7.修改外语成绩:
"<cout<<"8.修改C++成绩:
"<cout<<"9.修改数据库成绩:
"<cout<<"10.修改体育成绩:
"<cout<cout<<"请选择:
"<cin>>choose;
switch(choose)
{
case1:
cout<<"请输入学生学号:
"<cin>>;
break;
case2:
cout<<"请输入学生姓名:
"<cin>>;
break;
case3:
cout<<"请输入学生性别:
"<cin>>;
break;
case4:
cout<<"请输入学生年龄:
"<cin>>;
break;
case5:
cout<<"请输入学生语文成绩:
"<cin>>;
break;
case6:
cout<<"请输入学生高数成绩:
"<cin>>;
break;
case7:
cout<<"请输入学生外语成绩:
"<cin>>;
break;
case8:
cout<<"请输入学生C++成绩:
"<cin>>;
break;
case9:
cout<<"请输入数据库成绩:
"<cin>>;
break;
case10:
cout<<"请输入学生体育成绩:
"<cin>>;
break;
/*default:
cout<<"\t输入错误,返回主菜单!
"<adminwelcome();*/
}
cout<<"信息输入成功!
"<=0;
=+++++;
=6;
(-(sizeofs),ios:
:
cur);
((char*)&s,sizeofs);
cout<<"信息已修改并保存!
"<}
();
}
voidstuadmin:
:
del()询信息\t\t2.退出系统"<cout<<"********************************************************************************"<do
{
cout<<"请输入您要进行的操作编号(1或2):
";
cin>>i;
cout<if(i<1||i>2)
cout<<"对不起,请输入1或2这两个选择数字!
"<}while(i<1||i>2);
switch(i)
{
case1:
();
studentwelcome();
break;
case2:
exit(0);
break;
}
}
voidadminwelcome()入信息\t2.保存信息\t3.查询信息\t4.修改并保存"<cout<<"\t5.显示全部\t6.删除信息\t7.退出系统"<cout<<"********************************************************************************"<do
{
cout<<"请输入您要进行的操作编号(1--7):
";
cin>>j;
cout<if(j<1||j>7)
cout<<"对不起,请输入1-7这几个选择数字!
"<}while(j<1||j>7);
switch(j)
{
case1:
();
adminwelcome();
break;
case2:
();
adminwelcome();
break;
case3:
();
adminwelcome();
break;
case4:
();
adminwelcome();
break;
case5:
();
adminwelcome();
break;
case6:
();
adminwelcome();
break;
case7:
exit(0);
break;
}
}
voidmain()....正在验证您的身份,请输入指令(6位):
";
cin>>p[6];
if(p[6]==123456)
{
cout<<"身份验证成功!
"<adminwelcome();
}
else
{
cout<<"您输入的指令错误!
";
cout<<"系统将自动返回....."<main();
}
}
elseif(x!
='A'&&x!
='B')
{
cout<<"输入错误!
\t系统将返回主界面....."<cout<}
}while(x!
='A'&&x!
='B');
}