C++学生考勤系统(含源代码)_第1页
C++学生考勤系统(含源代码)_第2页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、C+语言程序设计语言程序设计课程设计报告书课程设计报告书题目:班级:学号:姓名:指导教师:周期:以下由验收老师填写成绩:年月曰一、课程设计的目的与要求一、课程设计的目的与要求(一)课程设计目的与任务C+作为一门程序设计语言,其学习的最终目的是应用,作课程设计可以让我们更好的理解C+语言的精髓,学习掌握C+的语言流程,初步了解编程的思路,并且有重点的练习我们C+中的类、对象等模块的,使我们对这些重中之重的语言模块掌握的更加灵活可以实现我们的一些初步的程序设计要求也可以提高我们的实践能力;在课程设计中我们也应该就产生的实际开发问题象老师请教学习,以最好的最高的水准完成设计任务。(二)题目要求考勤信

2、息记录了学生的缺课情况, 它包括: 缺课日期、 第几节课、 课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)试设计一考勤管理系统,使之能提供以下功能:(1) .录入学生的缺课记录;(2) .修改某个学生的缺课记录;(3) .查询某个学生的缺课情况;(4) .统计某段时间内, 旷课学生姓名及旷课次数, 按旷课次数由多到少排序;(5) .统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;(6) .系统以菜单方式工作。二、设计正文二、设计正文1、系统分析考勤信息记录了学生的缺课情况, 它包括: 缺课日期、 第几节课、 学生姓名、缺课类型(迟到、早退、请假及旷课)设计一考勤管理

3、系统,使之能提供以下功能:(1).录入学生的缺课记录:从键盘输入数据,输入格式为:学生姓名、缺课日期、第几节课、课程名称、缺课类型。例如:张三2008-04-293-4C+程序设计实验迟到李四2008-04-283-4C+程序设计旷课(2) .修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。(3) .查询某个学生的缺课情况(4) .统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序(5) .统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序(6) .系统以菜单方式工作。2、功能详细描述及框图这是一个小型的学生考

4、勤系统, 它使用类来实现, 充分体现面向对象的程序设计特点。它可以实现的主要功能有:录入学生的缺课记录;修改某个学生的缺课记录;查询某个学生的缺课情况;统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;框图:3、主要功能逻辑过程和实现算法此程序用到了大模块,分别是:主菜单模块;录入模块;修改模块;查询模块;查找人数模块;查找次数,每个模块可以实现不同的功能;(1)、主菜单模块:对本程序的功能进行说明,然后出现同学通迅录的主界面;(2) 、录入模块:录入学生的缺课记录:从键盘输入数据,输入格式为:学生姓名、缺课日期

