高校学籍管理系统Word格式文档下载.docx

上传人:b****6 文档编号:16507859 上传时间:2022-11-24 格式:DOCX 页数:31 大小:282.72KB
下载 相关 举报
高校学籍管理系统Word格式文档下载.docx_第1页
第1页 / 共31页
高校学籍管理系统Word格式文档下载.docx_第2页
第2页 / 共31页
高校学籍管理系统Word格式文档下载.docx_第3页
第3页 / 共31页
高校学籍管理系统Word格式文档下载.docx_第4页
第4页 / 共31页
高校学籍管理系统Word格式文档下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

高校学籍管理系统Word格式文档下载.docx

《高校学籍管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《高校学籍管理系统Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。

高校学籍管理系统Word格式文档下载.docx

三、答辩与评分标准:

1、完成基本功能:

40分;

2、设计报告及使用说明书:

3、设置错误或者按照要求改变结果:

10分;

4、回答问题:

10分。

四、 

教材及参考书

朱战立等著,C++面向对象程序设计,人民邮电出版社;

郑莉著,C++语言程序设计(含实验指导书)。

清华大学出版社(结构化程序设计部分)

钱能主编,C++程序设计教程,清华大学出版社,2000.11

戴锋编著,VisualC++程序设计基础,清华大学出版社,2001.4

吕日著,C++程序设计教程,清华大学出版社,

C++大学教程,美国HarveyM.Deitel等

五、课程设计时间安排

1、班级:

通信工程0801/02

2、指导教师:

3、时间安排:

上机时间:

十九周周一下午14:

00-18:

00

周二下午14:

十九周周三上午08:

00-12:

附:

选题方案:

所选题目根据学生学号确定,学号模6加1,即(学号%6+1)。

如你的学号为17,则所选题目号为:

17%6+1==6(题目6)。

六、设计项目:

题目3:

 

高校学籍管理系统

(一)、课程设计题目:

高校学籍管理系统

(二)、目的与要求:

1、目的:

(1)要求学生达到熟练掌握C++语言的基本知识和技能;

(2)基本掌握面向对象程序设计的基本思路和方法;

(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:

(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;

(2)要求在设计的过程中,建立清晰的类层次;

3、创新要求:

在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书

(三)、设计方法和基本原理:

1、功能要求

要求完成以下功能:

1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

2)能够将指定的信息从文件中删除。

3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

4)可以统计全部学生的总成绩,及其在班上的排名。

5)能够统计各科的平均成绩及及格率。

6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

7)如果检索不到相应的信息应提示用户。

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

a) 

写出需求分析(做什么)

b) 

分析系统中的各个实体之间的关系及其属性和行为;

c) 

根据问题描述,设计系统的类层次;

d) 

完成类层次中各个类的描述(包括属性和方法);

e) 

完成类中各个成员函数的定义;

f) 

用户界面的设计

g) 

分析系统功能模块(系统流程图)

h) 

代码编写

i) 

功能调试;

j) 

完成系统总结报告以及系统使用说明书。

目录

一、需求分析3

1.系统设计目的与意义3

2.系统功能需求(系统流程图)3

2.系统功能流程图4

3.输入输出的要求4

二、总体分析5

1.系统功能分析5

2.系统功能结构图5

三、详细设计6

1.类设计:

6

三、界面设计与各功能模块的实现8

1.界面设计8

四、系统调试10

1.首页进入学籍管理系统主菜单10

2录入学生信息界面:

10

3.显示学生信息界面11

4.查找学生信息界面11

5.删除学生信息界面12

6.修改学生信息12

7.统计学生信息:

13

五、使用说明及心得体会14

六、附件15

一、需求分析

1.系统设计目的与意义

要求用C++面向程序设计语言编写一高校学籍管理系统,

1)要求学生达到熟练掌握C++语言的基本知识和技能;

2)基本掌握面向对象程序设计的基本思路和方法;

3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2.系统设计的意义:

系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;

系统数据的录入除可以手工录入外,还可以采用文件的录入;

系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;

程序中查找运用了两种查找方式即学号查找和姓名查找。

2.系统功能需求(系统流程图)

1.要求完成以下功能:

2.系统功能流程图

3.输入输出的要求

1.输入的要求:

通过主函数体调用其他函数应用系统主控界面包括学生信息录入,查找等功能模块。

学生信息录入功能完成学生信息和成绩的输入。

记录查询功能可以对数据各分类的记录进行查询。

2.输出的要求:

1)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

2)可以统计全部学生的总成绩,及其在班上的排名。

3)能够统计各科的平均成绩及及格率。

4)如果检索不到相应的信息应提示用户

二、总体分析

1.系统功能分析

能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

能够将指定的信息从文件中删除。

能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

可以统计全部学生的总成绩,及其在班上的排名。

能够统计各科的平均成绩及及格率。

要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

如果检索不到相应的信息应提示用户。

2.系统功能结构图

三、详细设计

类:

student

数据成员

编号,姓名,性别,籍贯,民族,生日,政治面貌,身份证,数学成绩,英语成绩,计算机成绩

classstudent

