ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:563.40KB ,
资源ID:8886211      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8886211.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(学生考勤管理系统.docx)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

学生考勤管理系统.docx

1、 课 程 设 计 报 告 课程名称 面向对象程序设计 课题名称 学生考勤管理系统 专 业 计算机科学与技术 班 级 1181班 学 号 201113030128 姓 名 蔡彪 指导教师 李珍辉 谭小兰 2012年 12 月 15日 湖南工程学院 课 程 设 计 任

2、 务 书 课程名称 面向对象程序设计 课 题 学生考勤管理系统 专业班级 计算机1181班 学生姓名 蔡彪 学 号 201113030128 指导老师 李珍辉 谭小兰 审 批 任务书下达日期 2012 年 12 月 15 日 任务完成日期 2013 年 01

3、 月 05 日 一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 学生考勤管理系统 3.设计要求: (1)根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系

4、统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E-R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释) (2) 按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。 (3)不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。 二、进度安排 第 17 周 星期二 8:00——12:00

5、 星期三 8:00——12:00 星期四 8:00——12:00 星期五 8:00——12:00 星期六 8:00——12:00 第 18 周 星期五 8:00——12:00 三、参考书籍 1.《C++程序设计课程设计》 刘振安编著 TP312C563 2.《C++ Builder和Delphi课程设计与系统开发案例》 伍俊良 清华大学出版社 7-302-06072-X 3.Visual C++课程设计案例精编 严华峰 中国水利水电出版社 7-5084-2007-

6、1 2004 4.Visual C++课程设计与系统开发案例 伍俊良 清华大学出版社 7-302-05968-3 2002 5.Visual C++语言课程设计 : 案例精选与编程指导 陈清华朱红 东南大学出版社 7-81089-275-4 2003 6.VisualC++课程设计案例精编 中国水利水电出版社 7-5084-1004-1 2002 7.数据结构课程设计案例精编 : 用C/C++描述 李建学李光元吴春芳 清华大学出版社 7-302-14536-9 2007 (编程平台不限,vc++, c++ Builder等等。)

7、 课题:学生考勤管理系统 (一)、课程设计题目: 学生考勤管理系统 (二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用

8、到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理: 1、问题描述(功能要求): 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续多节课用 begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计考勤管理系统,使之能提供以下功能: 1).录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为: 缺课日期第几节

9、课 课程名称学生姓名 缺课类型 每行一条纪录。 例如: 2008-04-29 3-4 C++程序设计实验 张三 迟到 2008-04-28 3-4 C++程序设计 李四 旷课 2).修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。 3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。 4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序; 5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课

10、程名称升序排序; 6).系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能) 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书

