1、 1 本科生课程论文封面本科生课程论文封面 课 程 名 称 C 语言课程设计 教 师 姓 名 本科生姓名 本科生学号 本科生专业 072114 (机械) 所 在 院 系 机电学院 类别: 日期: 2012 年 6 月 25 日 2 目录目录 课程论文题目 程序设计思路 功能模块图 数据结构设计 算法设计 程序代码 程序运行结果 编程中遇到的困难及解决方法 总结心得及良好建议 致谢 3 一、一、课程论文题目:学生成绩管理系统课程论文题目:学生成绩管理系统 1:题目要求 请设计学生成绩管理系统 ,实现学生信息的录入,显示,查找,添加,保 存,删除,插入等功能模块。要求功能选择用菜单实现,数据输入和
2、结果输出要 求有文件存放。 原始数据文件格式: 学号 姓名 英语 C 语言 高等数学 平均成绩 01 张三 75 85 80 80 02 李四 2:需求分析 根据题目要求,由于学生信息总是存放在文件中,所以应提供文件的输入, 输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作; 另外还应提供键盘式选择菜单实现功能选择。 3:总体设计 根据上面的需求分析,可以将这个系统的设计分为:数据输入模块、数据显示 模块、数据查找模块、数据插入模块、成绩排序模块和成绩保存模块等。 二、二、程序设计思路程序设计思路 1、用户输入模块 在此模块中用户根据自己的需求输入数字 17 中的任意一个数
3、字,实现相 应的功能。 2、信息录入功能模块 此模块可以让用户输入每个学生的信息:学号、姓名、英语成绩、C 语言 成绩、高等数学成绩、平均成绩。用户可以连续输入学生的信息,或者删除或 者查询,也可以保存当前已录入的信息。 3、修改学生成绩模块 用户可以根据实际情况的变化修改已录入的学生成绩的信息, 跟实际同步。 4、文件保存模块 用户可以在确定已录入的信息无误之后将学生的信息存为一个数据文件。 已保存的信息可以再文件中查看也可以在程序中进行查看。 用户输入的学生信 息可以随时保存。 5、查询功能模块 在此模块里, 用户可以根据提示输入所想要查询的学生的学号以查询学生的 信息。 6、删除功能模块
4、、 在此模块里,用户可以根据自己的需求选择想要删除的学生信息,选择之 后程序会再次确认,以防误删。 7、排序功能模块 在此模块中,程序会将用户已录入的信息按平均成绩由低到高进行排序。 4 三、功能模块图 四、数据结构设计 struct xueshengchengji /*声明学生成绩数据结构体*/ char xuehao10; /*学生学号*/ char name10; /*学生姓名*/ float cyuyan; /*c 语言成绩*/ float math; /*高数成绩*/ float english; /*英语成绩*/ float average; /*平均成绩*/ ; struct x
5、ueshengchengji chengji100,*p=chengji; /*声明记录学生成绩情况的 100 个 元素的结构体数组*/ 开始 x 值 1 值 2 值 7 值 6 值 5 值 4 值 3 查询模块 修改 退出 排序模块 保存模块 删除模块 添加模块 用户输入并 将值保存至 x x 结束 5 五、算法设计 1、添加模块 void add() printf (“t 请输入学生学号:“); fflush(stdin); /*清除键盘缓冲区*/ gets(chengji+n.xuehao); printf(“tttt 请输入学生姓名:“); gets(chengjin.name); printf(“tttt 请输入该学生的英语成绩:“); scanf(“%f“, printf(“tttt 请输入该学生的 C 语言成绩:“); scanf(“%f“, printf(“tttt 请输入该学生的高等数学成绩:“); scanf(“%f“, /*计算总成绩*/ chengjin.average=(chengjin.cyuyan+chengjin.math+chengjin.english)/3; /*输出内容*/ printf(“ntttt 该学生成绩为:%f“,chengjin.average); printf(“nntttt 按任意键返回“); getch(