c考勤管理课程设计报告

上传人:z**** 文档编号:50330061 上传时间:2022-01-20 格式:DOC 页数:21 大小:229.50KB
收藏 版权申诉 举报 下载
c考勤管理课程设计报告_第1页
第1页 / 共21页
c考勤管理课程设计报告_第2页
第2页 / 共21页
c考勤管理课程设计报告_第3页
第3页 / 共21页
资源描述:

《c考勤管理课程设计报告》由会员分享,可在线阅读,更多相关《c考勤管理课程设计报告(21页珍藏版)》请在装配图网上搜索。

1、附件6:理工大学学院课程设计说明书_2011_2012学年第_ 1_学期题目:考勤统计程序学 院:计算机学院专业班级:10 数字媒体技术 3班学 号:7学生:罗威豪扌旨导教师:夏力前成 绩:时 间: 2011-12-212011年12月21日考勤统计程序摘要学生考勤管理程序是作为学校考勤的基本管理,是学校对学生考勤管理的基 本依据。开发考勤管理系统, 正是完善学校信息化管理的重要环节。 人工考勤已 经很难满足学校规化管理的要求, 面对庞大的信息量, 该放手现在存在很多弊病。 因此,简历现代化的只能考情管理系统势在必行。 这样也大大减轻了考勤工作人 员的工作量,提高了工作效率,使原本复杂和鼓噪无

2、味的工作变得简单而轻松。 本文以“考勤信息管理系统” 的设计与实现为例, 阐述了考勤系统的设计开发的 全过程。该系统侧重于学生信息管理和学生考勤信息的登记与查询。 本系统使用 的开发工具是VC+开发程序,通过已编制好的程序,完成对学生信息的输入、 输出、插入、修改、删除操作,以及学生迟到、早退、旷课考勤信息的登记和查 询,完善学校管理现代化,方便管理人员统计,考勤学生出勤情况,方便学生管 理部门查询, 考核学生的出勤率, 准确地掌握学生出勤情况和相关资料, 有效管 理、掌握学生各项情况。关键词: 考勤管理 VisualC+ 文件保存 查询 统计目录1 需求分析 11.1 问题描述 11.1.1

3、 基本要求 12 概要分析 22.1 数据需求 22.1.1 程序模块及之间的调用关系 23 详细设计 . 33.1 类的设计 33.2 学生考勤系统的显示模块 33.3 学生考勤系统的查询模块 43.4 学生考勤系统的修改模块 43.5 学生考勤系统的删除模块 63.6 学生考勤系统的录入模块 63.7 学生管理系统的统计模块 84 程序测试 105 参考文献 13心得 体会 14教师 评语 151 需求分析1.1 问题描述考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程 名称(课程名称中不会出现空格) 、学生、缺课类型(迟到、早退、请假及 旷课)。 试设计考勤管理系统,使之能

4、提供以下功能:1)录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘 输入数据,测试时 可将数据存储在文件中, 利用输入重定向功能读入) ,输入格 式为:缺课日期第几节课 课程名称学生 缺课类型每行一条纪录。例如:080429 4 C+ 程序设计实验 三 迟到080428 4 C+ 程序设计 四 旷课2)修改某个学生的缺课记录。3)查询某个学生的缺课情况。4). 某段时间旷课情况的统计。1.1.1 基本要求统要实现的是学生考勤管理系统, 在设计时应该使系统便于考勤管理员、 学 生操作,系统应有的基本功能如下:(1)、学生考勤管理相关信息的管理功能;(2)、统计功能;(3)、查询功能;(

5、4)、文件保存功能;2概要分析2.1数据需求本系统主要涉及的数据有学生缺课信息类和有关信息排序类:学生缺课信息包括缺课时间、学生、课程名称、第几节、学生缺课类型(迟到、早退、旷课、 请假)。有关信息排序类包括对课程排序和对排序。程序模块及之间的调用关系图2.1学生考勤管理系统中菜单函数的功能图3 详细设计3.1 类的设计此系统设计了两个类,一个是record类,一个是records类。Record类完成对 学生基本信息的声明与获取,包括学生、缺课日期、缺课课程名称、缺课课程类 型、缺课节次。Record 类的设计class recordpublic:void set(string d,into

6、,string c,string s,int type)date.assign(d);/ 缺课日期 cname.assign(c);/ 缺课课程名称 sname.assign(s);/ 学生 this-cno=cno;/ 缺课节次 this-type=type;/ 缺课类型void set(record re)date.assign(re.date);/ 获取缺课日期 cname.assign(ame);/ 获取缺课课程名称 sname.assign(re.sname);/ 获取学生 this-cno=o;/ 获取缺课节次 this-type=re.type;/ 获取缺课类型string da

