c++课程设计学生考勤管理系统报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

大连科技学院面向对象程序设计(A)课程设计题目学生考勤管理系统报告学生姓名xxx专业班级软件工程12-1指导教师李孝贵职称讲师所在单位信息科学系软件工程教研室教学部主任王立娟完成日期2014年7月6日课程设计报告单学号Xxx姓名Xxx专业班级软件工程12-1考核项目评分备注1平时工作态度及遵守纪律情况(10分)2掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平(10分)3独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度(20分)4完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)(60分)总评成绩综合评定:(优、良、中、及格、不及格)指导教师签字:年月日《面向对象程序设计(A)课程设计》任务书一、课程设计任务及要求:任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。要求:(1)根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。(2)提交课程设计报告。(3)指标:要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。第2个工作日-第4个工作日:设计程序结构、模块图。第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。指导教师签字:年月日目录大连科技学院..................................................................................................................1题目:........................................................................................................................................11.需求分析.........................................................................................................................12.概要设计..........................................................................................................................13.详细设计..........................................................................................................................24.编码..................................................................................................................................95.调试分析........................................................................................................................116.测试结果及运行效果....................................................................................................117.系统开发所用到的技术................................................................................................13参考文献..................................................................................................................................15附录全部代码........................................................................................................................161题目:c++课程设计学生考勤管理系统报告1.需求分析1.录入学生的缺课记录;2.修改某个学生的缺课记录;3.查询某个学生的缺课情况;4.统计某段时间内,某门课旷课学生姓名及旷课次数,按旷课次数由多到少排序;5.统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6.系统以菜单方式工作。1.3课题意义程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力学生考勤管理程序可以大大减缓学生考勤人员的工作量,方便了平时上课学生的出勤率的管理。2.概要设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通过根据学生姓名,课程姓名时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。功能模块图如图1所示:学生考勤管理程序修改学生缺课记录查看学生旷课记录查看单科旷课记录查询学生缺课记录建立学生缺课记录储存学生旷课记录载入学生旷课记录图2-1功能模块图这个程序是过程性语言设计的。运用多种条件语句,主体采用的是链表指针。系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁。程序使用了布尔函数。选择语句多采用if多分支选择结构与switch2语句。首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while语句先循环后判断,Break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终止本层循环。保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。3.详细设计数据结构设计structxueke{charxueke_name[50];intpeople_num;};这是定义了一个xueke结构体,用来存放一个学科名及其相应的旷课人数;structstudent{charname[50];longtime;intlesson_time;charlesson_name[50];intchidao_num;intzaotui_num;intqingjia_num;intkuangke_num;structstudent*next;};这是定义了一个student的结构体,用来存放一个学生的考勤记录,其中有,字符数组name[50],lesson_name[50],分别存放学生名字,缺课课程名字;int型变量lesson_time,chidao_num,zaotui_num,qingjia_num,kuangke_num,分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数long型变量time,记录时间。主模块设计建立学生缺课记录子模块要建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数)可用creat()函数如图1.3开始inti,b;structstudent*head,*p1,*p2;printf(请输入要建立资料的学生人数:);scanf(%d,&b);head=p2=NULL;p1=(structstudent*)malloc(LEN);输入第一个学生成绩head=p1;p2=p1;i=0;student_num++;ib;请输入第%d名学生信息:,i+1p2-next=p1;p2=p1;student_num++;i++p2-next=NULL结束YN图3-1建立学生缺课记录子模块修改学生缺课记录子模块,根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修改,如图2:4charxiugai_name[50];charxiugai_xueke_name[50];intk;开始printf(请输入要修改的学生姓名与学科名称:);scanf(%s%s,xiugai_name,xiugai_xueke_name);structstudent*p1,*p2;p2=(structstudent*)malloc(LEN);p1=head;strcmp(xiugai_name,p1-name)!=0&&(p1-next!=NULL)&&strcmp(xiugai_xueke_name,p1-lesson_name)!p1=p1-next;strcmp(xiugai_name,p1-name)==0&&strcmp(xiugai_xueke_name,p1-lesson_name)==0显示修改菜单选择修改项目并完成修改结束图3-2修改学生缺课记录子模块修改学生缺课记录子模块,根据人名可以查出该学生的所有缺课记录,如图3:5开始printf(请输入要查询的人名:);scanf(%s,chaxun_name);inti=0;charchaxun_name[50];structstudent*p;p=head;istudent_numstrcmp(chaxun_name,p-name)==0输出p所指向的结构体数据i++结束图3-3修改学生缺课记录子模块查看单科旷课记录子模块,根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数:如图46开始structstudent*p1,*p2,*p3;charlesson[50];longlook_time1,look_time2;intxunhuan_num=0;p3=(structstudent*)malloc(LEN);p1=head;p2=p1-nextxunhuan_numstudent_nump2!=NULLp2-kuangke_nump1-kuangke_nump1=p2;p2=p2-next;p1=head;p2=p1-next;xunhuan_num++;交换p1与p2指向数据printf(请输入要查看的学科名称:);scanf(%s,lesson);printf(请输入要查看的时间范围);scanf(%ld%ld,&look_time1,&look_time2);p1=head;p1!=NULLstrcmp(lesson,p1-lesson_name)==0&&look_time1=p1-time&&p1-time=look_time2输出学生姓名和旷课次数p1=p1-n

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功