AI智能
改变未来

C++基础练习案例 – 模拟时钟系统 [DOS]

大学时期初学C++,做了些案例练习,想着整理一下,供自己和网友翻阅参考,谢谢支持!有个【模拟时钟系统】做的还可以。【PS】存在一些小问题,如编写习惯等,文末有简单小结,请自行辨析。算是提供不良模板,引以为戒

//**************************************************************************************////					《简易时钟(C++)》(控制台程序)			////											////	注:还有很多小问题,如键入的域值、动态修改不灵敏、程序不稳定。。。		////	    还能扩充很多功能!								////	可实现的功能:									////		1.能够手动初始化也能按照预设设置参数(可以设置两种时制!)		////		2.能够整点报时(用了windows API 函数)(在exe文件的所在目录里		////				有相应的音频文件) (同时使用了蜂鸣进行模拟报时,	////				转义字符为‘\\a’)					////		3.能够随时暂停核相应继续时钟跳动					////		4.可以重新设置参数 进行时钟运转,可以随时退出程序			////		5.可以设置闹钟时刻,时刻一到,播放闹铃!				////		6.可以切换两种显示方式							////							作者:SHARP-EYE   2014.9.23	////**************************************************************************************//

 

头文件编写

Clock.h:

#ifndef clock_h#define clock_h#include <windows.h>#include <iostream>#include <stdio.h>#include <conio.h>#include<mmsystem.h>				//	windows多媒体调用需要#pragma comment(lib,"WINMM.LIB")	//	windows多媒体调用需要using namespace std;class Clock{private:int hour;		//小时参数int minute;		//分钟int second;		//秒钟int a_h;		//闹钟 时int a_m;		//闹钟 分int a_s;		//闹钟 秒int mm;			//a.m. or p.m.int temp;		//临时需要int r;			//判断哪个制式int t_ap;		//上午/下午 临时变量int Do;			//整点int fun;		//动态设置开关量int pau;		//暂停开关量int al;			//闹钟开关量int AmPm();		//上午下午临时需要值public:Clock();								//构造函数void set_clock(int *,int *,int *);		//设置时钟void revise_clock();	//修改时钟void show_12_clock();	//显示12时钟void show_24_clock();	//显示24时钟void stop_clock();	//停止时钟void Clock::set_parameter();	//手动输入【时 分 秒】!bool set_a_or_p();void init_clock();void r_start();void tranaction();void key();bool pause_switch();void pause_clock();void init_alarm();bool show_alarm();bool alarm_key();void show_alarm_paramter();//bool display_option();void time_24_clock();	//绝对时钟!(每一秒 second加1 满60 minute加1 满60 hour加1 满24 归0)void time_12_clock();bool Do_music();		//判断是否需要发声!//void music();};#endif

resource.h:

//{{NO_DEPENDENCIES}}// Microsoft Visual C++ generated include file.// Used by pic.rc//#define IDI_ICON1                       101// Next default values for new objects//#ifdef APSTUDIO_INVOKED#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE        102#define _APS_NEXT_COMMAND_VALUE         40001#define _APS_NEXT_CONTROL_VALUE         1001#define _APS_NEXT_SYMED_VALUE           101#endif#endif

 

Clock类方法实现

