版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、5?计算机应用技术系课程设计报告书C+语言程序设计课程设计报告题目 班级: 学号: 姓名: 指导教师: 周期:以下由验收老师填写成绩:年 月曰、课程设计的目的与要求(一)课程设计目的与任务C+作为一门程序设计语言,其学习的最终目的是应用, 作课程设计可以让我们更好的理解 C+语言的精髓,学习掌握 C+的语言流程,初步了解编程的思路,并且有重点的练习我们C+中的类、对象等模块的,使我们对这些重中之重的语言模块掌握的更加灵活可以实现我们的一些初步的程序设计要求也可以提高我们的实践能力;在课程设计中我们也应该就产生的实际开发问题象老师请教学习,以最好的最高的水准完成设计任务。(二)题目要求考勤信息记
2、录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能:(1) .录入学生的缺课记录;(2) .修改某个学生的缺课记录;(3) .查询某个学生的缺课情况;(4) .统计某段时间内,旷课学生姓名及旷课次数, 按旷课次数由多到少排序;(5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;(6).系统以菜单方式工作。二、设计正文1、系统分析考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、学生姓名、缺课类型(迟到、早退、请假及旷课)。设计一考勤管理系统,使之能提供以下功能:(1).
3、录入学生的缺课记录: 从键盘输入数据,输入格式为:学生姓名、缺课日期、第几节课、课程名称、缺课类型。例如:张三2008-04-293-4C+程序设计实验迟到李四2008-04-28 3-4C+程序设计旷课然后显示(2).修改某个学生的缺课记录: 可以对缺课纪录的任意部分进行修改,一下修改后的纪录。(3) .查询某个学生的缺课情况(4) .统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序(5) .统计某段时间内, 有学生旷课的课程及旷课人次,按旷课人次由多到少排序(6).系统以菜单方式工作。2、功能详细描述及框图这是一个小型的学生考勤系统,它使用类来实现,充分体
4、现面向对象的程序设计特点。它可以实现的主要功能有:录入学生的缺课记录;修改某个学生的缺课记录;查询某个学生的缺课情况;统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;5?计算机应用技术系课程设计报告书框图:3、主要功能逻辑过程和实现算法此程序用到了大模块,分别是:主菜单模块;录入模块;修改模块;查询模块; 查找人数模块;查找次数,每个模块可以实现不同的功能;(1)、主菜单模块:对本程序的功能进行说明,然后出现同学通迅录的主界面;(2 )、录入模块:录入学生的缺课记录:从键盘输入数据,输入格式为:学生姓名、缺课日
5、期、第几节课、课程名称、缺课类型。(3 )、查询模块:查询某个学生的缺课情况in>>n ame;m.read(char *)&x, sizeof(x);while(!m.eof()/原文件到头结束if(!strc mp(n ame, x.get n()"<<x.get n() <<e ndl; "<<x.getd()<<e ndl; "<<x.getk()<<e ndl;"<<x.getm()<<e ndl;"<<x.
6、getl()<<e ndl;cout<<"姓名:cout<<"日期:cout<<"课时: cout<<"课程名称:cout<<"缺课类型:flag=1;(5) 、查找次数模块:统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序(6) 、查找人数模块:统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序。5、界面设计(1)主菜单界面*文負佥吹迎迸入¥生考戟.釆須tW康入字主餐缺谏记攣2. 條改早个半主旳缺棵记录,3. 芒
7、讥*忙乎坐的缺I圮佶况 峠.旷诉爭生妊名砥旷诔i琢 -衣字生旷烯人反t. . G貝 t:颈“""请造:!予侮所韻要的佶舅J6、系统测试(1)输入记录界面B:17Dv1)iic4T3. «mu楽4.旷课学些姓课曲麹洋 S有半书旷氓人衣G退晋冒侮改的同学姑名IHT- I lili-U MM I 2lBiA T 7 i.珂.珂 诔栓-心H; Jilvn ji讳張如=BhidjO请遍举吃所需尖的佶息(2)修改记录界面* *_ A X 0£熬 九 旷课*r生世远及B厂殊ei:募寒5、有竽注丁認人枫*金*占古*由*由色佥*臺占孤 L"请迭舉他所需葺的佬&q
8、uot;滋1希M录;心時輛3曲怡氐wanqioi 20<p-S-7 aa 日aoshu kuaugkEi li.liP口则:2010-7-6.4I i,chidao_八咸功埔入同学佶息,话退回匸蚪名:xii r7 «.i屋时:44翟名w“"峡诛夬塑:曲Me也硼忒傷觀:肴技"否则按任?牌(3 )旷课人名=' "K; 4 7 l)etme4T 3. cxd氛修改S;个1*住的秋i呆记录94.5、有字主旷6.退出盒*百*女A*A役诫选呼您祈需要的信包十早退衣裁九y 诗曬曲十h A 旷谍炭妖为;1 辽到敲为,1 仕2010-8"有: 姓若
9、:uanT ei(4)旷课课程名称口叫"Ez 4 T3'D4T-hD5V4T A- rrr-'2.4.1、餵入呼生的缺溪记求, 悔砂某个寸生的缺:果记邑、 杳询菜个学牛M抉沖怙況 矿课孚-生姓名坎旷删:兹&-育竽生旷忧人妆;fl.退出A舌 A* A A盒*« 亡 A AW A* * * A谙述择范所需英養1信息O O 1 1 i i :蔦 为为肯齿7莎 人人人人窗 只恢澤到呦程 5曇兽齐课(5 )退出界面扭计算机应用技术系课程设计报告书1.录入"Tw釣就课if录I3.宣询昊个仝生旳%上谏悄况A浮A 东 炎* ETi卅三士腓皆反旷i甩匱栽乩有
10、学三旷焊人氏L-追H*首*舌楽吉选择4阴需慝旳佶至“i脅出韦動系紡.凤河下版便月n I三、小组成员分工说明独立完成四、课程设计总结或结论1课程设计过程中出现的技术难点和解决方法:技术难点:对文件的使用不熟悉,不会使用。解决方法:通过到图书馆查阅资料,以及课本上的讲解和老师的帮助让我会应用文件进行数据的输出与写入,从而完善了我的程序。2课程设计期间的主要收获:这是上大学以来第一次作课程设计,刚开始有点不知所措,很茫然,但后来,开始有了思路,作起来也容易多了,虽然会在这呆一整天,但感觉时间过得很快。本次作课程设计让我更好的理解C+语言的精髓,也更加体会到了,只有理论与实践相结合才是真正的学会, 而
11、不是只有打高分才是真的学好,这次课程设计让我掌握了 C+的语言流程,初步了解编程的思路, 并且类、对象等模块更加深了了解的,特别是使用文件这块, 我认为文件很难,刚开始,不会使用,但后来查了很多资料,也明白了应该怎么使用, 作起来就顺手多了。 作课程设计的目的就是要提高我们的实践能力;所以,我会以自己所掌握的知识高水准的完成此次设计任务。虽?计算机应用技术系课程设计报告书源代码:#i nclude "fstream.h" #in elude "iostream.h" #in elude "stri ng.h" class stude
12、nt/声明一个类为 p eo pie p rivate: char day20;char n ame20;int n;char kn ame20;char lx20;public:/公有数据成员void set n() cin>>n ame;/输入姓名void setd() void setk()cin >>day;/输入日期虽?计算机应用技术系课程设计报告书cin>>n;/输入课时void setm()cin>>kname;/输入课程名称void setl()cin>>lx;/输入缺课类型char * get n()return n
13、 ame;char * getd()retur n day;intgetk()return n;char * getm()retur n kn ame;char * getl()return lx;; void luru()int j, i;stude nt p 100;fstream file;学生考勤.txt",ios:in|ios:out);/ 文件存盘cout<<"=请输入要录入几名同学信息:"cin>>j;cout<<"ttt 请输入"<<j<<"名同学信息:&qu
14、ot;<<endl;for(i=0;i<j;i+)cout<<"姓名:H.cout<<"课时:"cout<<"名称:"Pi.set n();cout<<"日期:H.Pi.setd();Pi.setk();pi.setm();虽?计算机应用技术系课程设计报告书cout<<"类型:H.pi.setl();file.write(char *)&p i, sizeof( pi);/写文件cout<<"人人成功输入同学信息!请返
15、回!"<<endl;file.close();/ 关闭文件/查询信息void chaxun()/查询函数的调用stude nt x;char n ame20,z;fstream m;a1: int a=0,flag=0;/ goto 语句学生考勤.txt",ios:in);cout<<"请输入您要查询的同学姓名:"<<e ndl;cin>>n ame;m.read(char *)&x, sizeof(x);while(!m.eof()/原文件到头结束if(!strc mp(n ame, x.get
16、n()cout<<"课时:"<<x.getk()<<e ndl;cout<<"姓名:"<<x.get n() <<e ndl;cout<<"日期:"<<x.getd()<<e ndl;cout<<"课程名称:"<<x.getm()<<endl;虽?计算机应用技术系课程设计报告书cout<<"缺课类型:"<<x.getl()<
17、<endl;flag=1;break;m.read(char *)&x, sizeof(x);m.close();if(flag=0)cout<<"对不起,您查询的同学无缺课现象,请返回!"<<e ndl;cout<<"如继续查询请输入 Y,否则按任意键返回"<<endl;cin>>z;if(z=Y|z='y')goto a1;/*修改成员函数*/修改函数的调用void xiugai() stude nt l;char xn ame20, w;虽?计算机应用技术系课
18、程设计报告书fstream xfile;学生考勤.txt",ios:in|ios:out);xfile.read(char *)&l, sizeof(l);/ 读文件到 L 里cout<<"请输入您要修改的同学姓名:"<<endl;cin>>xn ame;while(!xfile.eof()/ 调用 EOF 判断函数if(!strc mp (x name, l.get n()cout<<"姓名:"<<l.getn()<<endl;cout<<"
19、日期:"<<l.getd()<<endl;cout<<"课时:"<<l.getk()<<endl;cout<<"课程名称:"<<l.getm()<<endl;cout<<"缺课类型:"<<l.getl()<<endl;cout<<"确认修改请按丫,否则按任意键"<<endl;cin>>w;if(w='Y'|w='y&
20、#39;)l.set n();l.setd();cout<<"课时:H.cout<<"姓名:H.cout<<"日期:H.虽?计算机应用技术系课程设计报告书elsel.setkO;cout<<"课程名称:l.setm();cout<<"缺课类型:l.setl();H.H.学生考勤.txt",ios:in);xfile.write(char *)&l, sizeof(l);break;xfile.read(char *)&l, sizeof(l);/读文件到 L
21、里xfile.close();void ren ci()int i=O,j=1,x=O,y=O;stude nt s;虽?计算机应用技术系课程设计报告书fstream d;d.read(char *)&s, sizeof(s);i=1;cout<<"早退人数为:"<<x<<e ndl;cout<<"请假人数为:"<<y<<endl;cout<<"旷课人数为:"<<i<<endl;cout<<"迟到人
22、数为:"<<j<<e ndl;cout<<"在"<<s.getd()<<"有:"<<endl;cout<<"课程名称:"<<s.getm()<<endl;5?计算机应用技术系课程设计报告书d.read(char *)&s, sizeof(s);/ 读文件到 L 里d.close();void cishu()int i=O,j=1,x=O,y=O;stude nt m;fstream b;学生考勤.txt&quo
23、t;,ios:in);b.read(char *)&m, sizeof(m);i=1;cout<<"早退次数为:"<<x<<e ndl;cout<<"请假次数为:"<<y<<endl;cout<<"旷课次数为:"<<i<<endl;cout<<"迟到次数为:"<<j<<e ndl;cout<<"在"<<m.getd()&l
24、t;<"有:"<<endl;cout<<"姓名:"vvm.getn()<<endl;b.read(char *)&m, sizeof(m);/ 读文件到 L 里b.closeO;main ()int i;while(1)cout<<"tt "<<e ndl;cout<<"ttt 欢迎进入学生考勤系统"<<endl;cout<<"tt "<<e ndl;cout<<"tt "<<e ndl;cout<<"tt "<<e ndl;cout<<"tt 探1、录入学生的缺课记录; "<<e ndl;cout<<"tt "<<e ndl;cout<<"tt 探 2、修改某个学生的缺课记录; "<<e ndl;cout<<"tt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论