7、te,cname,sname;/ 定义日期,课程名称,学生 into,type;/ 定义缺课节次,缺课类型;3.2 学生考勤系统的显示模块void pri(records *r)/ 函数if(r-n=0)cout 记录为空 !endl;return;coutvn序号t缺课日期 节次t课程名称t学生t缺课endl;for(int i=0;in;i+)coutitri);3.3 学生考勤系统的查询模块void pri(records *r)/ 函数if(r-n=0)cout 记录为空 !endl; return;coutn 序号t缺课日期节次t课程名称t学生t缺课类型endl;for(int i=

8、0;in;i+)coutitri);3.4 学生考勤系统的修改模块void edt(records *r)/ 函数if(r-n=0)cout 记录为空 !endl;return;cout 请输入要修改缺课记录的学生 : tmp;t1.assign(tmp);for(int i=0;in;i+)if(r-ri.sname=t1)flag=7;break;if(!flag)cout 查无此学生 !ri.date;t2=r-o;t3=r-ame;t4=r-ri.sname;t5=r-ri.type;cout 请输入要修改的项目 :n(1. 缺课日期 2. 缺课节次 3. 缺课名称 4. 学生 5.

9、缺课类型 6. 全部) flag;switch(flag)case 1:goto e1;case 2:goto e2;case 3:goto e3;case 4:goto e4;case 5:goto e5;case 6:goto e1;default:goto e0;e1:cout 请输入缺课日期 : ( 例如 100216) t1;if(flag!=6)goto e6;e2:cout 请输入缺第几节课 : t2;if(flag!=6)goto e6;e3:cout 请输入缺课名称 : t3;if(flag!=6)goto e6;e4:cout 请输入缺课学生 : t4; if(flag!=

10、6)goto e6;e5:cout 请输入缺课类型 : (1. 迟到 2. 早退 3. 请假 4. 旷课) t5;e6: r-ri.set(t1,t2,t3,t4,t5); char yn;cout 保存修改 ? (y/n) yn;if(yn=y)wt(r);else return;3.5 学生考勤系统的删除模块void del(records *r)/ 函数if(r-n=0)cout 记录为空 !endl; return;cout 请输入要删除的记录的序号 : ( 输入 -1 删除全部 ) flag;if(flagr-n-1&flag-1)cout 不存在所要删除的记录 !n=0;elsef