{

protected:

intnumber;

//学号

charname[20];

//姓名

charsex[6];

//性别

charplace[20];

//籍贯

charnation[6];

//民族

charbirth[20];

//出生日期

charparty[10];

//政治面貌

charid[20];

//身份证号

floatscore[3];

//成绩

school

成员函数

录入函数input():

逐步输入学生信息;

修改函数mend():

按姓名或编号修改学生信息;

统计函数count():

统计各科的总成绩,计算平均成绩,统计各科的及格率;

查找函数found():

按学号或姓名查找学生的记录;

修改函数mend():

修改指定学号学生成绩记录;

删除函数del():

删除指定学号学生记录;

输出函数show():

输出班级所有学生成绩记录;

classschool

voidinput();

//录入函数

voidmend();

//修改函数

voiddel();

//删除函数

intfind(student**p,intnum,char*pn="

^"

);

//子查找函数

voidfound();

//查找函数

voidshow();

//显示函数

voidcount();

//统计函数

voidsave();

//保存函数

voidbegin();

//初始化函数

voidclear();

//清空函数

charmainmenu();

//主菜单函数

具体如下图所示:

三、界面设计与各功能模块的实现

1.界面设计

1.界面设计

程序运行后会出现一个简捷的窗口,便于用户查询数据。

2.功能模块实现设计

通过主窗体调用其他窗体。

应用系统主控界面包括学生信息录入,查找等功能模块。

具体举例如下:

1)查找函数:

voidschool:

:

found()

student*p;

intnum=-1,n=9;

charname[20]="

;

do

cout<

<

"

1:

按编号查找,2:

按姓名查找:

"

cin>

>

n;

}while(n<

1||n>

2);

if(n==1)

cout<

请输入编号:

num;

}

if(n==2)

请输入姓名:

cin>

name;

if(!

find(&

p,num,name))

SORRY!

找不到你要查找的内容!

endl;

return;

(p->

next)->

output();

2)删除函数

del()

student*p,*p2;

intnum;

if(!

p,num,"

))

找不到你要删除的内容!

p2=p->

next;

p->

next=p2->

deletep2;

school:

setkey

(1);

四、系统调试

1.首页进入学籍管理系统主菜单

3.显示学生信息界面:

4.查找学生信息界面:

5.删除学生信息界面:

6.修改学生信息:

五、使用说明及心得体会

此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。

首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。

程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。

其中遇到了四个错误,第一个是d:

\123\123.h(341):

errorC2143:

syntaxerror:

missing'

'

before'

是在主菜单函数中多了一个“;

”经调试查出改正。

第二个错误时d:

\123\123.h(326):

errorC2111:

pointeradditionrequiresintegraloperand。

是在统计函数中,定义了g[]为数组格式,但是在用到的时候却忽略了,按照非数组形式计算,结果出错,一直没有找出,最后在老师的精心指导下才发现了这一问题。

第三个错误是:

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;

进一步加深对C++语言的理解和掌握。

理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。

我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

六、附件

源文件代码:

1.头文件:

#include<

iostream.h>

string.h>

fstream.h>

iomanip.h>

public:

student*next;

student(){}

~student(){}

char*getname(){returnname;

}

intgetnumber(){returnnumber;

floatgetscore(inti){returnscore[i];

floatgetg(){return(score[0]+score[1]+score[2]);

}

//录入信息

voidinput()

inte=1;

按提示输入:

number;

请输入性别:

sex;

if(strcmp(sex,"

男"

)==0||strcmp(sex,"

女"

)==0)

{

请输入籍贯:

place;

请输入民族:

nation;

请输入生日:

birth;

请输入政治面貌:

party;

请输入身份证号:

id;

请输入数学分数:

score[0];

请输入英语分数:

score[1];

请输入计算机分数:

score[2];

e=0;

else

无此类型性别!

重新输入!

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

身份证号:

数学:

score[0]

英语:

score[1]

计算机:

score[2]

总分:

getg()<

endl<

voidoutput(ofstream&

os)

os<

setw(6)<

setw(15)<

setw(20)<

party

score[2]<

};

classschool

school(){head=newstudent;

head->

next=NULL;

key=0;

~school(){deletehead;

intgetkey(){returnkey;

voidsetkey(intk){key=k;

private:

student*head;

intkey;

//录入函数

input()

student*p,*p2=NULL;

p=head;

intn;

while(p->

next)

p=p->

while(n)

p2=newstudent;

p2->

input();

p->

next=p2;

p=p->

按1继续,按0返回:

//子查找函数

intschool:

find(student**p1,intnum,char*pn)

student*p;

p=head;

(*p1)=p;

if((p->

getnumber()==num||!

strcmp((p->

getname(),pn))

return1;

return0;

//查找函数

//删除函数

//显示函数

show()

//修改函数

mend()

intnum=-1,n;

按编号修改,2:

按姓名修改:

找不到你要修改的内容!

//保存函数

save()

ofstreamos("

student.txt"

ios:

out);

if(school:

getkey()==1)

while(p->

(p->

output(os);

文件已保存!

setkey(0);

//初始化函数

begin()

clear();

longt;

ifstreamis("

in);

is)

os.close();

return;

intnum=-1;

while

(1)

num=-1;

t=is.tellg();

is>

n

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

当前位置:首页 > PPT模板 > 其它模板

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

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