资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
C语言程序设计 课程设计报告 设计题目 学生考勤系统设计 专业 微电子科学与工程 班级微电131 学生赵 杨 怡 指导教师 年学期 设计任务 C语言课程设计任务书10 题目 学生考勤系统设计 功能 学生考勤系统应包含各班学生的全部信息 每个学生是一条记录 包 括姓名 性别 学号 日期 节次 出勤情况等信息 本系统可以模拟考勤 过程 记录考勤结果 并能在课程结束后按照设定的考勤评分标准自动给出 每个学生的考勤分数 要求 1 用 C语言实现程序设计 2 利用结构体进行相关信息处理 3 系统的各个功能模块要求用函数的形式实现 4 界面友好 良好的人机交互 程序加必要的注释 平时成绩 验收答辩成绩 设计报告成绩 总评成绩 指导教师 一 总体设计 1 程序的总体设计 确定界面 使用户可选择操作项目 录入 修改 查询 评 分 录入功能 使用结构体 要求用户输入姓名 性别 学号 日 期 节次 当前出勤情况等信息 并写入文件 修改功能 使用户输入学号 姓名其中一项可以修改考勤其信 息 对于修改功能的实现 是先将所有文件内容读入到内存中 然 后修改考勤值 最后再重新覆盖写入文件 查询模块 使用字符串比较函数 利用循环找到对应结构体数 组元素 然后输出需要信息 对于查询功能的实现 同修改 是先 将所有文件内容读入到内存中 然后查找到其中某项 最后输出到 屏幕 评分模块 系统根据总的应道考勤数按照百分制 求出每个学 生的分数 并输出到屏幕 2 数据结构 学生信息用结构体记录 包括姓名 字符数组 性别 字符型 日期 年月日三个字符数组 节次 整型 出情况 整型 3 函数原型声明 void main 生信息及考勤情况录入 n printf n printf 2 学生信息及考勤情况 修改 n printf n printf 3 学生信息及考勤情况 查询 n printf n printf 4 学生考勤总评分数查 询 n printf n printf n input 函数 void input int i j 0 jx 1 printf 学生基本信息录入 n if fp fopen w NULL printf 文件打开失败 n exit 0 for i 0 jx 1 i ame printf 请输入第 d个学生的学号 i 1 开 始 输出界面 switch item record 1 amend 2 34 search goal break 结束 gets stu i number printf 请输入第 d个学生的性别 男 m 女 f i 1 stu i sex getchar printf 请输入第 d个学生的生日 格式 年 月 日 i 1 scanf d d d printf 请输入第 d个学生的当前考勤次数 i 1 scanf d printf 您输入的信息为姓名 s 学号 s 性别 c 生日 d 年 d 月 d日 n 0 重输1 确认 stu i name stu i number stu i sex stu i year stu i month stu i day scanf d change 函数 void change int i 0 j 0 sway t x char name 10 number 10 printf 学生考勤修改 n if fp fopen r NULL ame name if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是 否 修 改 该 生 考 勤 信 息0 否1 是 q umber number if j i t 0 printf 未找到您所查询的数据 请重新输入 n if jj 0 i jx 1 1 jx 输入i 1 个学生信 输入 jx 值选择是否继续 j 0 输入 j 值选择是否确认 N Y i 1 i 写入文件 结束 开始 打开文件 输入 sway 值选择查找方式 Sway 1 Y N Sway 2 输入要查找 的姓名 将文件内容全部读入结构输入要查找的 学号 查找姓名 查找学号 输入 X 值选择是 否修改考勤X 1 N Y 输 入 新 的 考 勤 写入文件结束 开始 int i 0 j 0 sway t x char name 10 number 10 printf 学生信息查询 n if fp fopen r NULL ame name if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是否继续查询其他学生信息0 否1 是 scanf d if x 1 search 按照姓名查找结束 umber number if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是否继续查询其他学生信息0 否1 是 scanf d if x 1 search 按照学号查找结束 evaluate 函数 void evaluate int i 0 j 0 sway t x float score char name 10 number 10 打开文件 输入 sway 值选择查找方式 Sway 1 Y N Sway 2 输入要查找 的姓名 将文件内容全部读入结构输入要查找的 学号 查找姓名 查找学号 输出该生信息开始 printf 学生考勤分数计算 n if kqcs 0 printf 请输入应到考勤总数 ame name if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq score stu j 1 kq kqcs 100 printf 该生当前考勤分数为 score printf 是否继续计算其他学生考勤分数0 否1 是 scanf d if x 1 evaluate 按照姓名查找结束 umber number if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq score stu j 1 kq kqcs 100 printf 该生当前考勤分数为 score printf 是否继续计算其他学生考勤分数0 否1 是 scanf d if x 1 evaluate 按照学号查找结束 生信息及考勤情况录入 n printf 打开文件 输入 sway 值选择查找方式 Sway 1 Y N Sway 2 输入要查找 的姓名 将文件内容全部读入结构输入要查找的 学号 查找姓名 查找学号 输出该生信息开始 输入 应到 考勤 次数 kqcs 值 计算考勤分数 输 出 考 勤 分 数 结束 n printf 2 学生信息及考勤情况 修改 n printf n printf 3 学生信息及考勤情况 查询 n printf n printf 4 学生考勤总评分数查 询 n printf n printf n ame printf 请输入第 d个学生的学号 i 1 gets stu i number printf 请输入第 d个学生的性别 男 m 女 f i 1 stu i sex getchar printf 请输入第 d个学生的生日 格式 年 月 日 i 1 scanf d d d printf 请输入第 d个学生的当前考勤次数 i 1 scanf d printf 您输入的信息为姓名 s 学号 s 性别 c 生日 d 年 d 月 d日 n 0 重输1 确认 stu i name stu i number stu i sex stu i year stu i month stu i day scanf d ame name if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是 否 修 改 该 生 考 勤 信 息0 否1 是 q umber number if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是 否 修 改 该 生 考 勤 信 息0 否1 是 q ame name if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是否继续查询其他学生信息0 否1 是 scanf d if x 1 search 按照姓名查找结束 umber number if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq printf 是否继续查询其他学生信息0 否1 是 scanf d if x 1 search 按照学号查找结束 ame name if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq score stu j 1 kq kqcs 100 printf 该生当前考勤分数为 score printf 是否继续计算其他学生考勤分数0 否1 是 scanf d if x 1 evaluate 按照姓名查找结束 umber number if j i t 0 printf 未找到您所查询的数据 请重新输入 n if j i ame stu j 1 number stu j 1 sex stu j 1 year stu j 1 month stu j 1 day stu j 1 kq score stu j 1 kq kqcs 100 printf 该生当前考勤分数为 score printf 是否继续计算其他学生考勤分数0 否1 是 scanf d if x 1 evaluate 按照学号查找结束 printf 0 返回主菜单 n getchar a getchar getchar if a 0 main 计算考勤分数函数内容结束
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号