学生成绩管理系统程序设计Word格式文档下载.docx

上传人:b****4 文档编号:7692658 上传时间:2023-05-08 格式:DOCX 页数:12 大小:89.13KB
下载 相关 举报
学生成绩管理系统程序设计Word格式文档下载.docx_第1页
第1页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第2页
第2页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第3页
第3页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第4页
第4页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第5页
第5页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第6页
第6页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第7页
第7页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第8页
第8页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第9页
第9页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第10页
第10页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第11页
第11页 / 共12页
学生成绩管理系统程序设计Word格式文档下载.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统程序设计Word格式文档下载.docx

《学生成绩管理系统程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统程序设计Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统程序设计Word格式文档下载.docx

1.2为何选用C++

相比较于DOS系统、C语言系统、JAVA系统等,C++具有其独特的优点让我们在设计中选择它。

它是一门独立的语言;

它并不依赖C语言,我们可以完全不学C语言,而直接学习C++。

根据《C++编程思想》(<

ThinkinginC++>

)一书所评述的,C++与C的效率往往相差在正负5%之间。

所以有人认为在大多数场合C++完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。

支持多重编程范式的通用程序设计语言。

它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。

对于初学者来说,用起编程很上手。

二.需求分析

2.1管理功能

系统主要实现对学生的管理功能。

主要有管理员登陆、学生登录、管理员信息管理、学生信息管理等。

2.2系统总体设计图

三.概念设计

3.1基本信息

学生基本信息:

学号、学生姓名、性别、出生日期、专业

课程信息:

课程号、所属专业、课程名、类型、开课学期、课时数、学分

学生课程成绩信息:

学号、课程号、成绩、学分

管理员信息:

管理员账号、管理员姓名、密码

四.程序设计

使用VisualC++平台设计学生成绩管理系统的主框架。

学生成绩管理系统能有效地管理每个学生的各科成绩,还可以管理学生的基本信息以及课程信息。

该系统能简便地实行相关记录的查询,添加,修改,删除操作。

改程序设计主要记录编写学生成绩表中记录的查询,添加,修改,删除功能,以及实现这些功能的相关代码。

学生基本信息表,课程信息表的功能和功能实现代码与此表类似。

4.1问题定义

该程序主要是为了实现对一个班某一门课的成绩进行管理,为实现该功能先定义了一个系统菜单:

(1)输入若干条记录

(2)显示所有记录

(3)按学号排序

(4)插入一条记录

(5)按姓名查找,删除一条记录

(6)查找并显示一条记录

(7)输出统计信息(新增)

(8)从正文中添加数据到结构体数组中

(9)将所有数据写入文件中

(0)退出程序

4.2功能实现:

菜单中的每一个选项都对应一个子程序,子程序的算法几乎囊获了所有C语言学过的技巧,下面就各个子程序中的功能进行说明:

功能1和4的算法相似,输入一条记录到结构体中去,其中有一部很关键,就是通过gets将所有的多余的字符,回车读去,否则就会出错。

功能2是显示所有的记录,通过循环输出,格式也比较重要。

功能3为按学号排序,因为学号定义成了字符数组的形式,因此在运用冒泡法进行排序的时候,要用到strcmp,strcpy等函数。

功能5为按姓名删除记录,先输入姓名,再一一比较,如果没有则返回失败信息,如果找到就将此记录都向前移一位,返回n-1。

功能6的算法在5中就已经体现了,输入姓名,一一比较。

功能7为新增的功能,因为考虑到原来给出的函数中竟然没有对学生成绩的统计功能,因此新增此功能,可以得出所有的记录个数,最高、最低、平均分,并输出相关的学生信息等。

功能8和9是对文件的操作,提前准备好数据。

4.3数据结构

1、typedefstructStudent定义一个结构体数组、并使用类型定义为Student新类型。

Studentstu[80];

Stu是一个包含有80个元素的一维结构体数组;

Stu[2]表示第三个学生的相关信息,stu[2].name表示第三个人的姓名,类似stu[2].score表示第三个人的分数。

2、intmenu_select()定义一个菜单函数,通过向形参里输入整数来进行下

一步操作。

如intmenu_select

(1)表示想数组中输入学生信息,接下来会进入到下一界面操作。

3、intInput(Studentstud[],intn)表示定义一个输入学生信息的函数,通过向形参里输入一个数组名来完成下一步操作。

如scanf(“%s”,stu[n+i].name)表示想数组中输入学生姓名。

4、voidDisplay(Studentstud[],intn)表示定义一个输出学生信息函数,通过向形参里输入一个数组名来完成下一步操作。

如scanf(“%s”,stu[n+i].name)表示想数组中输出学生姓名。

5、voidSort_by_num(Studentstud[],intn)表示定义一个按学号排序的函数,通过向形参里输入一个数组名来完成下一步操作,即是排序。

如scanf(“%s”,stu[n+i].name)表示对输入进去的N+I个学生进行排序。

6、intInsert_a_record(Studentstud[],intn)表示定义一个插入函数,通过向形参中调入数组来实现功能。

7、intDelete_a_record(Studentstud[],intn)表示定义一个按姓名查找、删除函数来实现功能。

8、voidQuery_a_record(Studentstud[],intn)表示定义一个查找函数来显示查找功能。

9、voidStatistic(Studentstud[],intn)表示定义一个新增功能函数,输出统计信息。

10、intAddfromText(Studentstud[],intn)表示定义一个从文件中读入数据函数。

11、voidWritetoText(Studentstud[],intn)表示定义一个将数据写入文件的函数。

4.4程序编写