#include "clock.h"			//包含自建头文件//构造函数(初始化 值)Clock::Clock(){hour = 0;minute = 0;second = 0;a_h = a_m = a_s = 99;temp = 0;r = 0;t_ap = 0;mm = 0;fun = 0;pau = 0;al = 0;}//设置 时 分 秒(通过指针传递数值)void Clock::set_clock(int *ph,int *pm, int *ps){if( *ph > 24)*ph = 0;if( *pm > 60)*pm = 0;if( *ps > 60)*ps = 0;hour = *ph;minute = *pm;second = *ps;}//手动设置(初始化)函数(含有不正确值键入返回重新等待键入)void Clock::set_parameter(){int a,b,c;cout<<"请选择制式:【5】--12制 or 【6】--24制:(请输入正确数字)"<<endl;U:scanf("%d",&r);if( 5!= r && 6 !=r ){cout<<"请重新选择制式:【5】--12制 or 【6】--24制:(请输入正确数字)"<<endl;r = NULL;goto U;}cout<<"制式设置成功!"<<endl;if( 5 == r){cout<<"请输入【7】上午/【8】下午:"<<endl;L:scanf("%d",&t_ap);if( 7 != t_ap && 8 !=t_ap){cout<<"请重新输入【7】上午/【8】下午:(请输入正确数字)"<<endl;t_ap = NULL;goto L;}if( 7 == t_ap)mm = 0;if( 8 == t_ap){mm = 1;temp = 1;}cout<<"上午/下午 设置成功!"<<endl;}cout<<"请输入时钟[超过域值以0键入]:(格式:(时):(分):(秒)):	【按回车确认】"<<endl;scanf("%d:%d:%d",&a,&b,&c);if(0 != t_ap){if( a > 11)a = 0;}Clock::set_clock(&a,&b,&c);cout<<"时间设置成功!"<<endl;if(5 == r)Clock::show_12_clock();if(6 == r)Clock::show_24_clock();}//设置为12制式的显示函数void Clock::show_12_clock(){if(1 == fun){if(0 == mm){if(hour >=10 && minute >=10 && second < 10)cout<<"a.m."<<"【"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl; //显示时钟:a.m.【12:00:00】else if(hour >=10 && minute <10 && second >= 10)cout<<"a.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute >10 && second >=10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute <10 && second >=10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute >=10 && second <10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;else if(hour >=10 && minute <10 && second <10)cout<<"a.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute <10 && second <10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;elsecout<<"a.m."<<"【"<<hour<<":"<<minute<<":"<<second<<"】"<<" @可调"<<endl;}if(1 == mm){if(hour >=10 && minute >=10 && second < 10)cout<<"p.m."<<"【"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl; //显示时钟:p.m.【12:00:00】else if(hour >=10 && minute <10 && second >= 10)cout<<"p.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute >10 && second >=10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute <10 && second >=10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute >=10 && second <10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;else if(hour >=10 && minute <10 && second <10)cout<<"p.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute <10 && second <10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;elsecout<<"p.m."<<"【"<<hour<<":"<<minute<<":"<<second<<"】"<<" @可调"<<endl;}}else{if(0 == mm){if(hour >=10 && minute >=10 && second < 10)cout<<"a.m."<<"【"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<endl; //显示时钟:a.m.【12:00:00】else if(hour >=10 && minute <10 && second >= 10)cout<<"a.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute >10 && second >=10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute <10 && second >=10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute >=10 && second <10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<endl;else if(hour >=10 && minute <10 && second <10)cout<<"a.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<endl;else if(hour <10 && minute <10 && second <10)cout<<"a.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<endl;elsecout<<"a.m."<<"【"<<hour<<":"<<minute<<":"<<second<<"】"<<endl;}if(1 == mm){if(hour >=10 && minute >=10 && second < 10)cout<<"p.m."<<"【"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<endl; //显示时钟:p.m.【12:00:00】else if(hour >=10 && minute <10 && second >= 10)cout<<"p.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute >10 && second >=10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute <10 && second >=10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute >=10 && second <10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<endl;else if(hour >=10 && minute <10 && second <10)cout<<"p.m."<<"【"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<endl;else if(hour <10 && minute <10 && second <10)cout<<"p.m."<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<endl;elsecout<<"p.m."<<"【"<<hour<<":"<<minute<<":"<<second<<"】"<<endl;}}}//设置为24制式的显示函数void Clock::show_24_clock(){if(1 == fun){if(hour >=10 && minute >=10 && second < 10)cout<<"【"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl; //显示时钟:【12:00:00】else if(hour >=10 && minute <10 && second >= 10)cout<<"【"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute >10 && second >=10)cout<<"【"<<"0"<<hour<<":"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute <10 && second >=10)cout<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute >=10 && second <10)cout<<"【"<<"0"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;else if(hour >=10 && minute <10 && second <10)cout<<"【"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;else if(hour <10 && minute <10 && second <10)cout<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<" @可调"<<endl;elsecout<<"【"<<hour<<":"<<minute<<":"<<second<<"】"<<" @可调"<<endl;}else{if(hour >=10 && minute >=10 && second < 10)cout<<"【"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<endl; //显示时钟:【12:00:00】else if(hour >=10 && minute <10 && second >= 10)cout<<"【"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute >10 && second >=10)cout<<"【"<<"0"<<hour<<":"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute <10 && second >=10)cout<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<second<<"】"<<endl;else if(hour <10 && minute >=10 && second <10)cout<<"【"<<"0"<<hour<<":"<<minute<<":"<<"0"<<second<<"】"<<endl;else if(hour >=10 && minute <10 && second <10)cout<<"【"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<endl;else if(hour <10 && minute <10 && second <10)cout<<"【"<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<second<<"】"<<endl;elsecout<<"【"<<hour<<":"<<minute<<":"<<second<<"】"<<endl;}}//停止时钟函数void Clock::stop_clock(){;}//绝对时间【24制式】void Clock::time_24_clock(){if( second < 59){Sleep(1000);second++;}else{second = 0;if(minute < 59 && second ==0){Sleep(1000);minute++;}else{minute = 0;second = 0;if( hour < 23 && minute ==0 && second ==0){Sleep(1000);hour++;//cout<<"\\a";}else{	Sleep(1000);hour = 0;minute = 0;second = 0;//cout<<"\\a";}}}}//绝对时间【12制式】void Clock::time_12_clock(){if( second < 59){Sleep(1000);second++;}else{second = 0;//minute++;if(minute < 59 && second ==0){Sleep(1000);minute++;}else{minute = 0;second = 0;//hour++;if( hour < 11 && minute ==0 && second ==0){Sleep(1000);hour++;//cout<<"\\a";}else{Sleep(1000);hour = 0;minute = 0;second = 0;//cout<<"\\a";mm = AmPm();}}}}//上午 下午显示 交替int Clock::AmPm(){if(1 == temp){temp = 0;return 0;}else{temp = 1;return 1;}}//设置为12制式或24制式的辅助函数bool Clock::set_a_or_p(){if(5 == r)return true;if(6 == r)return false;}void Clock::r_start(){hour = 0;minute = 0;second = 0;a_h = a_m = a_s = 99;temp = 0;r = 0;t_ap = 0;mm = 0;fun = 0;pau = 0;al = 0;}//设置为默认的初始化函数void Clock::init_clock(){int a = NULL;;cout<<"初始化样式:【1】a.m.[00:00:00]	【2】p.m.[11:58:20]	【3】[23:59:40]"<<endl;cout<<"请输入样式代码:"<<endl;K:cin>>a;if(1!= a && 2 !=a && 3!=a){cout<<"请重新输入样式代码:"<<endl;a = NULL;goto K;}else if(1 == a){hour = 0;minute = 0;second = 0;temp = 0;r = 5;t_ap = 7;mm = 0;fun = 0;pau = 0;al = 0;}else if(2 == a){hour = 11;minute = 58;second = 20;temp = 0;r = 5;t_ap = 8;mm = 1;fun = 0;pau = 0;al = 0;}else if(3 == a){hour = 23;minute = 59;second = 40;temp = 0;r = 6;t_ap = 7;mm = 0;fun = 0;pau = 0;al = 0;}}//是否发出整点报时!bool Clock::Do_music(){if( 0 == second && 0 == minute )return true;elsereturn false;}void Clock::key(){if(1 == fun){fun = 0;}else{fun = 1;}return;}void Clock::tranaction(){if(1 ==fun){//cout<<"小时="<<hour<<"分="<<minute<<"秒="<<second<<endl;char c = 0;if (kbhit())c = getch();if(0 != t_ap){if(\'t\' == c){if( hour >11)hour =0;hour++;}if(\'y\' == c){if( minute >59)minute =0;minute++;}if(\'u\' == c){if( second >59)second =0;second++;}///////////////////////////////////////if(\'g\' == c){if( hour < 0)hour = 11;hour--;}if(\'h\' == c){if( minute < 0)minute = 59;minute--;}if(\'j\' == c){if( second < 0)second = 59;second--;second--;}}else{if(\'t\' == c){if( hour >23)hour =0;hour++;}if(\'y\' == c){if( minute >59)minute =0;minute++;}if(\'u\' == c){if( second >59)second =0;second++;}///////////////////////////////////////if(\'g\' == c){if( hour < 0)hour = 23;hour--;}if(\'h\' == c){if( minute < 0)minute = 59;minute--;}if(\'j\' == c){if( second < 0)second = 59;second--;second--;}}}}void Clock::pause_clock(){if(1 == pau){pau = 0;}else{pau = 1;}return;}bool Clock::pause_switch(){if(0 == pau)return true;if(1 == pau)return false;}void Clock::init_alarm(){cout<<"请设置$闹钟$时刻点[超过域值以0键入]:(格式:(时):(分):(秒)):注:不区分制式!!【按回车确认】"<<endl;scanf("%d:%d:%d",&a_h,&a_m,&a_s);if(a_h >23)a_h = 0;if(a_m >59)a_m = 0;if(a_s >59)a_s = 0;cout<<"设置成功!  [时]--"<<a_h<<"[分]--"<<a_m<<"[秒]--"<<a_s<<"】"<<endl;Clock::show_alarm();}bool Clock::alarm_key(){if(1 == al)return true;elsereturn false;}bool Clock::show_alarm(){if(a_h == hour && a_m == minute && a_s == second)al = 1;elseal = 0;return true;}void Clock::show_alarm_paramter(){cout<<"当前闹钟 [时]--"<<a_h<<"[分]--"<<a_m<<"[秒]--"<<a_s<<"】"<<endl;}/*bool Clock::display_option(){;}*//*void Clock::music(){mciSendString(TEXT("open res\\\\513.wav alias mysong"),NULL,0,NULL);mciSendString(TEXT("play MySong"),NULL,0,NULL);return;}*/

 

