. . .. . .
. 专业 专注 .
学 院
班 级
学 号
姓 名
目录
TOC \o "1-4" \h \z 1 摘要 3
1.1 设计题目 3
1.2 设计内容 3
1.3 开发工具 3
1.4 应用平台 3
2 详细设计 3
2.1 程序结构 3
2.2 主要功能 3
2.3 函数实现 3
2.4 开发日志 4
3 程序调试及运行 4
3.1 程序运行结果 4
3.2 程序使用说明 4
3.3 程序开发总结 4
4 附件(源程序) 4
/*在后面的文档编写中,请你不要修改各个标题的内容,从而确保报告内容和风格一致。完成全部内容后,你只需要在上面的目录上右键“更新域”,选择“只更新页码”就可以更新正确的目录页码。注意:目录的左边距为6.5厘米。*/
1 摘要
1.1 设计题目
学成绩管理程序
1.2 设计内容
为了便于对学生星系进行管理,这里设计了学生信息管理程序。该程序主要通过对链表的相关操作运用菜单的形式实现对学生基本信息的管理。首先用户要输入三个学生的基本信息,程序即据此建立了一个有三个学生的链表,每个结点包括学号、姓名、3门课的成绩(英语、数学、计算机,其中成绩精确到小数点后两位)。菜单为:
1.显示。(即显示所建立的链表及当前链表内容)
2.排序。(即将用户所输入的学生信息按学号大小对原有链表内容进行排序,并将经排序所产生的新链表展示给用户)
3.插入。(用户根据需要可增加原链表中学生的数量,输入一个学生的基本信息,即将其插入原链表中,且新链表按学号有序排列并展现给用户)
4.查找。(输入一个学号,输出各种成绩)
5.删除。(输入一个学号,从链表中删除该学生,并展示新链表)
6.统计。(若按1,则输入该学生的学号统计该学生的总分及平均分;若按2,则输入课程(1.英语 2.数学 3.计算机)求该门课程的总分及平均分)
7.存盘。(将建立起来的链表以文件的形式存储)
8.读入。(将原来已将存盘的文件读入内存,进行管理)
1.3 开发工具
Visual C++ 6.0和Win32。
1.4 应用平台
Windows XP/Vista 32位
2 详细设计
2.1 程序结构
程序的流程:
该程序首先定义了一个记录学生基本信息的结构体,和全局变量链表的头指针“*head”,自定义了13个函数,然后是主函数通过调用以上自定义函数来实现程序的功能。这样做的好处是,在调用自定义函数时不必再对其申明。主函数第一行首先在程序运行界面中央输出“欢迎进入学生管理”,接着是输出“按回车键进入”(在界面中央),以提醒用户进一步操作程序。按回车键后程序执行创建链表函数(create()),这时出现界面需要用户输入三个学生的基本信息,按回车键后创建成功,同时进入while循环体。该循环提以“system("cls")”开始,作用是在每次循环结束进入下一次循环时对上一次循环的运行结果进行清除,以保证本次循环的结果能清晰展示。该循环第二行执行函数“printfmenu()”,输出当前链表内容。接着进入菜单选择界面,此时需输入数字(0~8)进行菜单选择。若输入‘8’,该循环结束;否则继续。然后执行菜单选择函数,用户通过菜单上执行不同的操作调用不同的函数。执行完菜单函数后,按回车键本次循环结束,并进入下一次循环。循环结束后,又一次执行清屏程序,最后输出“谢谢使用,愿你开心度过每一天”字样,至此整个程序结束。
自定义函数:
一、显示菜单函数:void printfmenu()。
用输出管理菜单:
显示
排序
插入
查找
删除
统计
存盘
读入
结束
二、链表输出函数:void printfform()。用来将已经创建链表或当前所建链表进行输出显示。
三、链表创建函数:void create()。该函数用来创建一个动态链表,期间需要用户输入学生基本信息。
四、排序函数:void arrange()。该函数用来对所创建的链表或当前存在的链表中的结构体按学号递增排序。排序结束调用“链表输出函数”,将新产生的链表进行输出。
五、插入函数:void insert().调用该函数时,由用户输入一个学生的信息,将产生一个新的结构体,并将其按