11、 目 录 1. 系统需求分析 1 2. 总体设计 2 3. 详细设计 4 4. 系统调试 .6 5. 结果分析 9 6. 总结 10 附录 1.系统需求分析 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续用begin-end的形式表示)、课程名称(课程名称中不会出现空格

12、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计考勤管理系统,使之能提供以下功能: (1).录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为:缺课日期 第几节课 课程名称学生姓名 缺课类型 每行一条纪录。 例如: 2009-04-29 2-4 中国近现代文学史 李云龙 迟到 2009-04-28 2-4 大学生社交礼仪 马志鹏 旷课 (2).修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。 (3).查询某个学生的缺课情况:查询结果按照日期升序排序,同一天

13、内按照所缺课程的时间升序排序。 (4).统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序; (5).统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序; (6).系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能。学生可以通过以上功能录入信息、修改信息、查询信息、整理统计出所要了解的信息,除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便,在使用的过程中保持一个愉快的心情。学生考勤管理系统有广大的用户群,这其中有老师、有教务处主任

14、有公司管理人员,也可以供给一般用户使用。总之该系统可以满足用户需求,实现对其管理的人员的考勤工作。 2. 总体设计 学生考勤管理系统包含五个大的功能,分别是:录入学生缺课信息、修改学生缺课信息、查询某个学生的缺课情况、统计某段时间内(以天为单位),旷课学生姓名及旷课节数和统计某段时间内,有学生旷课的课程及旷课人次。学生的缺课信息主要包含缺课日期,第几节课、课程名称,学生姓名,缺课类型。 在录入学生缺课信息时根据系统提示逐一输入。每输入完一条信息,系统会提示是否继续输入,用户可以选择继续或返回主菜单。 在修改学生缺课信息时,用户首先输入要

15、修改的学生姓名,系统会检索如果系统中有该学生的相关信息则系统首先会提示用户修改该学生的那一部分信息,用户可自行选择。如果系统中没有该学生的相关信息,则系统会给相关提示,用户可以选择继续输入要修改的学生姓名或选择退出返回主菜单。 在查询学生缺课信息时,用户先输入要查询的学生姓名,系统检索判断是否存在该学生的信息然后做出相应的提示。总之,用户可以方便的在系统提示下进行使用。 学生考勤管理系统中功能模块图: 菜单 统计某段时间内,有学生旷课的课程及旷课人次 统计某段时间内旷课学生姓名及旷课节数 查询某学生的缺课信息 修改某学

16、生的缺课信息 录入学生的缺课信息 按时间升序显示有学生旷课的课程及旷课人次 按时间升序显示旷课学生姓名及旷课节数 查询某学生的缺课日期、缺课节次、缺课课程名称、缺课类型 修改某学生的缺课日期、缺课节次、缺课课程名称、缺课类型 录入缺课学生的姓名、缺课日期、缺课节次、缺课课程 3. 详细设计 (1)类的设计 此系统设计了两个类,一个是record类,一个是records类。Record类完成对学生基本信息的声明与获取,包括学生姓名、缺课日期、缺课课程名称、缺课课程类型、缺课节次。 Re

17、cord类的设计 class record { public: void set(string d,int cno,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.ass

18、ign(ame);//获取缺课课程名称 sname.assign(re.sname);//获取学生姓名 this->cno=o;//获取缺课节次 this->type=re.type;//获取缺课类型 } string date,cname,sname;//定义日期,课程名称,学生姓名 int cno,type;//定义缺课节次,缺课类型 }; (2) 学生考勤系统的显示模块 void pri(records *r)//函数 {if(r->n==0) {cout<<"记录为空!"<

19、缺课日期 节次\t课程名称\t学生姓名\t缺课"<n;i++) {cout<r[i]); } } (3)学生考勤系统的查询模块 void pri(records *r)//函数 { if(r->n==0) { cout<<"记录为空!"<n;i++) { cout

20、<r[i]); } } (4)学生考勤系统的修改模块 void edt(records *r)//函数 { if(r->n==0) { cout<<"记录为空!"<>tmp; t1.assign(tmp); for(int i=0;in;i++) if(

21、r->r[i].sname==t1) { flag=7; break; } if(!flag) { cout<<"查无此学生!"<r[i].date; t2=r->r[i].cno; t3=r->r[i].cname; t4=r->r[i].sname; t5=r->r[i].type; cout<<"请输入要修改的项目:\n(1.缺课日期 2.缺课节次 3.缺课名称 4.学生姓名 5.缺课类型 6.全部) "<>flag; swi

22、tch(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

23、<<"请输入缺课名称: "<>t3; if(flag!=6)goto e6; e4: cout<<"请输入缺课学生姓名: "<>t4; if(flag!=6)goto e6; e5: cout<<"请输入缺课类型: (1.迟到 2.早退 3.请假 4.旷课) "<>t5; e6: r->r[i].set(t1,t2,t3,t4,t5); char yn; cout<<"保存修改? (y/n) "<>yn; if(yn=='y')wt(r);

24、else return;} (5)学生考勤系统的删除模块 void del(records *r)//函数 { if(r->n==0) { cout<<"记录为空!"<>flag; if(flag>r->n-1&&flag<-1) { cout<<"不存在所要删除的记录!"<n=0; else {

25、 for(int i=flag;in-1;i++) r->r[i].set(r->r[i+1]); r->n--; } char yn; cout<<"保存修改? (y/n) "<>yn; if(yn=='y')wt(r); else return; } (6)学生考勤系统的录入模块 void input(records *r)//录入 { string t1,t3,t4; int t2,t5,flag=0; char yn; cout<<"请输入学生缺课记录:"<