主函数

#include "clock.h"int main(){	Clock Clock1;//Clock1.music();cout<<"--------------------------------------------------------------"<<endl;cout<<"***************************@自动化@***************************"<<endl;cout<<"******************---《简易时钟(C++)》---*******************"<<endl;cout<<"******************作者:SHARPEYE 2014.9.23********************"<<endl;cout<<"************欢迎使用    时钟开始后 想退出按【Esc】************"<<endl;cout<<"*************时钟开始后想重新开始 请按【r】或【R】************"<<endl;cout<<"--------------------------------------------------------------"<<endl;cout<<"@功能简介@--此时钟可以手动设置时制,时刻点,以及可以整点报时!"<<endl;cout<<"@---------------详细功能请按【6】----------------------------@"<<endl;cout<<"--------------------------------------------------------------"<<endl;cout<<endl<<endl;R:	Clock1.r_start();		//初始化cout<<"【欢迎使用!】"<<endl<<endl;W:	cout<<"请按任意键继续"<<endl;_getch();system("cls");cout<<"请按照说明键入数字,回车执行!"<<endl;cout<<"键入 【1】 回车:手动初始化 时钟!"<<endl;cout<<"键入 【2】 回车:默认初始化 时钟!"<<endl;cout<<"键入 【9】 回车:设置闹钟时刻!"<<endl;cout<<"键入 【6】 回车:……详细功能说明……"<<endl;char a;a = NULL;I:scanf("%c",&a);if( a>= 48 && a<=57 ){if(49 == a){Clock1.set_parameter();}else if(50 == a){Clock1.init_clock();}else if(48 == a){cout<<"键入 【1】 回车:手动初始化 时钟!"<<endl;cout<<"键入 【2】 回车:默认初始化 时钟!"<<endl;cout<<"键入 【9】 回车:设置闹钟时刻!"<<endl;cout<<"键入 【6】 回车:……详细功能说明……"<<endl;a = NULL;goto I;}else if(54 == a){cout<<endl<<endl<<"*****************************详细功能说明**********************************"<<endl;cout<<"可实现的功能:1.能够手动初始化也能按照预设设置参数(可以设置两种时制!)"<<endl;cout<<"              2.能够整点报时(用了windows API 函数)(在exe文件的所在目录里"<<endl;cout<<"                有相应的音频文件) (同时使用了蜂鸣进行模拟报时,"<<endl;cout<<"                转义字符为‘\\a\\\\a’)"<<endl;cout<<"              3.能够随时暂停和相应继续时钟跳动"<<endl;cout<<"              4.可以重新设置参数 进行时钟运转,可以随时退出程序"<<endl;cout<<"              5.可以设置闹钟时刻,时刻一到,播放闹铃!"<<endl;cout<<"---------------------------------------------------------------------------"<<endl;cout<<"附加功能(在时钟运转时):  @1   键入【r】或【R】[终止当前运行,重新初始化]"<<endl;cout<<"                            @2   键入【a】和【A】[开启/关闭   动态调节开关]"<<endl;cout<<"                                     【t】小时数+1    【g】小时数-1 "<<endl;cout<<"                                     【y】分钟数+1    【h】分钟数-1 "<<endl;cout<<"                                     【u】秒钟数+1    【j】秒钟数-1 "<<endl;cout<<"                            @3   键入【m】[查看当前闹钟的设置参数[时 分 秒]]"<<endl;cout<<"                            @4   键入【p】[暂停当前运行,再次键入继续运行]"<<endl;cout<<"                            @5   键入【`】[#清屏#]"<<endl;cout<<"                            @5   键入【x】[两种显示方式切换]"<<endl;cout<<"***************************************************************************"<<endl;a = NULL;goto W;}else if(57 ==a){Clock1.init_alarm();a = NULL;goto W;}else{cout<<"请重新按说明输入:		"<<"看说明请按【0】"<<endl;a = NULL;goto I;}}else{cout<<"请重新按说明输入:		"<<"看说明请按【0】"<<endl;a = NULL;goto I;}int Op = 0;			//显示方式开关量int opt = 0;		//显示方式开关量2int w1 = 0;int w2 = 0;cout<<endl<<endl<<"初始化成功!"<<endl;cout<<"------------------"<<endl;cout<<"-----时钟开始-----"<<endl;cout<<"------------------"<<endl;while(1){if( Clock1.pause_switch()){if( Clock1.set_a_or_p()){Clock1.show_12_clock();Clock1.time_12_clock();}else{Clock1.show_24_clock();Clock1.time_24_clock();}if(Clock1.Do_music()){cout<<"\\a";mciSendString(TEXT("open res\\\\513.wav alias mysong"),NULL,0,NULL);mciSendString(TEXT("play MySong from 0"),NULL,0,NULL);}if(Clock1.alarm_key()){mciSendString(TEXT("open res\\\\alarm.wav alias mysong1"),NULL,0,NULL);mciSendString(TEXT("play mysong1 from 0"),NULL,0,NULL);}Clock1.tranaction();Clock1.show_alarm();if( 0 != opt){system("cls");}}char c = 0;if (kbhit())c = getch();if(114 == c){mciSendString(L"close mysong", NULL, 0, NULL);mciSendString(L"close mysong1", NULL, 0, NULL);goto R;}if(82 == c){mciSendString(L"close mysong", NULL, 0, NULL);mciSendString(L"close mysong1", NULL, 0, NULL);goto R;}if(\'a\' == c){cout<<"动态设置开启"<<endl;if(0 == w1){w1 = 1;Clock1.key();}}if(\'A\' == c){cout<<"动态设置关闭"<<endl;if(1 == w1){w1 =0;Clock1.key();}}if(\'m\'== c){Clock1.show_alarm_paramter();}if(\'p\' == c){Clock1.pause_clock();if(Clock1.pause_switch())cout<<"继续!"<<endl;elsecout<<"暂停!"<<endl;}if(\'`\' == c){system("cls");}if(\'x\' == c){if(Op == 0){Op = 1;opt = 1;}else{Op = 0;opt = 0;}}if(27 == c)break;}return 0;}

 

运行结果

运行起来的实际画面:

PS

功能挺多的,不过bug也挺多~~ 当年的野心还挺大,哈哈~

现在看来有很多低级错误和习惯问题,比如类成员变量没有前缀

m_

;方法名首字母没有大写,也没有依照匈牙利命名法和驼峰命名法;部分重复调用函数没有封装等等。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C++基础练习案例 – 模拟时钟系统 [DOS]