欢迎来到天天文库
浏览记录
ID:38173592
大小:667.56 KB
页数:16页
时间:2019-06-06
《C++课程设计报告——考勤统计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《面向对象程序设计》课程设计考勤统计一目的1、课程设计目的根据所学知识,编写指定题目的C++语言程序,并规范地完成课程设计报告。通过课程设计,加深对《C++面向对象程序设计》课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,掌握C++语言的基础知识,理解面向对象系统的封装性;熟练使用C语言中的函数、数组、指针、链表和字符串等基本知识;能够进行程序调试过程中的异常处理;进一步掌握利用C++进行类的定义和操作方法;综合利用上述知识,学习设计并编写面向对象的C++简单应用程序;培养解决复杂任务功
2、能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。学会编制结构清晰、风格良好、数据结构适当的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力2、系统设计目的本系统设计目的在于,设计建立考勤系统,可以对研究生进出实验室进行签到记录,方便快捷直观地统计考勤信息。同时,利用系统统计管理可直观了解查询到当天实验室的签到考勤情况,并作出科研时间排名,对每个人的科研情况有更好的管理和了解。二需求分析1、输入数据需求分析用户可从键盘输入相关信息:姓名、学号、签到时间(时、分、秒)、离开时间(
3、时、分、秒、)等等。2、输出数据需求分析可直观明了看到当天到达实验室科研的人员的相关信息,在屏幕上依次显示每个人的学号、姓名、签到时间、离开时间、科研时间(以分钟为单位)、排名情况(按科研时间)。3、程序使用功能需求分析系统主要包含3大使用功能:1)研究生信息录入功能,能够提示用户逐项输入研究生信息(时、分、秒分三次逐项输入),并检查输入信息的合法性(如时、分、秒的取值范围,用户输入非法字符提示等),同时以分为单位计算每位同学的科研时间;用户能够进行多次的信息录入,直到程序运行退出为止;2)考勤信息浏览功
4、能,显示所有研究生的考勤情况;有良好的版面依次显示每个人学号、姓名、签到时间、离开时间、科研时间、排名情况等等;用户可以随时调用查看浏览当前考勤的总体情况,直到程序运行停止为止;16中南民族大学计算机科学学院专业计算机科学与技术学号:201521091067姓名:刘申臣《面向对象程序设计》课程设计1)排序功能,按科研时间长短进行排序并显示。用户可录入信息并实时根据所录入信息对当前排名情况进行排序或修改。4、非使用功能需求分析系统主要包含以下非使用功能:1)使用菜单选择操作,具有友好的人机交互提示和显示,方
5、便用户输入及查看程序运行过程、结果;2)对于运行解决问题的步骤(例如从键盘输入的数据、输出到显示器的结果),除了能够在显示器上显示以外,能够处理后的结果用文件的方式保存到outfile.txt文件中。3)程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等)。三概要设计1、总体设计考勤统计系统学生类的定义声明程序功能实现函数主函数及函数调用本系统主要有三大板块构成:类的定义声
6、明、功能实现函数、主函数;总体结构如图1所示:图1总体设计流程图2、类的概要设计设计定义一个Student类,主要包括姓名、学号、到达小时、到达分钟、到达秒数、离开小时、离开分钟、离开秒数、科研时间、排名、总人数等数据成员;构造函数、设置信息函数和获取信息函数等成员函数,具体结构如图2所示:16中南民族大学计算机科学学院专业计算机科学与技术学号:201521091067姓名:刘申臣《面向对象程序设计》课程设计Student类数据成员(protected)name——姓名number——学号reachHou
7、r——到达小时reachMinute——到达分钟reachSecond——到达秒数leaveHour——离开小时leaveMinute——离开分钟leaveSecond——离开秒数time——科研时间rank——时间排序成员函数(public)count——总人数(静态成员)Student()——构造函数设置信息函数set_name()——设置姓名set_number()——设置学号set_reachHour()——设置到达小时set_reachMinute()——设置到达分钟set_reachSecon
8、d()——设置到达秒数set_leaveHour()——设置离开小时set_leaveMinute()——设置离开分钟set_leaveSecond()——设置离开秒数set_time()——设置科研时间set_rank()——设置排名获取信息函数get_name()——获取姓名get_number()——获取学号get_reachHour()——获取到达小时get_reachMinute()——获取到达分钟get_reach
此文档下载收益归作者所有