C++课程设计学生学籍管理系统Word文档格式.docx
- 文档编号:15161158
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:19
- 大小:382.22KB
C++课程设计学生学籍管理系统Word文档格式.docx
《C++课程设计学生学籍管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计学生学籍管理系统Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
系统数据的录入除可以手工录入外,还可以采用文件的录入;
系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;
程序中查找运用了两种查找方式即学号查找和姓名查找。
(二)系统设计的意义
通过设计此项程序,能够对学生的学籍进行统一的管理,对学生的学籍进行录入、修改、保存等功能进行处理,从而能够较快地对信息进行处理,系统数据的录入除可以手工录入外,还可以采用文件的录入;
系统统计学生的基本信息较全面,程序中查找运用了两种查找方式即学号查找和姓名查找,方便查询。
第一步:
分析题目,建立类并派生出它的子类,画出类图。
第二步:
画出流程,根据流程图编写程序清单
第三步:
上机调试程序(使用单步调试,设置断点、分块调试的方法)。
第四步:
及时整理资料,撰写课程设计报告中有关这个题目的内容。
(一)程序对学生学籍的数据处理要求
1能够输入并浏览学生的基本信息;
2能够实现对学生信息的查询和修改;
3能够对成绩进行统计;
4能够对学生的信息进行保存;
(二)系统功能:
资料维护:
系统维护包括对各学生信息和成绩的录入操作。
对数据表中的信息进行浏览。
系统查询:
可以对不同科目的总成绩、不及率、各科平均成绩相关信息。
1.界面的设计
①、界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据。
②、功能设计
通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。
应用系统主控界面包括学生信息录入,查找等功能模块。
学生信息录入功能完成学生信息和成绩的输入。
记录查询功能可以对数据各分类的记录进行查询。
2.数据输出设计
主要运行界面:
统计界面:
查找界面:
显示界面:
录入界面:
保存界面:
修改界面:
删除界面:
3、系统运行的结果:
(仅部分)
1、系统功能结构图:
2、
(1)类:
student
数据成员:
编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩
(2)类:
school
成员函数:
录入函数Input():
输入编号到计算机的成绩;
统计函数count():
统计各科的总成绩,计算平均成绩,统计各科的及格率;
查询函数found():
按学号或姓名查找学生的记录;
修改函数mend():
修改指定学号学生成绩记录;
删除函数del():
删除指定学号学生记录;
输出函数show():
输出班级所有学生成绩记录;
UML图:
六、附录:
(主要代码)
#include<
iostream.h>
string.h>
fstream.h>
iomanip.h>
//操纵符定义在其中
classstudent
{
protected:
intnumber;
charname[20];
charsex[6];
charplace[20];
charnation[6];
charbirth[20];
charparty[10];
charid[20];
floatscore[3];
public:
student*next;
student(){}
~student(){}
char*getname(){returnname;
}
intgetnumber(){returnnumber;
}
doublegetscore(inti){returnscore[i];
floatgetg(){return(score[0]+score[1]+score[2]);
}
voidinput()
{inte=1;
cout<
<
"
\t\t\t按提示输入:
endl;
\t\t输入编号:
"
;
cin>
>
number;
\t\t输入姓名:
name;
do
{cout<
\t\t输入性别:
sex;
if(strcmp(sex,"
男"
)==0||strcmp(sex,"
女"
)==0)
{cout<
\t\t输入籍贯:
cin>
place;
cout<
\t\t输入民族:
nation;
\t\t输入生日:
birth;
\t\t输入政治面貌:
party;
\t\t输入身份证号:
id;
\t\t输入数学分数:
score[0];
\t\t输入英语分数:
score[1];
\t\t输入计算机分数:
score[2];
e=0;
else
{cout<
\t\t\t无此类型性别!
重新输入!
e=1;
}while(e);
return;
voidinput(ifstream&
is)
{is>
number>
name>
sex>
place>
nation>
birth>
party>
id
>
score[0]>
score[1]>
is.get();
}
voidoutput()
学生基本信息如下:
编号:
number<
姓名:
name<
性别:
sex<
籍贯:
place
民族:
nation<
生日:
birth<
政治面貌:
party<
endl
身份证号:
id<
数学:
score[0]<
英语:
score[1]
<
计算机:
score[2]<
总分:
getg()<
endl<
voidoutput(ofstream&
os)
{os<
setw(6)<
number<
setw(15)<
setw(20)<
party
}};
//操纵符指定宽度
classschool
{public:
school(){head=newstudent;
head->
next=NULL;
key=0;
~school(){deletehead;
voidinput();
voidmend();
voiddel();
intfind(student**p,intnum,char*pn="
^"
);
voidfound();
voidshow();
voidcount();
voidsave();
voidbegin();
voidclear();
charmainmenu();
intgetkey(){returnkey;
voidsetkey(intk){key=k;
private:
student*head;
intkey;
};
//录入函数
voidschool:
:
input()
{student*p,*p2=NULL;
p=head;
intn;
while(p->
next)
p=p->
next;
while(n)
{p2=newstudent;
p2->
input();
p->
next=p2;
p2->
p=p->
school:
setkey
(1);
\t\t\t按1继续,按0返回:
n;
}}
//子查找函数
intschool:
find(student**p1,intnum,char*pn)
{student*p;
p=head;
(*p1)=p;
if((p->
next)->
getnumber()==num||!
strcmp((p->
getname(),pn))
return1;
p=p->
return0;
//查找函数
found()
intnum=-1,n=9;
charname[20]="
{cout<
\t\t1:
按编号查找,2:
按姓名查找:
}while(n<
1||n>
2);
if(n==1)
\t\t\t输入编号:
num;
if(n==2)
\t\t\t输入姓名:
if(!
find(&
p,num,name))
\t\t找不到你要查找的内容!
return;
(p->
output();
//删除函数
del()
{student*p,*p2;
intnum;
if(!
p,num,"
))
\t\t找不到你要删除的内容!
p2=p->
next=p2->
deletep2;
show()//显示函数
{(p->
}}
//修改函数
mend()
{s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 学生 学籍 管理 系统