voidmain()/*主函数*/

{

intn=0;

for(;

;

)通过FOR循环来完成以下程序

switch(menu_select())/*选择判断*/进入菜单选项后选择功能选项

case1:

如要输入学生信息键入1号键

printf("

\t\t\tInputRecords\n"

);

/*输入若干条记录*/

n=Input(stu,n);

break;

case2:

如要显示所有信息键入2号键

\t\t\tDisplayAllRecords\n"

/*显示所有记录*/

Display(stu,n);

case3:

如要将输入的信息按学号排序键入3号键

\t\t\tSort\n"

Sort_by_num(stu,n);

/*按学号排序*/然后通过调用Sort_by_num(stu,n)函数完成排序

\t\t\tSortSuceessed!

\n"

\t\t\t"

system("

pause"

case4:

如要插入一条信息键入4号键

\t\t\tInsertaRecord\n"

n=Insert_a_record(stu,n);

/*插入一条记录*/然后通过调用

Insert_a_record(stu,n)完成插入

case5:

如要按姓名删除一个记录键入5号键

\t\t\tDeleteaRecord\n"

n=Delete_a_record(stu,n);

/*按姓名查找,删除一条记录*/然后通过调用函数n=Delete_a_record(stu,n)实现删除记录

case6:

如要显示所有信息键入6号键

\t\t\tQuery\n"

Query_a_record(stu,n);

/*查找并显示一个记录*/然后通过调用函数Query_a_record(stu,n)实现功能

case7:

如要输出统计信息键入7号键

\t\t\tStatistic\n"

Statistic(stu,n);

/*新增功能,输出统计信息*/然后通过调用函数Statistic(stu,n)实现统计功能

case8:

如要对数据暂时保存键入8号键

\t\t\tAddRecordsfromaTextFile\n"

n=AddfromText(stu,n);

/*新增功能,输出统计信息*/然后通过调用函数AddfromText(stu,n)实现暂存信息

case9:

如要将刚才输入的信息保存键入9号键

\t\t\tWritetoaTextfile\n"

WritetoText(stu,n);

/*循环写入数据*/然后调用函数AddfromText(stu,n)实现保存功能

case0:

最后入要退出程序键入0号键

\t\t\tHaveaGoodLuck,Bye-bye!

/*结束程序*/

exit(0);

}

4.5设计测试流程

1、进入界面

2、输入选项1,回车;

按提示输入数据:

3、回到主菜单;

输入选项7,回车;

输入文件名:

data.txt,回车;

出现成功提示,则读入文件操作成功。

4、回到主菜单,输入2,回车

每10个暂停显示数据

5、回到主菜单,输入3,回车

出现排序成功信息。

6、回到主菜单,输入4,回车

按提示插入一组数据

7、回到主菜单,输入5,回车

按提示输入姓名,删除数据

出现删除成功的信息

8、回到主菜单,输入6,回车

输入姓名进行查询

9、回到主菜单,输入7,回车

出现统计信息

10、回到主菜单,输入9,回车

输入result.txt,回车

出现成功写入文件的信息

11、回到主菜单,输入0,回车退出系统

4.6程序调试情况

1、开始进入界面时键入任意选项后就不能继续进行,发现是没有使用循环语句,重新使用后能继续运行。

2、输入一个信息后在输出信息时,由于调用数据输出函数不正确不能显示刚才输入的信息,调试后能正常运行。

3、对于插入一个成绩,必须是在所输入数据正确排序后方可进行。

4、从正文中输入数据到结构体中只能暂存信息,如要保存信息必须得将信息加入文件中。

5、对于将信息加入文件,必须新建一个文本文件,方可保存。

当数据输入文件后,就可以在你新建的文本文件中看到输入的信息。

6、最后一条就是我所编写的程序一次性只能写入80个同学的信息,所以,必须每输完一次文件记录后再次新建文件。

7、提示:

每输入一个信息记得保存!

 

五、心得及体会

该次课程设计是将我们学的理论知识运用与实际的过程,开始出现了一些问题,走了许多弯路,在此期间,但通过上网搜索和询问同学把困难解决了。

写的过程中遇到了些实际问题,如书写格式不对造成编译错误,更严重的是一些逻辑性错误,这些都反映出自己学习得不扎实,和自己的书写习惯不好,这也提醒我们在以后的编程中要时时小心步步留意。

六、参考文献或网站

【1】《C程序设计基础教程》(杨有安编人民邮电出版社)

【2】《C程序设计经典教程》

第四版(美国HarveyM.Deitel/PaulJ.Deitel著,聂雪军、贺军译,清华大学出版社出版)

【3】周长发《精通VisualC++图像处理编程》电子工业出版社2006年6月

【4】孙鑫.《VC++深入详解》电子工业出版社2006年06月

【5】XX

【6】谷歌

出师表

两汉:

诸葛亮

  先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。

然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。

诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

  宫中府中,俱为一体;

陟罚臧否,不宜异同。

若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;

不宜偏私,使内外异法也。

  侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:

愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

  将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:

愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。

  亲贤臣,远小人,此先汉所以兴隆也;

亲小人,远贤臣,此后汉所以倾颓也。

先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。

侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也

  臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。

先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。

后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。

  先帝知臣谨慎,故临崩寄臣以大事也。

受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;

故五月渡泸,深入不毛。

今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。

此臣所以报先帝而忠陛下之职分也。

至于斟酌损益,进尽忠言,则攸之、祎、允之任也。

  愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。

若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;

陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。

臣不胜受恩感激。

  今当远离,临表涕零,不知所言。

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

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2