欢迎来到天天文库
浏览记录
ID:39549666
大小:355.50 KB
页数:23页
时间:2019-07-06
《C++课程设计--学生用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、23C++程序设计第14章C++课程设计本章主要内容l秒表程序设计l万年历程序设计l学生成绩管理系统设计l教工趣味抽奖程序本章教学目标l掌握C++程序的设计方法和步骤。l熟悉C++实用程序组成及设计方法。14.1秒表程序设计14.1.1设计目的通过开发秒表程序,进一步熟悉C++语言标准函数的使用,掌握类和对象的定义和使用方法。14.1.2设计要求1.设计一个径赛分组计时用的秒表程序。2.程序主要功能是:先确定本组比赛的人数;按任意键开始计,再按任意键依次记录每个人的时间;最后,显示每个人的时间。3.随时显示秒表的时间。14.1.3设计内容1.方法一:按一般
2、程序设计(1)分析通过系统时间来完成计时。开始计时时,取系统时间,按任意键分别取第1个人、第2个人……的系统时间,与开始时的系统时间相减,即可得到每个人的时间。把每个人的时间存放到一个数组中。程序最后显示每个人的时间。数组totaltime存储每个人的时间(单位:秒)。系统时间通过系统函数clock()函数获取,此函数在time.h中。开始时的按任意键,通过getch()函数实现;取每个人时间的任意键,通过kbhit()函数实现;这两个函数都在conio.h中。清除显示的时间用’b’实现。(3)程序执行说明程序执行时,提示输入每组竞赛的人数,如图14-1
3、所示。23C++程序设计图14-1初始界面输入人数后,提示“按任意键开始!”屏幕更新显示时间(单位秒),提示“按任意键取时间,按n/N键终止!”,如图14-2所示。图14-2取成绩界面取完每个人的成绩后,最后显示本组所有人的成绩,如图14-3所示。在取成绩的过程中,可以随时按n键终止。图14-3最后界面(4)程序的完善此程序基本上完成了设计要求,但还可以从一下几个方面进行完善:l运行一次可以取多组成绩;l对输入的人数进行越界检查;l采用类和对象。2.方法二:按类和对象设计(1)分析定义一个秒表类StopWatch,其数据成员为:时Hour、分Min、秒Se
4、c、百分秒Psec,存储每个人的时间数据:H[10]、M[10]、S[10]、P[10],记录每组人数Num及实际人数Numsj。其主要成员函数为:取成绩函数GetTime()、打印成绩函数PrintTime()、更新时间函数Update()、显示时间函数Display()等。主函数的功能是:输入每组的人数,然后取每个人的成绩,最后打印每个人的成绩。时间取自系统,通过clock()函数实现,通过更新函数Update()把时间转换为时分秒和毫秒。Display()在屏幕的同一行显示时间。颜色设置通过系统函数system("coloratt")实现。color
5、att是设置屏幕的前景色和背景色,其使用格式为:colorattr。attr指定屏幕输出的颜色属性。颜色属性由两个十六进制数组成,第一个是前景色,第二个是背景色。每个数字的取值含义如表14-1所示。表14-1color命令参数值的颜色含义23C++程序设计attr的值颜色attr的值颜色attr的值颜色0黑色6黄色C淡红色1蓝色7白色D淡紫色2绿色8灰色E淡黄色3湖蓝色9淡蓝色F亮白色4红色A浅绿色5紫色B淡浅绿色(2)程序代码(3)程序执行说明程序执行时,提示输入每组竞赛的人数。输入人数后,提示“按任意键开始!”屏幕更新显示时间(单位秒),提示“按任意键
6、取时间,按n/N键终止!”,取完每个人的成绩后,最后显示本组所有人的成绩,最后提示是否继续下一组,如图14-4所示。图14-4秒表2界面另外,当输入人数不在1-10之间时,会提示重新输入;在取成绩过程中,可以随时按n键终止。(4)程序的完善此程序较好地完成了设计要求,但还可以从一下几个方面进行完善:l对于短跑径赛,可以事先把每个跑道上的人员姓名录入。本组结束后,根据名次确定每个跑道上人员的成绩,并把这个成绩保存。本次径赛结束时,可以把所有参加径赛的前n名找出来。l对于长跑径赛,只需要记录每个名次上的人员姓名。源程序说明:1.程序的流程程序的流程(主函数的流
7、程和功能)如图所示:23C++程序设计输入班级信息主界面输入基本信息分组计时显示成绩退出系统结束用户登陆开始主函数代码如下:#include#include#include#include#include#includeusingnamespacestd;stringuser="Admin";stringpassword="123";charfilename[15]={""};//存放文件名structstu{intxh;charxm[10];flo
8、atcj;}x[61]={0,"",0};intnum;voidm
此文档下载收益归作者所有