26、t<<"请输入缺课日期: (例如100216) "<>t1; if(!(timechk(t1)))goto m1; m2: cout<<"请输入缺第几节课: "<>t2; if(t2<1||t2>10) { cout<<"节次录入有误! 请重新录入: "<>t3; cout<<"请输入缺课学生姓名: "<>t4; m3: cout<<"请输入缺课类型: (1.迟到

27、2.早退 3.请假 4.旷课) "<>t5; if(t5<1||t5>4) { cout<<"类型输入有误! 请重新录入: "<n;i++) if(r->r[i].date==t1&&r->r[i].cno==t2&&r->r[i].cname==t3&&r->r[i].sname==t4&&r->r[i].type==t5) { cout<<"该条记录已存在,是否添加为新记录? (y/n) "<>yn;

28、 if(yn=='y')break; else if(yn=='n')goto n2; else goto n1; } r->r[r->n++].set(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

29、goto n3;} (7)学生考勤系统的统计模块 void search_s(records *r)//统计 { if(r->n==0) { cout<<"记录为空!"<>tmp; ld.assign(tmp.substr(0,6)); hd.assign(tmp.substr(7,6)); if(!t

30、imechk(ld)||!timechk(hd))goto g1; for(int i=0;in;i++) if(r->r[i]pare(ld)>=0&&r->r[i]pare(hd)<=0&&r->r[i].type==4) r1->r[r1->n++].set(r->r[i]); cout<<"请选择统计方式: (1.学生旷课情况降序显示 2.课程旷课情况降序显示)"<>i; switch(i) { case 1: cout<<"\n在"<

31、 r1->order_s(); break; case 2: cout<<"\n在"<order_c(); break; default:goto g2; } } 4.程序调试 (1)程序开始运行的界面 (2)程序显示功能的界面 (3)程序录入功能的界面 (4)程序查询功能的界面 (5)程序修改功能的界面 (6)程序删除功能的界面 5.结果分析 这次的课设,我写的程序也没有什么独到之处,我觉得唯一可

32、以从我的程序可以看出的是数组用得比较多,反正是没啥特色,不仅如此,还写得功能不全,实在是惭愧。现在在这里也只能说说它的不足之处了。 类层次不够清晰,纵观整个程序可以发现四个类之间的关系不甚恰当,我有这个感觉,但我不知如何改进。 函数参数设定不够完美,整个程序中对指针的运用比较少。对于指针的巧妙运用把握得不够。还有就是容易missing;或者是},这都是些应该改掉的毛病。 除此以外,我对于怎样用文件保存数据还没深入了解,但我将数据保存到文件后又因文件打不开而无法访问文件中的数据,对于动态链表,我不是很清晰,也就是说无法做到熟稔运用。在调试过程中我发现在主函数中把字符数组名name赋值给字符

33、指针p即p=name;然后用cout<

34、行时屏幕上尽是些乱七八糟的东西。结果不是很好,但过程够了就行。这也是自欺欺人的看法,让我再一次自责吧。 6.总结 这次的程序设计相对于上学期还是有了进步的。学生考勤管理系统要求至少要有四个类,在起初,对于定义哪四个类我是不清楚的,通过仔细的研读问题描叙终于在脑海里确定了这四个类。既然是学生考勤管理系统,那由学生缺课信息中的日期我想到了时间类,这是一个很简单的类。从系统的几大功能我又想到了系统的基础就是缺课学生的缺课信息,于是我又想到了一个信息类,还有两个类是根据两个统计功能想到的,在现在看来似乎有些不妥。通过这次的课程设计我明白了学习程序设计语言必须要勤做实验,通过

35、实验总结经验。平时遇到的一些小问题一定要重视,越是基础的知识越要理解透彻。比如指针与数组方面的知识,一旦没有弄清楚,在设计程序时就会吃亏。 这次的课设中,我遇到了很多的问题,有的通过思考或查看书本解决了,有的还留在脑子里,只有通过孜孜不倦的求索我们才会有进步,不懂得思考就不能真正的掌握一门知识。这次的实验给以了我警示,它让我明白我所掌握的知识还很欠缺,对于继承与派生这一章的知识,我以为自己勉强掌握了,这次实验后我发现我掌握得还不够。基类的保护成员公有继承到派生类,类外是否可以通过对象来访问呢,原先我认为是可以的,经过这次程序设计,我知道我错了。 总之,我觉得做学问不应该马虎,对于所学

