课程设计文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计文档
河北农业大学
本科课程设计
课程:C语言程序设计
学院:信息学院
专业班级:软件0901班
学号:
学生姓名:李成
指导教师:常淑惠
教师职称:副教授
6月10日
目录
一、设计内容 (2)
二、设计要求 (2)
三、设计分析 (3)
四、附源代码 (7)
五、参考文献 (27)
六、心得体会 (27)
一、设计题目:
开发一个简单学生成绩管理程序:实现学生成绩的添加、查找(按学号、某一门成绩查询)、求平均分、求总分、排序(按总分从高到低排序)的功能。学生信息包括学号、姓名、数学、英语、
计算机、平均分、总分。程序所显示的菜单内容如下:请选择下面的一个项目: 1 创立
2 添加
3 查询
4 求平均分
5 求总分
6 排序
7 退出
二、设计要求:
1.进行算法设计,画出流程图。
2.编程时,设计函数来实现每个功能,经过main 函数调用各函数。
3.打印程序清单,程序的输入输出要说明,在关键行后用中文说明。
4.输出的结果要准确、清晰、美观。
5.各个题目所需信息均采用链表结构存储;
6.各项功能的使用经过选择菜单项实现;
7.显示或输出可根据需要显式输出(即选择菜单中的输出或显示)或隐式输出(完成某项操作后即刻输出);
8.能够选择使用文件存储系统中的数据。
三、设计分析:
1.数据结构设计的描述
由于要用链表存储数据,收益在定义数据结构是应有指向自身的指针(struct link *next),而数据结构中的数据域则定义为与学生成绩有关的内容,如:学号、姓名等。其中,学号和姓名为了输入设计为“char”型,而各科成绩根据不同的种类又分为“int”型和“float”型。
2.变量的定义及作用
我在结构体中定义了变量“cno[10]”用来存储学号,cname[15]用来存储姓名,用float型fscore[5]存储成绩。
3.系统函数的组成及功能调用
首先,创立链表用一个create()函数,而设计要求其它方面,数据的插入函数insert(struct link *head)以及输出函数
除了自定义函数之外,还有主函数main()、菜单输出函数menu_1()、菜单选择函数menu_in()。
当choose=1时,执行create函数,并返回头指针给主函数的指针head指向链表;当choose=2时,执行insert插入函数,执行插入;当choose =3时,执行find函数,在find中调用find和locate 函数实现按学号和按三科成绩查找;当choose=4时,执行average 函数求平均数,choose=5执行sum修改函数求和,choose =6执行rank函数排序,choose=7执行exit函数退出。
4.流程图
(1)主函数流程图: