




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 目录目录 1 课程设计目的和要求 一级标题 3 2 课程的主要内容 3 3 实践要求 3 4 课程设计题目描述和要求 4 5 程序代码 4 1 文件头部 对函数要调用到的系统函数的声名 4 2 定义无空函数 5 3 主函数 6 4 显示菜单函数 6 5 输入函数 并把输入的信息读入文件 8 6 显示函数 对学生信息的显示 9 7 增加函数 增加学生的信息 10 8 删除函数 12 9 删除函数 按学号查找删除 12 10 删除函数 按姓名查找到后删除 14 11 修改 详细对学生信息的修改 15 12 统计 将学生的信息全部显示出来 并判断哪个学生不极格和不极格的总人数 并将它显示出来 17 13 对学生信息的查找 19 14 查找函数 用学号进行查找 19 15 查找 用姓名查找 20 16 排序函数 21 17 排序函数 按学号排序 22 18 排序函数 按总分排序 23 19 学生信息的恢复 可恢复到当初输入的状态 24 20 保存函数 25 21 退出函数 25 6 总结 26 7 参考书目 26 2 1 课程设计目的和要求课程设计目的和要求 一级标题 一级标题 本课程设计是针对刚学完 C 语言的计算机类专业学生的课程设计教学 C 语言是学生的第一门计算机高级语言课程 课程结束后 学生已经对 C 语言程 序设计有了较全面的了解 但接触的基本上是为了阐述相关概念或知识点而列 举的示例 都是较小的程序 程序功能单一 因此缺乏整体观点和编写一个具 体实用的综合程序的思想 本课程设计的目的是要培养学生初步具有系统分析思想 并能利用开发工 具开发一个简单实用的综合程序 为学生提供了一个既动手又动脑 独立实践 的机会 将课本上的理论知识和实际有机的结合起来 锻炼学生的分析解决实 际问题的能力 提高学生适应实际 实践编程的能力 要求学生以 TC 或 VC 为开发工具 完成一个小型应用软件的设计和开发 进一步提高学生进行程序设计的能力 2 课程的主要内容课程的主要内容 1 选题 2 进行系统分析 3 程序设计实现 4 系统测试 5 编写 上交课程设计报告 3 实践要求 实践要求 1 系统设计要实用 2 对系统进行功能模块分析 控制模块分析正确 要画出主要功能模块 的流程图 3 编程简练 可用 界面友好 功能全面 4 课程设计报告 流程图要清楚 3 4 课程设计题目描述和要求 课程设计题目描述和要求 本课程设计选题为 学生成绩管理系统 系统主要功能是管理学生成绩 信息 要求能实现学生成绩添加 删除 修改 查找 总分 平均分计算 按 成绩排序等功能 经过分析 确定本系统结构图如下图所示 经过分析 确定本系统结构图如下图所示 学生成绩管理系统 修 改 学 员 信 息 显 示 学 员 信 息 增 加 学 员 信 息 删 除 学 员 信 息 统 计 学 员 信 息 查 找 学 员 信 息 排 列 学 员 信 息 恢 复 学 员 信 息 保 存 学 生 信 息 录 入 学 员 信 息 退 出 系 统 图图 1 1 系统结构图系统结构图 5 程序代码 程序代码 1 文件头部文件头部 对函数要调用到的系统函数的声名对函数要调用到的系统函数的声名 include 将需要不得的函数包含在内 include include include define N 20 定义宏 N 为学生结构体的总数 4 struct student 这义学生结构体 long num char name 20 char sex 4 int score 3 int sum int ave struct student stu N int t 1 pl 0 定义两个全变量 学生总数变量和增加的学生变量 2 定义无空函数定义无空函数 void s 以下为定义无参函数 void input 输入 void show 显示 void increase 增项 void delet 删除 void amend 修改 void preside 统计 void fint 查找 void arrange 排序 void resume 恢复 void save 保存 void output 退出 void deleta 学号查找后删除 void deletb 姓名查找后删除 void finta 学号查找 5 void fintb 姓名查找 void arranga 学号排序 void arrangb 总分排序 3 主函数主函数 void main 主函数 int pasword 这义密码 system cls printf n n n n n n n n n t t t 请输入密码 密码为 123456 n scanf d 输入密码 if pasword 123456 s else printf 密码有误 请重新输入 n getch main 4 显示菜单函数显示菜单函数 void s int select w char k 定义变量 system cls printf C 语言课程设计 n 以下显示主菜单 6 printf 1 录入 n2 显示 n3 增项 n4 删项 n5 修改 n6 统计 n7 查找 n8 排序 n9 恢复 n10 保存 n11 退出 n printf n 选怿项目执行相应功能 以下是显示编 定人的姓名 printf n n t t t t t xxx 软件 1 班 200802520124 n n n t t t t t xxx 软件 2 班 200802520201 n scanf d switch select case 1 input break 以下是选怿执行菜单上的哪个函数 case 2 show break case 3 increase break case 4 delet break case 5 amend break case 6 preside break case 7 fint break case 8 arrange break case 9 resume break case 10 save break case 11 output break default w 1 if w 1 printf 输入有误 按任意键重新选怿 n k getchar getch s 7 5 输入函数 并把输入的信息读入文件输入函数 并把输入的信息读入文件 void input 该函数为输入函数 并把输入的信息读入文件 以便再恢复 FILE fp int x count 0 i char w r 20 o struct student p 定义变量和指向结构体的指针 变量 system cls p stu printf t t t 学生信息的录入 n do pl printf 请输入第 d 个学生的信息 n n t 逐个步骤的实现学生信息的 输入 printf 学号 n scanf ld printf n printf 姓名 n scanf s p name printf n printf 性别 n gets r gets p sex printf n printf 三门成绩 1 高数 2 C 语言 3 英语 n for i 0 iscore i p sum p score 0 p score 1 p score 2 p ave p sum 3 printf n n 是否要继续输入学生信息 如果是请按 y 不是请按 n n o getchar 接收回车键 w getchar if w y w Y 选怿是否输入更多的学生 t x 1 p 8 else x 0 while x 1 if w n w N if fp fopen stu list wb NULL printf can not open the file n return for i 0 i N i 实现对学生信息读入文件 以便恢复到输 入状态 if fwrite fclose fp printf 按任意键返回 n getch s 6 显示函数 对学生信息的显示 显示函数 对学生信息的显示 void show 显示函数 对学生信息的显示 int j i system cls printf t t t 学生成绩显示 n n 以下实现显示 9 printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高数 C 语言 英语 平均分 总分 for i 0 i t i printf 8ld 8s 8s stu i num stu i name stu i sex for j 0 jnum printf n 10 printf 姓名 n scanf s p name printf n printf 性别 n scanf s p sex printf n printf 三门成绩 1 高数 2 C 语言 3 英语 n for i 0 iscore i for i 0 isum p score 0 p score 1 p score 2 p ave p sum 3 a getchar printf n 是否要继续输入学生信息 如果是请按 y 不是请按 n n n w getchar p t 判断是否继续对学生信息的增加 if w y w Y x 1 if w n w N x 0 break while x 1 if x 0 printf n printf 按任意键返回 n getch s 11 8 删除函数 删除函数 void delet 删除函数 int i system cls printf t t t 请选怿用哪种方式删除学生信息 n printf 1 学号 n2 姓名 n scanf d 选怿用哪种方式对学生信处进行删除 switch i case 1 deleta break case 2 deletb break default printf 输入有误 请按任意键返回 n getch s 9 删除函数 按学号查找删除 删除函数 按学号查找删除 void deleta 删除函数 按学号查找删除 long num a int z j char c x m b o struct student p 定义变量 接收字符 system cls do printf 请输入要删除的学号 n scanf ld 输入学号 12 for p stu pnum num a break else printf 不存在该学生 请按任意键返回 n getch s printf 你要删除的学生为 n 显示要删除的信息 printf 8ld 8s 8s p num p name p sex for j 0 jscore j printf 8d p ave printf 8df p sum printf 你确定要删除吗 如是请输入 y 不是请输入 n n x getchar 接收回车键 c getchar if c y c Y 判断是否要删除该学生的信息 for p stu t p p p 1 t if c n N z 0 printf 是否要继续删除 是请按 1 不是请按 2 n m getchar b getchar o getchar while b y b Y 是否继续删除学生信息 printf 系统已为你删除信息 请按任意键返回 n getch s 13 10 删除函数 按姓名查找到后删除 删除函数 按姓名查找到后删除 void deletb 删除函数 按姓名查找到后删除 char name b 20 c m b r d int j z struct student p system cls do printf 请输入要删除的姓名 n gets name b r getchar 输入姓名 for p stu pname name b 0 判断是否存在该学生 break else printf 不存在该学生 请按任意键返回 n getch s printf 你要删除的学生为 n 显示要删除的学生 printf 8ld 8s 8s p num p name p sex for j 0 jscore j printf 8d p ave printf 8d p sum printf 你确定要删除吗 如是请输入 y 不是请输入 n n c getchar if c y c Y 判断是否确定要删除 for p stu t p p p 1 t 14 if c n N z 0 printf 是否要继续删除 是请按 y 不是请按 n n d getchar m getchar b getchar while b y b Y printf 请按任意键返回 n getch s 11 修改 详细对学生信息的修改 修改 详细对学生信息的修改 void amend 修改 详细对学生信息的修改 long j int i z r t char c d e f q u l v m k struct student p system cls printf 请输入要修改学生的学号 n n scanf ld 输入要修改学生的学号 for p stu pnum j 判断是否存在该学生 break else r if r 0 printf 你输入的学生不存在 请按任意键返回 n getch s printf n 你要修改的学生为 n printf 8ld 8s 8s p num p name p sex 将要修改的学生信息的显 示 for j 0 jscore j printf 8d p ave printf 8d p sum printf n n 是否要修改学号 是请按 y 不是请按 n n n l getchar c getchar if c y c Y 以下是判断对学生的哪一个信息的修改 并选怿是否进 行修改 printf 请输入正确的学号 n n scanf ld if c n c N z 1 printf 是否要修改姓名 是请按 y 不是请按 n n n q getchar d getchar m getchar if d y d Y printf 请输入正确的姓名 n scanf s p name u getchar if d n c N z printf n 是否要修改性别 是请按 y 不是请按 n n n e getchar k getchar if e y e Y printf 请输入正确的性别 n scanf s p sex 16 if e N e n z printf n 是否要修改三门成绩 是请按 y 不是请按 n n n f getchar if f y f Y printf 请输入正确的三门成绩 for i 0 iscore i p sum p score 0 p score 1 p score 2 p ave p sum 3 v getchar if f n f N printf 请按任意键返回 n getch s 12 统计 将学生的信息全部显示出来 并判断哪个学生不极格和不极格的总人数 并统计 将学生的信息全部显示出来 并判断哪个学生不极格和不极格的总人数 并 将它显示出来 将它显示出来 void preside 统计 将学生的信息全部显示出来 并判断哪个学生 不极格和不极格的总人数 并将它显示出来 int i j o 0 b 10 r 60 struct student p system cls printf t t t 学生信息统计 n n printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高数 C 语言 英语 平均分 总分 for p stu pnum p name p sex 17 for j 0 jscore j printf 8d p ave printf 8d p sum printf n n printf n n n printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高数 C 语言 英语 平均分 总分 for p stu p stu t p for i 0 iscore i num p name p sex 以下是显示不极格的学 生 for j 0 jscore j printf 8d p ave printf 8d p sum printf n n break if b 10 printf n n 班上所有的人都通过考试 n n else if b 10 printf n 以上为不极格的同学 全班不极格的人数为 d 人 n n o 显示不极格学生的总人数 printf n printf 统计完成 请按任意键返回 n getch s 18 13 对学生信息的查找 对学生信息的查找 void fint 对学生信息的查找 int i m char e system cls printf t t t 请选择用哪种方式进行查找 n printf 1 学号 n2 姓名 n scanf d 输入是用姓名查找还是用学号查找 switch i case 1 finta break case 2 e getchar fintb break default m 1 if m 1 printf 输入有误 请按任意键返回 n getch s 14 查找函数 用学号进行查找 查找函数 用学号进行查找 void finta 查找函数 用学号进行查找 int i j t long num a struct student p char a b system cls printf t t t 请输入要查找的学生学号 n scanf ld 输入要查找学生的学号 for p stu pnum num a break 判断该学生是否存在 if j 0 19 printf 不存在该学生 请按任意键返回 n n a getchar getch s printf n 你要查找的学生为 n n 以下对已查找出的学生的显示 printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高 数 C 语言 英语 平均分 总分 printf 8ld 8s 8s p num p name p sex for i 0 iscore i printf 8d p ave printf 8d p sum printf n n 查找完成 请按任意键返回 b getchar getch s 15 查找 用姓名查找 查找 用姓名查找 void fintb 查找 用姓名查找 char name b 20 int j t i struct student p system cls printf t t t 请输入要查找的学生姓名 n n gets name b 输入姓名 for p stu pname name b 0 break 判断是否存在该学生 if j 0 printf 不存在该学生 请按任意键返回 n getch s printf n 你要查找的学生为 n n 显示已找出的学生 printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高 数 C 语言 英语 平均分 总分 printf 8ld 8s 8s p num p name p sex for i 0 iscore i printf 8d p ave printf 8d p sum printf n n 查找完成 请按任意键返回 getch s 16 排序函数 排序函数 void arrange 排序函数 int i system cls printf t t t 学生信息排序 n n printf 请选怿用哪种方式排序 1 学号 2 总分 n scanf d 输入用哪种方式排序 21 switch i case 1 arranga break case 2 arrangb break default printf 输入有误 请按任意键返回 n getch s 17 排序函数 按学号排序 排序函数 按学号排序 void arranga 排序函数 按学号排序 int i struct student temp struct student p system cls printf t t t 按学号排序 n n 以下是对学生信息按学号排序 for i 1 i t i for p stu pnumnum temp p p p 1 p 1 temp printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高 数 C 语言 英语 平均分 总分 for p stu pnum p name p sex for i 0 iscore i printf 8d p ave printf 8d n n p sum printf n n 排序完成 请按任意键返回 n getch 22 s 18 排序函数 按总分排序 排序函数 按总分排序 void arrangb 排序函数 按总分排序 int i struct student temp struct student p system cls printf t t t 按总分排序 n n for i 1 i t i for p stu psumsum temp p p p 1 p 1 temp printf 8s 8s 8s 8s 8s 8s 8s 8s n 学号 姓名 性别 高数 C 语言 英语 平均分 总分 for p stu pnum p name p sex for i 0 iscore i printf 8d p ave printf 8d p sum printf n printf n n 排序完成 请按任意键返回 n getch s 23 19 学生信息的恢复 可恢复到当初输入的状态 学生信息的恢复 可恢复到当初输入的状态 void resume 学生信息的恢复 可恢复到当初输入的状态 FILE fp int i j struct student p system cls if fp fopen stu list rb NULL 打开前面已保存的文件 printf can not open the file n return for i 0 i pl i if fread fclose fp printf 8s 8s 8s 8s 8s 8s 8s 8s n n 学号 姓名 性别 高数 C 语言 英语 平均分 总分 for p stu pnum p name p sex for j 0 jscore j printf 8d p ave printf 8d p sum printf n n printf n n 学生信息已恢复到你当初输入的状态 按任意键返回 n getch s 24 20 保存函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 18683-2025钢铁件激光表面淬火
- 刺血疗法课件
- 养护员安全知识培训内容课件
- 别墅电梯安全培训内容课件
- 初级安全员培训教材课件
- 兴安化工安全培训课件
- 营销渠道策略方案文案(3篇)
- 兴义煤炭技术安全培训课件
- 初中教师安全培训资料课件
- 内蒙古双语改革课件
- 二年级上册书法教案全册
- 2025年柳州市城中区人民法院招录聘用人员考试试题
- 市政工程施工技术课件
- 油井土地复垦方案(3篇)
- GB/T 2820.5-2025往复式内燃机驱动的交流发电机组第5部分:发电机组
- 中医康复理疗管理制度
- 失眠中医养生课件
- 2025年自学考试《00504艺术概论》考试复习题库(含答案)
- T/CHES 98-2023取水口设施标准化建设与管理技术规程
- 2025年广东省广州市中考二模英语试题(含答案)
- 消防员心理测试题库及答案解析
评论
0/150
提交评论