11、or(int i=flag;in-1;i+) r-ri.set(r-ri+1);r-n-;char yn;cout 保存修改 ? (y/n) yn;if(yn=y)wt(r);else return;3.6 学生考勤系统的录入模块string t1,t3,t4;int t2,t5,flag=0;char yn;cout 请输入学生缺课记录 :endl; m1:cout 请输入缺课日期 : ( 例如 100216) t1;if(!(timechk(t1)goto m1;m2:cout 请输入缺第几节课 : t2;if(t210)cout 节次录入有误 ! 请重新录入 : endl;goto m2

12、;cout 请输入缺课名称 : t3;cout 请输入缺课学生 : t4;m3:cout 请输入缺课类型 : (1. 迟到 2. 早退 3. 请假 4. 旷课) t5;if(t54)cout 类型输入有误 ! 请重新录入 : endl;goto m3;for(int i=0;in;i+)if(r-ri.date=t1&r-o=t2&r-ame=t3&r-ri. sname=t4&r-ri.type=t5)cout 该条记录已存在 , 是否添加为新记录 ? (y/n) yn; if(yn=y)break; else if(yn=n)goto n2; else goto n1;r-rr-n+.se

13、t(t1,t2,t3,t4,t5);n2:cout 是否继续输入 ? (y/n) yn; if(yn=y)goto m1;else if(yn=n)cout 保存修改 ? (y/n) yn;if(yn=y)wt(r);else return;else goto n3;3.7 学生管理系统的统计模块void search_s(records *r)/ 统计if(r-n=0)cout 记录为空 !endl;return;records *r1=new records();g1:cout 请输入要检索的时间围 : ( 例如 080610-080612) tmp; ld.assign(tmp.subs

14、tr(0,6); hd.assign(tmp.substr(7,6); if(!timechk(ld)|!timechk(hd)goto g1;for(int i=0;in;i+) if(r-ripare(ld)=0&r-ripare(hd)ri.type=4) r1-rr1-n+.set(r-ri);cout 请选择统计方式 : (1. 学生旷课情况降序显示 2. 课程旷课情况降序 显示 )i;switch(i)case 1:coutn在vvldvv到vvhdvv期间学生旷课情况如下:order_s();break;6 oo6inep 三eq 001POAL=pu vv.K吕鬼理s刍咽s叵舔

15、=vvpuvv=m=vvp_vv=wurvvln8 N Seo4程序测试1程序开始运行的界面p统 录嘀记的/7 记录律课阮/6 课记缺缺缺晴/5 缺课的的的课 生缺生空生旷/3 書圭5石Z2 :有生纭个異1 子某某某專- 列一乂询改熹岀择 能显暑一修删某退选 功1.B.Q.札乩6.7.请糸统U1,0,A2程序显示功能的界面计1 祝录录统2 录附记的肝 记录课课课況丹 谟记缺UU情 R 缺说的的的课Z4 生缺土圭圭旷Z3 畫筈SFK “ :ents and Sett ingsAdBinistr at or 桌面u+课程设计51CTO下莪Y_2.4程序查询功能的界面计 况录录统 录星廉 记录课课课

16、况 课记缺缺缺ft 缺课的的的课 生缺注生生旷 :有4卜个个间统1查 -爰 列一父询改農岸入 能显盖一修删某退选输 励*1-;-WW瞬型蚩主姓名 率四蠶名称节次予号缺课日期0S0G23匱回功能列表? ten5程序修改功能的界面C=C: Do cuKens ajLdi_n压占_jL(ti_iri;s1:苣ox桌f&j 匚+课程设计1(!丁0下截一学生考勤管理茶统功能列奏:3 -查询某小半主的缺课情况4 似改某个4牲的缺课记录 厂删睡某个半生的缺课记录 6-MgS旷课情况的纟充计7退.出索绕请选择:(1/234/5/6/? 4诒输入要修改缺课记录的学生姓名:黄白 请输入雯倏改的项RCL.缺课日期2

17、-缺课节次3-缺课名称4 .学生姓名缺课类型-全部2 Afe第几节课:5保存修改? 3人.6程序删除功能的界面f输入7删除全部45 :r3*?:卄祝录录筑 录蛊记的 记录课课课况 课记缺缺缺隋 缺谍的的的课 生缺生生生旷 舌WW I 有生个间统1删了列 Hrb某某某3-H 列一父询改脣出择入修功 展蛊需一修删某退选薯回狗 功2.3.4.S.&-?-请请保返 15 参考文献1阿奇:C+面向对象M,电子工业2011年版,第374页。心得 体会经过本次课程设计,发现做软件真的需要做很多工作,不仅仅是敲代码。 首先,必须要有需求分析。 就拿这次的题目来说, 一个清晰的需求分析能让 我省去很多工作, 能

18、让我把代码写的更清晰, 让我的代码能有更好的重用性, 以 此简化程序。 而这次的题目其实也算不上需求分析, 只能算是功能分析吧。 从界 面到用户登陆判断, 从增删改查基本功能到文件读写。 如果能够把代码细化, 把 基本功能都封装成函数,这样应该会提高代码的重用性。其次,有了清晰的需求分析,还要有注释。注释也很重要,特别是写过之后 重用和测试代码时, 都必须得看。 否则就不得不将已写好的封装函数从头到尾再 看一遍,再理解,这样很浪费时间。有了注释,就可以省去这些重新理解函数的 时间,可以提高效率。再次,写注释是为了使函数更简单的被理解。 而写注释之前, 必须要测试这 段代码的可行性。 必须要尽可能多的考虑会出现的情况, 对不希望出现的情况予 以相对的措施或者提示。 这样在代码重用的时候也可以放心的重用, 而不必因为 代码写的不够完善而再来修改,这样也会浪费很多时间。最后,程序的测试。 一个完善的程序应该经得起测试。 自己的程序写得好不 好,最终得看测试。 如果输入了非法的输入或者操作, 程序是否能够正常运行? 还是会像这次一输入错误就会死循环?这是程序的健壮性。做好以上几个方面, 程序基本就做好了。但是任何一个程序都不可能没有BUG金无足赤人无完人。如果要追求完美,就不得不锲而不舍,定期得到用户的反馈然后修复相关问题。 就像微软一样,总是会在问题出现之后就发布漏洞补丁教师评语

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!