学生成绩管理系统C语言设计毕业论文.doc_第1页
学生成绩管理系统C语言设计毕业论文.doc_第2页
学生成绩管理系统C语言设计毕业论文.doc_第3页
学生成绩管理系统C语言设计毕业论文.doc_第4页
学生成绩管理系统C语言设计毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 学学生生成成绩绩管管理理系系统统 C C 语语 言言设设计计毕毕业业论论文文 目 录 1 1 实验目的和意义实验目的和意义 1 1 1 1 目的 1 1 2 意义 1 2 2 系统功能描述及设计系统功能描述及设计 2 2 3 3 系统存储结构设计与描述系统存储结构设计与描述 4 4 4 4 系统功能实现及算法描述系统功能实现及算法描述 7 7 4 1 学生信息的录入 7 4 2 学生信息的浏览 8 4 3 学生信息查询 9 4 4 学生信息排序 10 4 5 对学生信息进行删除 11 4 6 对学生信息进行修改 12 4 7 对学生信息进行添加 13 4 8 对学生成绩进行统计 14 5 5 系统性能测试系统性能测试 1 15 5 5 1 录入学生信息功能测试 15 5 2 浏览功能测试 15 5 3 查询学生信息 16 5 4 学生成绩排序 17 5 5 实现对学生信息的删除 18 5 6 实现对学生信息的修改 19 5 7 实现对学生信息的添加 20 5 8 实现对学生信息的统计 20 6 6 设计小结设计小结 2 21 1 致谢致谢 2 22 2 参考文献参考文献 2 23 3 源代码清单 源代码清单 2 25 5 武汉长江工商学院计算机科学与技术系 1 1 实验目的和意义 1 1 目的 本课程设计的目的就是要通过一次集中的强化训练 使学生能及时巩固已学的知识 补充未学的但又必要的内容 进行课程设计目的在于加深对程序设计基础理论和基本知识 的理解 促进理论与实践的结合 进一步提高程序设计能力 具体目的如下 1 使学生更深入地理解和掌握该课程中的有关基本概念 程序设计思想和方法 2 培养学生综合运用所学知识独立完成课程设计的能力 3 培养学生勇于探索 严谨推理 实事求是 有错必改 用实践来检验理论 全方 位考虑问题等科学技术人员应具备的素质 4 提高学生对工作认真负责 一丝不苟 对同学团结友爱 协作攻关的基本素质 5 培养学生从资料文献 科学实验中获得知识的能力 提高学生从别人经验中找到 解决问题的新途径的悟性 出不培养工程意识和创新能力 6 对学生掌握知识的深度 运用理论去处理问题的能力 实验能力 课程设计能力 书面及口头表达能力进行考核 1 2 意义 随着学校规模迅速扩大 学生管理工作信息量急剧增加 信息变化幅度大 依靠传统 的手工管理手段显然已不能适应新时期高校大学生的管理工作 无法完成大量的信息分析 和处理 同时 随着学校管理体制改革的深化 学校有关职能部门如何全面 准确 及时 地了解和掌握学生的信息 建立科学公正的学生个体和院系学生工作评价体系 已经成为 新时期高校学生管理工作面临的一个新课题 为此 建设一套切实可行的学生工作管理系 统 结合学校实际 充分利用校园网的资源优势 不仅使信息渠道更为畅通 而且可以资 源共享 既为全面了解学生的综合信息提供了方便 使得查询统计更为准确便捷 又可以 用电子档案逐步代替或辅佐传统的纸质档案 实现管理手段现代化 该系统提供学生的基本状况 学习成绩 在校表现和奖惩等全方位的信息资料 在此 基础上 构建学生考核 测评标准 建立评价指标体系 对学生进行科学测评 减少传统 测评中的人为干扰 使对学生的评价更为客观 全面和科学 提高学生工作办公自动化程度 建立学生信息库 把学生工作者从日常繁重重复的劳 动中解放出来 减轻工作强度 提高工作效率 武汉长江工商学院计算机科学与技术系 2 2 系统功能描述及设计 本课程设计要求的几个功能在程序里面都能实现 有学生信息的输入 浏览 排序 统计 修改 删除 查询 添加 退出等 根据用户的需求来执行程序 程序总体结构如 图 2 1 所示 学生信息输入负责将学生的信息存储到对应的文本文件中 对学生的信息排序就包 括按总分排序和按计算机成绩排序 统计也包括对计算机成绩的统计和对数学和英语成绩 的统计 删除就负责对学生信息的删除 查询就可实现对学号的查询 进入主菜单由函数 print 实现 里面有九个功能供其选择 菜单一 信息录入功能 输入选项一进入该功能 根据系统提示输入相应的数据 菜单二 为学生信息浏览功能 当用户输入二选项时 系统自动用户输入的数据调入 内存在输出到显示器上 供用户浏览 菜单三 为学生信息查询功能 当用户选择第三个功能后是按学号查询 菜单四 对学生成绩进行排序 当用户进入该功能后有两个选项供其选择 分别是 按 计算机和总分排序 菜单五 学生信息的删除 一般删除学生信息的时候是非常小心的 故当用户选择该 功能后为了防止误删 只有按学号查找出要删除信息的同学的信息进行删除操作 操作成 武汉长江工商学院计算机科学与技术系 3 功后 系统会给出相应的提示说明操作成功 菜单六 学生信息的修改 用户在主菜单里里面可选择此功能 进入功能后 会将所 有的同学的信息输出供用户参考 当用户输入要查找的同学的学好后可进入选择界面 提 示用户是要修改的项目 当用户选择完毕后 直接输入新的数据即可 最后将数据保存到文 件中 菜单五 学生信息的添加 用户可以根据自己的需要来选择添加学生的信息 此功能 会调用学生信息的输入来完成 事后给出提示添加成功 菜单八 学生信息的统计 此选项可以根据用户的不同需要进行统计 可按计算机成 绩统计 按英语分数排序和数学分数统计 统计的项目包括 平均分 最高分 最低分 及格率和六十分以下的 还有各个分数段的人数 菜单九 用户选择此操作后可直接退出软件 武汉长江工商学院计算机科学与技术系 4 3 3 系统存储结构设计与描述系统存储结构设计与描述 struct student long id char name 10 char sex 10 float computer math english float total stu 1000 此存储结构包括学生的姓名 学生的性别 学生的学号及学生给门功课的成绩 并且记录下该学生的总分 这些都用结构体变量数组来存储 1 此外还有文件中数据的读取 此功能用 load 函数来实现 void load FILE fp int i if fp fopen data txt rb NULL printf Can not open the file n exit 0 n fgetc fp for i 0 i n i if fread exit 0 fclose fp 此函数会将文件中的数据读取到内存中 并将有多少个学生多为函数的返回值 此外还用到 save 函数对数据的存储 2 void save FILE fp int i if fp fopen data txt wb NULL printf Can not open the file n exit 0 fputc n fp 武汉长江工商学院计算机科学与技术系 5 for i 0 i n i if fwrite exit 0 fclose fp 3 文件中数据的连续输出 此功能用 and 函数来实现 void and FILE fp int i if fp fopen data txt ab NULL printf Can not open the file n exit 0 fputc n fp for i 0 i n i if fwrite exit 0 4 每执行完一个函数后 都要返回主菜单 这时要用 back 函数来实现 void back 返回 printf 是否返回主菜单 yes 或 no gets str do scanf s str if strcmp str1 str 0 system cls main else if strcmp str2 str 0 printf 请按任意键退出 n 武汉长江工商学院计算机科学与技术系 6 exit 0 else printf 您输入的数据不正确 请重新输入 while 1 5 进入功能选项 需用 select 函数 void select 选择 int a scanf d switch a case 1 write break case 2 scan break case 3 numrefer break case 4 sort break case 5 remove break case 6 revamp break case 7 add break case 8 statistics break case 9 exit 0 break default printf 非法操作 n back break 武汉长江工商学院计算机科学与技术系 7 4 系统功能实现及算法描述 4 1 学生信息的录入 首先打开文件 用一个循环实现对学生信息的循环录入 再循环内部实现对单个学生 信息的录入 然后调用 save 函数将内存中的信息存入文件 流程图 4 1 如下 图 4 1 信息录入函数流程图 武汉长江工商学院计算机科学与技术系 8 4 2 学生信息的浏览 首先用只读的方式打开文件 调用 load 函数将文件中的信息读入内存 再将内存 中的信息逐个输出到显示器上 返回主菜单 流程图 4 2 如下 图 4 2 信息浏览函数 武汉长江工商学院计算机科学与技术系 9 4 3 学生信息查询 首先用只读的方式打开文件 调用 load 函数将文件中的信息读入内存 按照学号 查询 当两个学号相等时就输出 否则就输出 没有照此同学的信息 流程图 4 3 如下 图 4 3 查询函数流程图 武汉长江工商学院计算机科学与技术系 10 4 4 学生信息排序 首先用只读的方式打开文件 调用 load 函数将文件中的信息读入内存 由用户选 择要排序的项目 1 为对学号排序 2 为对计算机成绩的排序 最后将排好序的信息按要 求一一输出 流程图 4 4 如下 图 4 4 排序函数流程图 武汉长江工商学院计算机科学与技术系 11 4 5 对学生信息进行删除 首先用只读的方式打开文件 调用 load 函数将文件中的信息读入内存 由用户输 入要删除同学的学号 得到此同学的信息后 将此同学的信息输出 在进行一次确认 确 实要删除此同学的信息吗 Yes No 若用户选择 yes 则进行删除操作 并最终提示 信 息删除成功 接着询问 还需要删除其他同学的信息吗 Yes No 若选择 y 则 重复删除操作 若为 no 则退出 流程图 4 5 如下所示 图 4 5 信息删除函数流程图 武汉长江工商学院计算机科学与技术系 12 4 6 对学生信息进行修改 首先用只读的方式打开文件 调用 load 函数将文件中的信息读入内存 由用户输 入要修改的学生学号 系统找到对应的学生信息后输出 然后由用户选择要修改的项目 1 修 改学号 2 修改姓名 3 修改性别 4 修改计算机成绩 5 修改英语成绩 6 修改数学成绩 再由 用户输入新的值将来的值覆盖掉 将修改后的数据写入文件 流程图 4 6 如下 图 4 6 修改函数流程图 武汉长江工商学院计算机科学与技术系 13 4 7 对学生信息进行添加 先进入选项 后直接用 and 函数 提示用户想输入多少人 依次输入学号 姓名 性 别 计算机分数 英语分数 数学分数 流程图 4 7 如下 图 4 7 添加函数流程图 武汉长江工商学院计算机科学与技术系 14 4 8 对学生成绩进行统计 首先用只读的方式打开文件 调用 load 函数将文件中的信息读入内存 由用户选 择需要统计的项目 1 对计算机成绩进行统计 2 对英语成绩进行统计 3 对数学成绩进行统 计 流程图 4 8 4 9 如下 图 4 8 统计函数流程图 武汉长江工商学院计算机科学与技术系 15 5 系统性能测试 5 1 录入学生信息功能测试 用户按要求输入学生的人数 输完后可根据提示分别输出他们的姓名 性别 计算 机分数 数学分数 英语分数 并且用户决定是否返回主菜单如图 5 1 图 5 1 信息录入功能测试 5 2 浏览功能测试 用户选二后进入 体统会将文件中的学生的信息读入内存 再将内存中的信息再输出 到显示器 上如图 5 2 图 5 2 浏览功能测 学生信息一目了然 武汉长江工商学院计算机科学与技术系 16 5 3 查询学生信息 选项三是查询学生信息功能 系统会根据用户输入的学号 再和内存中的数据一一 比较直到找到符合要求的学生信息 按学号查询测试如图 5 3 图 5 3 查询信息测试 根据学号查找精确 速度快 可靠性高 5 4 学生成绩排序 进入对学生成绩排序的界面后 用户可以根据自己的需要选择相应的功能 对计算 机成绩排序 对总分排序 当用户选择了相应的功能后 可根据需要选择从高到低排序 如图 5 5 对计算机进行降序排列功能测试 图 5 5 成绩排序测试 可以再次循环排序 功能多 如图 5 6 对总分成绩进行降序排列 武汉长江工商学院计算机科学与技术系 17 图 5 6 成绩降序测试 武汉长江工商学院计算机科学与技术系 18 5 5 实现对学生信息的删除 如果用户需要对学生信息进行删除的话 可以按 5 然后根据系统的提示输入需要 删除的学生的信息 当系统找出要删除同学的信息后 用户按确定 此时 学生的信息就 被彻底删除了 学生信息删除功能测试如图 5 7 图 5 7 信息删除测试 学生信息的删除后的图片 武汉长江工商学院计算机科学与技术系 19 5 6 实现对学生信息的修改 输入要修改的信息的学生的学号 系统会自动找出 然后用户根据需要选择需要修改 的项目 可以修改姓名 性别 计算机分数 英语分数 数学分数 选择后输入新数据就 行了 信息修改功能测试如图 5 8 图 5 8 信息修改测试 修改后的信息如图 5 9 图 5 9 修改后测试 武汉长江工商学院计算机科学与技术系 20 5 7 实现对学生信息的添加 当选择了 7 后 会进入学生信息添加界面 此时用户根据学生的信息录入系统就行 了 完成后系统会自动将新的数据保存 学生信息添加功能测试如图 5 10 图 5 10 信息添加测试 能实现对学生信息的循环添加 并且会有相应的提示 5 8 实现对学生信息的统计 统计可是对不同科目进行统计 统计的项目计算机 英语 数学中的一门的最高分 最低 分 平均分以及各分数段之间人数的比例 返回后还可以继续对其他科目进行统计 如图 5 8 武汉长江工商学院计算机科学与技术系 21 6 设计小结 经过一周的课程设计 我学到了很多东西 1 定义全局变量 N 后如果后面的函数中需要使用全局变量 N 的时候不能再定义局部 变量 N 了 要不然局部变量 N 与全局变量 N 的性质不同 2 培养了我选用参考书 查阅手册及文献资料的能力 培养独立思考 深入研究 分析问题 解决问题的能力 3 过实际编译系统的分析设计 编程调试 掌握应用软件的分析方法和工程设计 方法 4 用 include stdlib h 做头文件 用 exit 可以结束整个程序 武汉长江工商学院计算机科学与技术系 22 致谢 课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会 有利于 加强我们用知识理论来分析实际问题的能力 进而加强了我们对知识认识的实践度 巩固 了我们的理论知识 深化了对知识的认识 并为走向社会打下一个良好的基础 在这次课程设计中我遇到许多问题和麻烦 得到了老师的帮助和指导 才能够使得这 次课程设计顺利的进行下去 另外 在程序调试过程中 也得到很多同学的帮助 给我及 时指出错误 提出许多宝贵意见 在此对老师和同学们表示感谢 武汉长江工商学院计算机科学与技术系 24 参考文献 1 谭浩强 C 语言课程设计 第三版 北京 清华大学出版社 1996 5 2 杨路明 从语言程序设计教程 第二版 北京 邮电大学出版社 2009 7 3 谭浩强 C 语言课程设计 第二版 北京 清华大学出版社 1991 5 4 谭浩强 C 语言程序设计题解与上机指导 北京 清华大学出版社 1991 3 武汉长江工商学院计算机科学与技术系 25 源代码清单 源代码清单 include stdio h include stdlib h include time h include string h void select 选择 void write 录入 void scan 浏览 void numrefer 查询 void sort 分类 void remove 删除 void revamp 修改 void add 添加 void statistics 统计 void menu 菜单 void main 主函数 void save 保存 void load 导出 void back 返回 void and 继续 int n char str 10 char str1 10 yes str2 10 no struct student long id char name 10 char sex 10 float computer math english 武汉长江工商学院计算机科学与技术系 26 float total stu 1000 temp void main 主函数 menu printf 请输入您的选择 select void save 保存 FILE fp int i if fp fopen data txt wb NULL printf Can not open the file n exit 0 fputc n fp for i 0 i n i if fwrite exit 0 fclose fp void load 导出 武汉长江工商学院计算机科学与技术系 27 FILE fp int i if fp fopen data txt rb NULL printf Can not open the file n exit 0 n fgetc fp for i 0 i n i if fread exit 0 fclose fp void and 继续 FILE fp int i if fp fopen data txt ab NULL printf Can not open the file n exit 0 fputc n fp for i 0 i n i if fwrite exit 0 void back 返回 printf 是否返回主菜单 yes 或 no gets str do scanf s str if strcmp str1 str 0 system cls main else if strcmp str2 str 0 printf 请按任意键退出 n exit 0 else printf 您输入的数据不正确 请重新输入 while 1 void write 录入 int i num j char str3 5 girl 武汉长江工商学院计算机科学与技术系 29 char str4 5 boy printf 请输入您要录入多少个同学的信息 scanf d for n 0 i 0 i num i n printf 该同学的学号被系统自动定为 srand time NULL for j 0 j 1000 j stu i id rand 1000 2011000 if stu j id stu i id break printf ld n stu i id printf 请输入学生姓名 scanf s stu i name printf 请输入学生性别 girl 或 boy gets stu i sex do scanf s stu i sex if strcmp stu i sex str3 0 strcmp stu i sex str4 0 break else printf 您输入的数据不合法 请重新输入 while 1 printf 计算机分数 0 100 scanf f printf 数学分数 0 100 武汉长江工商学院计算机科学与技术系 30 scanf f printf 英语分数 0 100 scanf f printf 总分 stu i total stu i computer stu i math stu i english printf 2f n stu i total save back void menu 菜单 printf printf 学生成绩管理系统 n printf printf 1 学生信息的录入 2 学生信息的浏览 n printf 3 学生信息的查询 4 学生信息的排序 n printf 5 学生成绩删除 6 学生成绩修改 n printf 7 学生成绩添加 8 学生信息的统计 n printf 9 退出系统 n printf 武汉长江工商学院计算机科学与技术系 31 void select 选择 int a scanf d switch a case 1 write break case 2 scan break case 3 numrefer break case 4 sort break case 5 remove break case 6 revamp break case 7 add break case 8 statistics break case 9 exit 0 break default printf 非法操作 n back break void scan 浏览 load int i if n 0 printf 没有学生信息 printf 是否返回主菜单 yes 或 no gets str do 武汉长江工商学院计算机科学与技术系 32 scanf s str if strcmp str1 str 0 system cls main else if strcmp str2 str 0 printf 请按任意键退出 n exit 0 else printf 您输入的数据不正确 请重新输入 while 1 printf 学号 t 姓名 性别 t 计算机 t 数学 英语 总分 n for i 0 i n i printf ld 8s 7s 7 2f 9 2f 8 2f 9 2f n stu i id stu i name stu i sex s tu i computer stu i math stu i english stu i total back void numrefer 学号查询 load long ID i printf 请输入您要查询该学生的学号 scanf ld for i 0 i n i 武汉长江工商学院计算机科学与技术系 33 if stu i id ID printf 学号 t 姓名 性别 t 计算机 t 数学 英语 总分 n printf ld 8s 7s 7 2f 9 2f 8 2f 9 2f n stu i id stu i name stu i sex s tu i computer stu i math stu i english stu i total break if i n 1 printf 没有该同学信息 n back void sort 排序 load int i j a printf 1 按照总分从大到小排序 n printf 2 按照计算机分数从大到小排序 n printf 请输入您要按照哪种方式排序 scanf d if a 1 for i 0 i n 1 i for j 0 j n 1 i j if stu j total stu j 1 total temp stu j stu j stu j 1 武汉长江工商学院计算机科学与技术系 34 stu j 1 temp printf 学号 t 姓名 性别 t 计算机 t 数学 英语 总分 n for i 0 i n i printf ld 8s 7s 7 2f 9 2f 8 2f 9 2f n stu i id stu i name stu i sex s tu i computer stu i math stu i english stu i total else if a 2 for i 0 i n 1 i for j 0 j n 1 i j if stu j computer stu j 1 computer temp stu j stu j stu j 1 stu j 1 temp printf 学号 t 姓名 性别 t 计算机 t 数学 英语 总分 n for i 0 i n i printf ld 8s 7s 7 2f 9 2f 8 2f 9 2f n stu i id stu i name stu i sex s tu i computer stu i math stu i english stu i total void remove 删除 load long ID i j 武汉长江工商学院计算机科学与技术系 35 printf 请输入您要删除的学生的学号 scanf ld for i 0 i n i if stu i id ID printf 学号 t 姓名 性别 t 计算机 t 数学 英语 总分 n printf ld 8s 7s 7 2f 9 2f 8 2f 9 2f n stu i id stu i name stu i sex s tu i computer stu i math stu i english stu i total break if i n 1 printf 没有该同学信息 n back printf 您确定要删除该同学的信息 yes 或 no n gets str do scanf s str if strcmp str1 str 0 for j i j n j stu j stu j 1 printf 该同学的信息被删除了 n n save 武汉长江工商学院计算机科学与技术系 36 break else if strcmp str2 str 0 exit 0 else printf 您输入的数据不正确 请重新输入 while 1 back void revamp 修改 load long ID i a char str3 5 girl char str4 5 boy printf 请输入您要修改的学生的学号 scanf ld for i 0 i n i if stu i id ID printf 学号 t 姓名 性别 t 计算机 t 数学 英语 总分 n printf ld 8s 7s 7 2f 9 2f 8 2f 9 2f n stu i id stu i name stu i sex s tu i computer stu i math stu i english stu i total break if i n 1 武汉长江工商学院计算机科学与技术系 37 printf 没有该同学信息 n back printf 1 修改姓名 n printf 2 修改性别 n printf 3 修改计算机分数 n printf 4 修改数学分数 n printf 5 修改英语分数 n do printf 请输入您要修改的位置 scanf ld if a 1 printf 请重新输入姓名 scanf s stu i name printf r else if a 2 printf 请重新输入性别 girl 或 boy scanf s stu i sex do printf r if strcmp stu i sex str3 0 strcmp stu i sex str4 0 break else 武汉长江工商学院计算机科学与技术系 38 printf 您输入的数据不合法 请重新输入 while 1 else if a 3 printf 请重新输入计算机分数 scanf f else if a 4 printf 请重新输入数学分数 scanf f else if a 5 printf 请重新输入英语分数 scanf f else break stu i total stu i computer stu i math stu i english printf 修改成功 n save printf 是否继续修改 yes 或 no gets str scanf s str if strcmp str1 str 0 continue else if strcmp str2 str 0 break 武汉长江工商学院计算机科学与技术系 39 else printf 您输入的数据不正确 请重新输入 while 1 back void add 添加 int i j a k 0 printf 请输入您要添加多少个同学的信息 scanf d load and char str3 5 girl char str4 5 boy for i n i n a i printf 该同学的学号被系统自动定为 srand time NULL for j 0 j 1000 j stu i id rand 1000 2011000 if stu j id stu i id break printf ld n stu i id printf 请输入学生姓名 scanf s stu i name printf 请输入学生性别 girl 或 boy gets stu i sex do 武汉长江工商学院计算机科学与技术系 40 scanf s stu i sex if strcmp stu i sex str3 0 strcmp stu i sex str4 0 break else printf 您输入的数据不合法 请重新输入 while 1 printf 计算机分数 0 100 scanf f printf 数学分数 0 100 scanf f printf 英语分数 0 100 scanf f stu i total stu i computer stu i math stu i english n printf 添加成功 n save k if k a break else continue back void statistics 统计 load int i g b 0 c 0 d 0 e 0 f 0 武汉长江工商学院计算机科学与技术系 41 float max min sum 0 a 0 float passrate ave max min stu 0 c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论