已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南通大学计算机学院计算机语言与算法实践 课程设计报 告 书设计题目 出勤管理系统专业班级 电气 087 学生姓名 学 号 指导教师 胡俐蕊 日 期 2009-9-1 I目 录1 课程设计题目12课程设计目的13 课程设计要求14 课程设计报告内容14.1软件结构24.2出勤管理系统程序代码24.3该系统的运行情况64.4 设计总结与体会85参考文献8- 1 1. 课程设计题目:出勤管理系统2. 课程设计目的:使学生掌握面向过程和面向对象程序设计的基本方法,较熟练地运用面向对象技术来分析解决问题。3. 课程设计要求:采用面向对象的程序设计方法实现。要求完成以下功能:(1)定义相关的数据,比如:学生学号学生姓名课程名称上课时间到课时间出勤状态 旷课/病假/事假/迟到/早退(2)能够进行以下操作:A. 能够对数据进行增、删、改、查操作。B. 能够按学号顺序列出某一课程的出勤状况。4. 课程设计报告内容(1)给出软件结构,说明各模块的功能。(2)设计相关的类,并说明该类的作用。特别要用图形说明类之间的继承关系。(3)编写代码。- 2 4.1软件结构本程序用结构体新定义一种数据类型,系统包含一个主函数和 6个子函数(insert(),check(),rivise(),Delete(),output(),deleteallchain()) ,6 个子函数分别用来插入、查询、修改、删除、输出、收回动态分配的空间,在主函数中通过调用子函数来实现所需功能4.2出勤管理系统程序代码#include#include#includestruct chuqin /用结构体定义一个新的数据类型出勤 chuqinchar name10,number20,subject15,time115,time215,zhuangtai10;chuqin *next;/-void insert(chuqin* /定义一个 chuqin类型指针 nwhile(1)/一个死循环n=new chuqin;/用 new运算符动态分配一个 chuqin空间给指针 ncoutn-name;/输入姓名if(n-name0=N) /判断刚才输入的第一个字母是否为 Ndelete n;/若输入的第一个字母为 N,则用 delete运算符收回刚才动态分配的空间break;/跳出死循环,结束插入cinn-numbern-subjectn-time1n-time2n-zhuangtai;/若条件不满足,则继续输入学号、课程、上课时间到课时间等if(!head1) head1=n,n-next=NULL;/*假如 head指针为空,则直接让 head指针指向 n指向的存储空间(head=n) ,将 n-next赋值为空,即不指向任何存储空间*/else n-next=head1,head1=n;/若 head指针非空,则将 n指向的存储空间插在最前面 /-void check(chuqin *head)/子函数实现查询功能char number110;/定义一个字符串数组 name1临时存放要查询的姓名int flag=1;- 3 coutnumber1;/输入要查询的学号while(head)/用 while循环检索查询是否有匹配的姓名if(strcmp(number1,head-number)=0) /用函数 strcmp()判断是否有匹配姓名 if(flag) coutnamenumbersubject; couttime1time2zhuangtainext;/更新 head指针,是它指向下一个 chuqin类型的存储空间if(flag) coutname1;/输入要查询的姓名while(head)if(strcmp(name1,head-name)=0) couthead-subjecthead-time1head-time2head-zhuangtai;/输入新的课程、上课时间、到课时间break;head=head-next;if(head=NULL) coutname1;while(head)if(strcmp(name1,head-name)=0) coutnext;delete p1;else if(p2-next=NULL) p1-next=NULL;delete p2;head=p3;else p1-next=p2-next;delete p2;head=p3;flag=0;break;p1=head;head=head-next;p2=head;if(flag)coutnamenumbersubject;couttime1time2zhuangtainext;/-void deleteallchain(chuqin *head)/定义子函数来收回所有动态分配的存储空间chuqin *p;while(head) p=head;head=head-next;delete p;/-void main()/主函数int a;/定义一个整型变量chuqin *head ;/定义一个 head指针head=NULL;while(1)/死循环couta;/输入一个整型值if(a=6) break;/若该值为 6则跳出整个循环switch(a)/若 a值不为 6,执行一下程序case 1: insert(head);break;case 2: check(head);break;case 3: rivise(head);break;case 4: Delete(head);break;case 5: output(head);break;default: cout“输入有误,请重新输入n“;/*若输入的 a值不符合要求,则输出提示信息*/deleteallchain(head);/调用函数 deleteallchain()收回所有动态分配的存储空间4.3该系统的运行情况- 6 - 7 4.4 设计总结及体会- 8 本系统的编写,不仅让我对计算机编程有了更浓厚的兴趣,而且让我知道了怎么将理论与实际联系起来,将理论运用到实际生活中去,真真体会到所学知识的用去,而且本程序编写过程中,查阅了大量的资料,与老师讨论过很多问题,在实际做的过程中,我的编程水平有了很大的提高。而且,编写本系统的过程中,运用了很多 C+知识,编写的过程也是学习和巩固的过程,本程序的编写让我进一步加深了对以前所学知识的理解。总之,我最大的体会就是,编程很有意思,我会进一步努力的。参考文献:(五号,宋体加粗 )1 刘维富 陈建平 葛建芳 王春明, C+程序设计 ,北京,清华大学出版社,2007.22 张岳新, Visual
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026内蒙古大学招聘具有硕士学位控制数(非事业编制)人员42人模拟试卷含完整答案详解【名校卷】
- 钳工入职考试试题及答案
- 南开初中地理试题及答案
- 地理考试题测试题及答案
- GEN-SKL-NOTE 求职简历撰写终极指南:从HR视角到AI筛选
- 历史初一竞赛试题及答案
- 第17课 战后资本主义的新变化
- 智慧农业drone植保系统
- 新能源汽车电池热管理
- 七年级下册语文期末高频古诗文默写专项练习
- 2026年医师定期考核试题库附完整答案(夺冠)
- 2026年电气工程专业《中级职称》考试(含答案)(题库)
- 资本赋能与产业升级:资本市场驱动战略性新兴产业成长的深度剖析
- 集输气站场安全救护小常识培训
- 2026湖南事业单位招聘考试(财经)历年参考题库含答案详解
- 西北农林科技大学2026年强基计划面试+体育测试模拟试题及答案解析
- 2026苏教版一年级数学下册期末试卷及答案
- 安庆市2025安徽安庆市市直事业单位公开招聘81人笔试历年参考题库典型考点附带答案详解
- GB/T 47427-2026合成纤维预取向丝(POY)动态热应力试验方法
- 2026年广东省汕头市龙湖区中考一模考试地理试题(含答案)
- 2026年湖北省烟草专卖局招聘笔试真题
评论
0/150
提交评论