成绩记录簿课程设计报告

返回 相似
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
点击查看更多>>
资源描述:
课程设计报告 课程名称 程序设计基础 C 语言 设计题目 成绩记录簿 姓 名 杨国俊 专 业 计算机工程 班 级 学 号 指导教师 日期 2012.6.25 ~7.6 上海应用技术学院 课程设计专用纸 第 2 页 共 43 页 目录 一、目的及要求................................................................................................................................4 二、课程设计内容............................................................................................................................4 三、总体设计....................................................................................................................................5 3.1 功能模块设计.....................................................................................................................5 3.1.1成绩记录簿执行的主流程.....................................................................................5 3.1.2输入信息模块.........................................................................................................5 3.1.3修改成绩模块.........................................................................................................5 3.1.4删除模块.................................................................................................................6 3.1.5查学生成绩模块.....................................................................................................6 3.1.6查班成绩表模块.....................................................................................................6 3.1.7入文件模块.............................................................................................................6 3.1.8取文件模块.............................................................................................................6 3.1.9出模块。.................................................................................................................6 3.2数据结构设计......................................................................................................................9 3.2.1 stu 结构体................................................................................................................9 3.2.2 全局变量..................................................................................................................9 3.3 函数功能描述...................................................................................................................10 1)init............................................................................................................................10 2)input_list..................................................................................................................10 3)insert ........................................................................................................................10 4)input_info ................................................................................................................10 5)check_numberchar* s和 same_numderchar* s ....................................................10 6)check_namechar* s..................................................................................................10 7)check_number2char* s和 same_number2student*p,int i .....................................11 8)int cheak_resultfloat s和 cheak_creditfloat s........................................................11 9)void add_result ........................................................................................................11 10)search_delete、delete_stustudent* s和 student*searchfront_stu ...................11 11)seach_findstudent、 output_stuinfostudent* p..................................................12 12)seach_findclass、output_classinfoint i ..............................................................12 13)save_tofile、output_tofileFILE* fp, student* p.................................................12 14)load_file.................................................................................................................12 15)end、free_liststudent* p.....................................................................................13 四、 程序实现................................................................................................................................13 4.1 源码分析...........................................................................................................................13 1)程序预处理................................................................................................................13 2.主函数 main ................................................................................................................15 3.程序初始化 .................................................................................................................16 4.各种合法性检测 .........................................................................................................16 5.输入数据(添加) .....................................................................................................18 6.修改成绩 .....................................................................................................................22 7.删除成绩 ..................................................................................................................25 8.查询信息(班级和个人) .........................................................................................27 查询班级..........................................................................................................................32上海应用技术学院 课程设计专用纸 第 3 页 共 43 页 9.保存和打开文件 .........................................................................................................32 10.退出系统 ...................................................................................................................35 五、结论及体会..............................................................................................................................42 参考文献..........................................................................................................................................43上海应用技术学院 课程设计专用纸 第 4 页 共 43 页 一、目的及要求 1、目的 a 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在 学生学习完程序设计语言课程后进行的一次全面的综合练习。 本课程设计的目的和任务 b 巩固和加深学生对 C 语言课程的基本知识的理解和掌握; c 掌握 C 语言编程和程序调试的基本技能; d 利用 C 语言进行基本的软件设计; e 掌握书写程序设计说明文档的能力 f 提高运用 C 语言解决实际问题的能力。 2. 课程设计要求 a 分析课程设计题目的要求; b 写出详细设计说明; c 编写程序代码,调试程序使其能正确运行; d 设计完成的软件要便于操作和使用,有整齐、美观的使用界面; e 设计完成后提交课程设计报告和源代码文件的电子文档。 二、课程设计内容 题目四成绩记录簿 1. 设计要求 基本要求 g 添加成绩 h 删除成绩 i 查询学生成绩 j 查询班级成绩 k 退出 拓展功能 l 写入文件 m 读取文件上海应用技术学院 课程设计专用纸 第 5 页 共 43 页 创新(自拟)功能 程序实现的其它功能由个人自拟。 2. 设计要求具体说明 基本功能  成绩记录簿中记录以下数据学号、姓名、课程编号、课程名称、成绩、 学分,所有成绩都以百分制计分;输入信息时要检查数据项学号、课程编 号、成绩、学分的合法性,学号8位数字;课程编号5位数字;成绩0 100 之间的整数,学分 1 5之间的实型数。  添加成绩需要输入学生的学号或姓名、课程编号及成绩,如已有该门课 程成绩给出提示;  查询(班级或个人)成绩  查询个人成绩以学号或姓名作为关键字,可查询一个学生的所有成绩, 和已完成的总学分。  查询班级成绩以课程编号为关键字,成绩表后面要统计平均分、及格率 及全班同学不同课程在不同分数段分布的人数及百分比。 拓展功能 a 程序启动时先从文件读入数据,如果文件中没有数据则给出提示; b 每次修改的数据写入文件。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。三、总体设计 3.1 功能模块设计 3.1.1 成绩记录簿执行的主流程 主要的流程图如下图图1所示,首先,程序进入main函数程序调用 菜单函数menu,在主函数运行时,调用init函数默认对系统进行初始化, 并将初始化函数返回的值付给头指针head,在屏幕上显示菜单。 3.1.2 输入信息模块 执行“1.添加”操作时时,调用input_list函数,要求用户键入添上海应用技术学院 课程设计专用纸 第 6 页 共 43 页 加的人数。进入input_list函数时,将调用insert函数对每个的信息 用头插法建立链表节点并同时进行对每一个人的信息进行输入(由insert函 数调用input_info函数实现) 。 (如下图3.1.2) 3.1.3 修改成绩模块 执行“2.修改成绩”时,调用add_result函数,要求用户键入要修 改的学生的姓名或者是学号,然后键入要修改的课程编号,在输入成绩时,如 果是已经有成绩则提示“已经有程序”以后有“是否修改成绩”的提示。 3.1.4 删除模块 执行“3.删除”时,用户输入要删除的学生姓名或学号,检查合法性后, 调用查找函数search_numberchar*(学号查找)或search_namechar*(姓 名查找) ,将返回的链表地址给utput_stuinfostudent*(显示在屏幕)并且 提示用户是否删除。如过删除,则继续将返回的链表给delete_stustudent* 函数,将这个链表的下一个节点的头指针连接到这个链表的上一个尾指针,则 删除成功。 3.1.5 查学生成绩模块 调用seach_findstudent函数,要求用户输入学号或者是姓名,通过 check_name和check_number2函数判断姓名或者学号的合法性(即是否 姓名为字母,学号为) 。 3.1.6 查班成绩表模块 通过调用seach_findclass函数,要求用户输入课程编号进入,通过 课程编号查找所有节点的相同课程编号,并且输出所有学生的这一课程编号的 成绩、学分和平均分;成绩表后面要统计平均分、及格率及全班同学不同课程 在不同分数段分布的人数及百分比。 3.1.7 入文件模块 通过调用save_tofile函数,提示用户输入文件名,这里为用户自己 定义,文件以“w”方式,当程序开始运行时,提示是否打开文件,文件名 称要用户自己定义。 3.1.8 取文件模块 通过load_file函数,可将本程序保存的数据文件在程序重新期待时
展开阅读全文
收藏 下载该资源

关于我们                               联系我们


[email protected] 2008-2013        长沙景略智创信息技术有限公司版权所有
经营许可证编号:湘ICP备17000430