36、一定要有深入的理解,这也是我这次课设得到的启示。 附录:源程序 #include #include #include using namespace std; //时间类 class time {public: time(int y=0,int m=0,int d=0) {year=y;month=m;day=d;} ~time(){} protected: int year,month,day; }; //信息类 class xinxi:public time

37、 { public: xinxi(){ tiaoshu++;} ~xinxi(){tiaoshu--;} void setname(char *n){strcpy(name,n);} void settime(int y,int m,int d){year=y;month=m;day=d;} void setqklx(char *qk){strcpy(queke,qk);} void setjieci(char *jc){strcpy(jieci,jc);} void setkechen(char *kc){strcpy(kechen,kc);} char *g

38、etname(){char *n;n=name;return n;} char *getqklx(){char *qk=queke;return qk;} char *getjieci(){char *jc;jc=jieci;return jc;} char *getkechen(){char *gk;gk=kechen;return gk;} int *gettime(); private: char name[20];//姓名 char jieci[3],kechen[10],queke[10]; int tm[3]; stat

39、ic int tiaoshu; }; int xinxi::tiaoshu=0; int *xinxi::gettime() { int *t; t=tm; tm[0]=year; tm[1]=month; tm[2]=day; return t; } //缺课课程类 class qkechen:public xinxi {public: qkechen(){kcshu++;} ~qkechen(){kcshu--;} int getrc(xinxi st1[],int n,i

40、nt j); char qkn[20];//公有数据成员 private: int renci; static int kcshu;//静态数据成员 }; int qkechen::kcshu=0; int qkechen::getrc(xinxi st1[],int n,int j) { renci=0; renci++; for(int i=0;i

41、ime()+2)== *(st1[j].gettime()+2)) if(strcmp(qkn,st1[i].getkechen())==0) renci++; return renci; } //缺课学生类 class qstu:public xinxi {public: qstu(){qst++;} ~qstu(){qst--;} void print(xinxi &st1); int getjs(xinxi st1[],int n,int j); int setjs(int js=0) {jieshu=

42、js;} char qstn[20]; private: int jieshu; static int qst; //静态数据成员 }; int qstu::qst=0; //类的实现 void qstu::print(xinxi &st1) { cout<<"| 缺课日期 |"<<" 第几节课 |"<<" 课程名称 |"<<" 缺课类型|"<

43、<

44、)+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)==*(st1[j].gettime()+2)) if(strcmp(st1[i+1].getname(),qstn)==0) { if(*(st1[i].getjieci()+2)!='\0') js=+2; else js++; } jieshu=js; return jieshu; }   // 函数声明 int shuru(xinxi st1[]); void cha

45、xun(xinxi st1[],qstu qt[]); void xiugai(xinxi st1[],int n); void tongji1(xinxi st1[],qstu qt1[]); void tongji2(xinxi st1[],qkechen qk1[]); void caidan(); void xiansi(xinxi &st1); void setqstn(xinxi st1[],qstu qt1[],int n); void setqkn(xinxi st1[],qkechen qk[],int n); //全局变量 int g,k=1,b=1

46、 int q=-1; char name[20],kechen[10],queke[10],jieci[3]; int y,m,d; //主函数 int main() { xinxi tl[15];//定义15条信息类对象 qstu qt[10]; qkechen qk[6]; int ch; while(1) {cout<<"********欢迎进入学生考勤管理系统!*********"<

47、 cin>>ch; switch(ch) {case 1: g=shuru(tl); break; case 2: xiugai(tl,g); break; case 3: chaxun(tl,qt); break; case 4: tongji1(tl,qt); break; case 5: tongji2(tl,qk); break; case 6: exit(0); } } return 0; } //菜单函数 void caidan() { system("color A");

48、 cout<<"*************************************************************"<

49、<"2.-------------修改学生的缺课记录---------------------------*"<>name; st1[q].setname(name); cout<<"请输入课程名称"<>kechen; st1[q].setkechen(kechen);

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服