




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 2 任务二任务二 基于文件的学生基于文件的学生 教务管理系统教务管理系统 2 1 前言前言 为了巩固我们 C 语言知识 并了解其在生活中的应用 由老师为我们带来了这个题目 通 过实训 学会为实际应用涉及的数据选择适当的逻辑结构 存储结构及相应的算法 从而 对 C 语言程序设计这门课能有一个更深刻的理解和认识 再者 实训相对于平时试验课来 说 要完成的是一个难度较大的可执行综合性程序 培养需求分析和系统架构等处理复杂 问题的能力 从而极大的提高学生的编程能力以及撰写文档的能力 希望能通过实训 实 际做到理论和实践紧密结合 同时也为后续课程打下坚实的基础知识 2 2 系统需求分析系统需求分析 2 2 1 问题定义问题定义 本系统可以应用于教务处 进行对学生 教师 教务处人员的管理 添加 修 改 删除 统计 人员查询 成绩查询 可以按照姓名查询 证件号查询 本系统主要面对学生 教师 教务处 所以进入该系统时可以选择不同的身份 进入 若已存在账号 则可以直接进去选择自己的身份 若不存在账号 则需 要管理员进入添加 管理员可以进行的功能有成绩管理 学生管理 教师管理 管理员管理 每个模块都有添加 删除 修改 统计 查询五个基本功能 而 教师则可以进行成绩的添加 修改 查询 等功能 学生只有查询和修改个人 信息的功能 2 2 2 2 需求分析需求分析 学生 管理 系统 管理 员 教师学生 教师 管理 学生 管理 成绩 管理 管理 员管 理 成绩 管理 个人 管理 查询修改 个人 信息 2 3 系统设计系统设计 2 3 1 系统架构系统架构 将要实现的模块分级进行架构 学生管理系统 管理员模块 管理教师 教师添加 教师修改 教师删除 教师统计 教师查 询 管理学生 学生添加 学生修改 学生删除 学生统计 学生查 3 询 管理管理员 管理员添加 管理员修改 管理员删除 管理员统 计 管理员查询 成绩管理 计算个人成绩 计算各科成绩 计算平均成绩 计算 最高最低分 排序 学生模块 查询个人成绩 查询个人信息 修改个人信息 教师模块 添加学生成绩 修改学生成绩 删除学生成绩 查询学生信息 查 询个人信息 修改个人信息 2 3 2 数据物理设计数据物理设计 学生 列名数据类型可否为空 姓名char否 学号char否 出身地char是 身份证号char否 联系方式char是 教师 列名数据类型可否为空 姓名char否 教师号char否 出身地char是 身份证号char否 联系方式char是 课程char否 管理员 列名数据类型可否为空 姓名char否 证件号char否 出身地char是 身份证号char否 联系方式char是 成绩 列名数据类型可否为空 学号char否 4 数学成绩float否 体育成绩float否 英语成绩float否 C 语言成绩float否 社会实践float否 总分float否 平均分float否 2 3 3 功能模块功能模块 管理员可以进行的功能有成绩管理 学生管理 教师管理 管理员管理 每个 模块都有添加 删除 修改 统计 查询五个基本功能 而教师则可以进行成 绩的添加 修改 查询 等功能 学生只有查询和修改个人信息的功能 2 4 系统实现系统实现 系统硬件环境为计算机 系统软件环境 VC 6 0 TC3 0 2 4 4 系统功能模块设计与实现系统功能模块设计与实现 2 4 4 1功能实现功能实现 下面分别对该模块中的具体功能进行详细描述 并配相应功能的截图 1 添加功能 FILE fp char ch2 int i 0 ch1 printf 欢迎进入防灾科技学院学生管理系统 n printf 添加请输入 y 退出请输入 n n scanf c if ch2 y do fp fopen manager txt a 输入所要添加的内容 5 fwrite printf s s s s n manager i name manager i sex manager i mnum manager i zhiw ei printf 是否继续添加 继续添加请输入 1 否则输入 0 n scanf d i fclose fp while ch1 1 2 修改功能 首先选择修改的依据 可以依据证件号 姓名两张方式修改 具体实现代 码如下 fp fopen manager txt r printf 请输入需要修改的人员的编号 n scanf s str for i 0 fread i if strcmp str manager i mnum 0 printf s s s s n manager i name manager i sex manager i mnum manager i zhiwei printf 确认修改 确认请输入 1 退出则输入 0 n scanf d if ch1 1 选择修改的类型 6 scanf d switch ch2 case 1 printf 请输入所要修改的姓名 n scanf s manager i name fwrite break 3 删除功能 删除可以依据证件号和姓名查询 删除方法是 先找到需要删除的人 然后 让排在其后的人员的信息替换这个人的信息 具体代码如下 FILE fp char name 20 int i flag n j ch fp fopen manager txt r printf original data n for i 0 flag 1 fread i printf s s s s n manager i name manager i sex manager i mnum manager i zhiwei n i 1 fclose fp do printf 请输入您所要删除的人员的名字 n 7 scanf s name fp fopen manager txt r for i 0 flag 1 flagi if strcmp name manager i name 0 for j i j n 1 j 后一个人的信息覆盖所需删除人的信息 flag 0 if flag n n 1 else printf not found n fp fopen manager txt w for i 0 i n i fwrite fclose fp fp fopen manager txt r for i 0 flag 1 fread i printf s s s s n manager i name manager i sex manager i mnum manager i zhiw ei fclose fp printf 是否继续删除 继续请输入 1 否则请输入 0 n scanf d while ch 1 4 查询功能 FILE fp 8 int i char name 20 int ch1 do printf 请输入姓名 scanf s name fp fopen manager txt r for i 0 fread i if strcmp name manager i name 0 printf s s s s n manager i name manager i sex manager i mnum manager i zhiwei fclose fp printf 继续请输入 1 否则输入 0 n scanf d while ch1 1 5 统计功能 FILE fp int n i fp fopen manager txt r for i 0 fread i n i 1 fclose fp printf 共有 d 名管理员 n n 9 6 权限管理 FILE fp char mnum 10 str 10 int i flag n fp fopen manager txt r printf 欢迎进入学生管理系统 n printf 请输入证件号 n scanf s mnum printf 请输入密码 n scanf s str for i 0 fread i n i 1 printf d n for i 0 flag 1 i ni if strcmp mnum manager i mnum 0 flag 0 fclose fp if flag printf 警告 密码输入错误 n 7 成绩添加 由教师添加 根据教师所教授课程而添加 具体实现代码 FILE fp fp1 fp2 int i n k j char tnum 10 snum 10 char str1 math str2 ph str3 c language str4 english str5 practise 10 printf 请输入您的教师号 n scanf s tnum fp fopen teacher txt r for i 0 fread i if strcmp tnum teacher i tnum 0 n i if strcmp teacher n course str1 0 do fp1 fopen student txt r fp2 fopen grade txt a printf 请输入您所要添加学生的学号 n scanf s snum j 0 for i 0 fread i if strcmp snum student i snum 0 strcpy grade j num student i snum printf 请输入高等数学的成绩 n scanf f fwrite j fclose fp1 fclose fp2 printf 是否继续添加 是 1 否 0 n scanf d while k 1 else if strcmp teacher n course str4 0 继续添加其他课程 else printf 不存在这门课 请核实 n fclose fp 11 8 成绩计算 FILE fp int i fp fopen grade txt a for i 0 fread i grade i sum grade i math grade i ph grade i english grade i c language grade i pra ctise grade i aver grade i sum 5 printf 学号为 s 的学生的总成绩是 f n grade i num grade i sum printf 学号为 s 的学生的平均成绩是 f n grade i num grade i aver fwrite fclose fp 12 9 成绩排序 主要是运用冒泡排序法 代码 FILE fp fp1 int i n j float temp fp fopen grade txt r for i 0 fread i n i 1 for i 0 i n 1 i for j 0 j n i j if grade j aver grade j 1 aver temp grade j aver grade j aver grade j 1 aver grade j 1 aver temp for i 0 i n 1 i printf 学号为 s 的学生的成绩为 f n grade i num grade i aver fp1 fopen grade1 txt a fwrite fclose fp1 13 fclose fp 10 计算成绩最高最低分 采用穷比法 首先设第一个人的成绩是最高或最低 再和其他人员的成绩 比较 直到所有人员比较完之后 找出最高分或最低分 具体实现代码如 下 FILE fp fp1 int i n k float max min fp fopen grade txt r fp1 fopen count txt a for i 0 fread i n i 1 max grade 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物医药科创园项目人力资源管理方案
- 2022年全国高血压日讲座培训
- 口腔全科基础知识培训课件
- 口腔产品科普知识培训课件
- 培训课件标准化
- 口服药PDCA课件教学课件
- 2025年度企业节能减排项目合作环境责任共担协议范本
- 2025年城市公共交通车辆收费员薪资待遇升级劳动合同
- 培训行业专业知识课件
- 2025年北京纯电动新能源车指标租赁合作协议
- 《矿山隐蔽致灾因素普查规范》解读培训
- 新概念第二册单词表(完整版)
- 《商务跨文化交际》课件
- 缺血性心肌病病人护理查房
- 《社保新政策解》课件
- 《基于UG的汽车机加件工时计算及系统开发》
- 房产代理转让合同范例
- GB/T 7247.1-2024激光产品的安全第1部分:设备分类和要求
- 2023银行首届夏日音乐会系列(天籁之音乐动一夏主题)活动策划方案-106正式版
- 校服供货服务方案
- 呼吸机断电的应急演练
评论
0/150
提交评论