5、、第几节课、课程名称、缺课类型。(3) 、查询模块:查询某个学生的缺课情况inname;m.read(char*)&x,sizeof(x);while(!m.eof()原文件到头结束if(!strcmp(name,x.getn()coutvv姓名:vvx.getn()vvendl;coutvv日期:vvx.getd()vvendl;coutvv课时:vvx.getk()vvendl;coutvv课程名称:wx.getmOwendl;coutvv缺课类型:vvx.getl()vvendl;flag=1;(5) 、查找次数模块:统计某段时间内(以天为单位)旷课学生姓名及旷课节数,查询结果先按旷课节

6、数降序排序(6) 、查找人数模块:统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序。5、界面设计(1)主菜单界面A|-玉.人-T土改帙林盒A-浜I:匕于卜十土科缺诃L淇:A茫:芥空讪*宁土科缺哇洽況*茫:小卜门年浮iUdzm住江效*;,.十芋1LF厂宵人扛*诟.比*幻计算机应用技术系课程设计报告书6、系统测试(1)输入记录界面计算机应用技术系课程设计报告书(2)修改记录界面(3)旷课人名计算机应用技术系课程设计报告书E:4T3Detmc473.ais1、录;宇生扌彊讳记黍;2.験职彳古曲宓课记示扎查询基个学空的缺课惜抚4、旷谦学生姓名及旷课翊6.退出*女*女*女水*占*女*运

7、十 3 扁选弼毎环需茎的営岂(4)旷课课程名称:-K:4f3MJstiiir4J3.txe*汎T.录人厅的恢底记汞,士2,修起杲”寸牛日勺快垛,目;*用3.會沟杲-手牛“臥哪怙叩*A-=:g0011菊:垓埜軾MAAAA艮魂银到(5)退出界面幻计算机应用技术系课程设计报告书*士*亠上亠*占*熙丄、灵入宁巴打说煌d汞;、*认2.伽住貝 7 宀斗拥阮徐际;、*:3,自饲具个仝咗妁兌讲怙;兄*?/:弘I!、谍三巳略坯讪溟;数*?:-冇注土旷诋丸土*?:.HXH 诒选捧伫丁|否貝的怙W、yd退tl箱勤系统欢迎F次使用t三、小组成员分工说明三、小组成员分工说明独立完成四、课程设计总结或结论四、课程设计总结

8、或结论1 课程设计过程中出现的技术难点和解决方法:技术难点:对文件的使用不熟悉,不会使用。解决方法:通过到图书馆查阅资料,以及课本上的讲解和老师的帮助让我会应用文件进行数据的输出与写入,从而完善了我的程序。2 课程设计期间的主要收获:这是上大学以来第一次作课程设计,刚开始有点不知所措,很茫然,但后来,开始有了思路,作起来也容易多了,虽然会在这呆一整天,但感觉时间过得很快。本次作课程设计让我更好的理解C+语言的精髓,也更加体会到了,只有理论与实践相结合才是真正的学会,而不是只有打高分才是真的学好,这次课程设计让我掌握了C+的语言流程,初步了解编程的思路,并且类、对象等模块更加深了了解的,特别是使

9、用文件这块,我认为文件很难,刚开始,不会使用,但后来查了幻计算机应用技术系课程设计报告书很多资料,也明白了应该怎么使用,作起来就顺手多了。作课程设计的目的就是要提高我们的实践能力;所以,我会以自己所掌握的知识高水准的完成此次设计任务。幻计算机应用技术系课程设计报告书源代码:#includefstream.h#includeiostream.h#includestring.hclassstudent/声明一个类为peopleprivate:charday20;charname20;intn;charkname20;charlx20;public:/公有数据成员voidsetn()cinname;

10、/输入姓名voidsetd()cinday;输入日期voidsetk()幻计算机应用技术系课程设计报告书cinn;输入课时voidsetm()cinkname;输入课程名称voidsetl()cinlx;输入缺课类型char*getn()returnname;char*getd()returnday;intgetk()returnn;char*getm()returnkname;幻计算机应用技术系课程设计报告书char*getl()returnlx;;voidluru()intj,i;studentp100;fstreamfile;file.open(D:学生考勤.txt,ios:inlios

11、:out);文件存盘coutvv=请输入要录入几名同学信息:;cinj;coutname;m.read(char*)&x,sizeof(x);while(!m.eof()原文件到头结束if(!strcmp(name,x.getn()coutvv姓名:vvx.getn()vvendl;coutvv日期:vvx.getd()vvendl;coutvv课时:vvx.getk()vvendl;coutvv课程名称:vvx.getm()vvendl;幻计算机应用技术系课程设计报告书coutvv缺课类型:vvx.getl()vvendl;flag=1;break;m.read(char*)&x,sizeo

12、f(x);m.close();if(flag=0)coutvv_对不起,您查询的同学无缺课现象,请返回!vvendl;coutvv如继续查询请输入Y,否则按任意键返回vvendl;cinz;if(z=Yllz=y)gotoal;修改函数的调用voidxiugai()/*修改成员函数*/studentl;charxname20,w;计算机应用技术系课程设计报告书fstreamxfile;xfile.open(D:学生考勤.txt,ios:inlios:out);xfile.read(char*)&1,sizeof(l);/读文件到L里coutvv请输入您要修改的同学姓名:vvendl;cinxn

13、ame;while(!xfile.eof()调用EOF判断函数if(!strcmp(xname,l.getn()coutvv姓名:vvl.getn()vvendl;coutvv日期:vvl.getd()vvendl;coutvv课时:vvl.getk()vvendl;coutvv课程名称:vvl.getm()vvendl;coutvv缺课类型:vvl.getl()vvendl;coutvv确认修改请按Y,否则按任意键vvendl;cinw;if(w=Yllw=y)coutvv姓名:;l.setn();coutvv日期:;l.setd();coutvv课时:;l.setk();计算机应用技术系课

14、程设计报告书coutvv课程名称:;l.setm();coutvv缺课类型:;l.setl();xfile.open(D:学生考勤.txt,ios:in);xfile.write(char*)&1,sizeof(l);elsebreak;xfile.read(char*)&1,sizeof(l);读文件到L里xfile.close();voidrenci()inti=0,j=l,x=0,y=0;students;fstreamd;d.open(D:学生考勤.txt,ios:in);d.read(char*)&s,sizeof(s);幻计算机应用技术系课程设计报告书i=1;coutvv早退人数为

15、:vvxvvendl;coutvv请假人数为:vvyvvendl;coutvv旷课人数为:vvivvendl;coutvv迟到人数为:vvjvvendl;coutvv在vvs.getd()vv有:vvendl;coutvv课程名称:vvs.getm()vvendl;d.read(char*)&s,sizeof(s);/读文件到L里d.close();voidcishu()幻计算机应用技术系课程设计报告书inti=0,j=l,x=0,y=0;studentm;fstreamb;b.open(D:学生考勤.txt,ios:in);b.read(char*)&m,sizeof(m);i=1;cout

16、vv早退次数为:vvxvvendl;coutvv请假次数为:vvyvvendl;coutvv旷课次数为:vvivvendl;coutvv迟到次数为:vvjvvendl;coutvv在vvm.getd()vv有:vvendl;coutvv姓名:vvm.getn()vvendl;计算机应用技术系课程设计报告书b.read(char*)&m,sizeof(m);/读文件到L里b.close();main()inti;while(l)coutvvttt欢迎进入学生考勤系统vvendl;vvendl;coutvvtt*vvendl;coutvvtt*vvendl;coutvvtt*1、录入学生的缺课记录;vvendl;coutvvtt*vvendl;coutvvtt*2、修改某个学生的缺课记录;vvendl;coutvvtt*vvendl;coutvvtt*3、查询某个学生的缺课情况vvendl;coutvvtt*vvendl;coutvvtt*4、旷课学生姓名及旷课次数vvendl;coutvvtt*vvendl;coutvvtt*5、有学生旷课人次vvendl;coutvvtt*vvendl;coutvvtt*6.退出vvendl;coutvvtt*vvendl;幻计算机应用技术系课程设计报告书v

温馨提示

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

评论

0/150

提交评论