大学时期初学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;
else
cout<<"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;
else
cout<<"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;
else
cout<<"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;
else
cout<<"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;
else
cout<<"【"<<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;
else
cout<<"【"<<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;
else
return 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;
else
return false;
} bool Clock::show_alarm()
{
if(a_h == hour && a_m == minute && a_s == second)
al = 1;
else
al = 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; //显示方式开关量2 int 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;
else
cout<<"暂停!"<<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_;方法名首字母没有大写,也没有依照匈牙利命名法和驼峰命名法;部分重复调用函数没有封装等等。

C++基础练习案例 - 模拟时钟系统 [DOS]的更多相关文章

  1. CSS基础 实战案例 模拟小米官方导航栏

    效果图 html结构 <ul> <li><a href="#">Xiaomi手机</a></li> <li> ...

  2. python开发基础作业01:模拟登陆系统

    随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...

  3. ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性

    ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性 ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性 技术交流:岳峰 15901092122 http://www.bjh ...

  4. 关于信息系统设计与开发——案例:VIP系统

    一.关于信息系统设计与开发 信息系统开发流程先对需求分析系统分析,设计数据库,设计程序,再对测试数据进行测试. 在程序设计中运用了接口:定义一个接口,可以有多种实现.变量声明为接口变量,调用接口方法, ...

  5. 【CSS3】纯CSS代码实现模拟时钟,+js对时功能。

    使用CSS3纯代码来实现模拟时钟,及指针动画功能. 在这里主要使用到css3一些基本元素: border-radius:圆角边框,画圆形:表盘 Transform:变换,旋转,扭曲:刻度盘,指针形状 ...

  6. Windows下编程--模拟时钟的实现

    windows下编程--模拟时钟的实现: 主要可以分为几个步骤: (1)   编写按键事件处理(启动和停止时钟) (2)   编写时钟事件处理,调用显示时钟函数 (3)   编写显示时钟函数,要调用显 ...

  7. VC++SDK编程——模拟时钟

    #include <Windows.h> #include <tchar.h> #include <math.h> typedef struct Time { in ...

  8. 一步步教你:如何用Qemu来模拟ARM系统

    这是道哥的第011篇原创 目录 前言 为什么需要ARM模拟系统 应用程序的开发 系统开发(BSP) Qemu是什么? Qemu的两种模式 Qemu 能做什么?或者说适合做什么? 在 Ubuntu16. ...

  9. Android控件 之 TextClock & AnalogClock(模拟时钟)

    TextClock •简介 关于时间的文本显示,Android 提供了 DigitalClock 和 TextClock. DigitalClock是Android第1版本发布,功能很简单,只显示时间 ...

  10. STM32时钟系统的配置寄存器和源码分析

    一.时钟系统 概述 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令,时钟系统就是CPU的脉搏,决定cpu速率. STM32有多个时钟来源的选择,为什么 STM32 要有多个时钟源呢 ...

随机推荐

  1. NATS: 请求-响应消息

    请求-回复消息 https://docs.nats.io/nats-concepts/core-nats/reqreply 请求-回复 在分布式系统中,请求-回复是一种常见的模式.发送请求之后,应用程 ...

  2. 依赖注入在 dotnet core 中实现与使用:5. 使用支持 Unicode 的 HtmlEncoder

    现象 在 ASP.NET Core MVC 中,当在页面中传递了一个包含中文字符串到页面的时候,页面的显示是正常的,但是如果查看页面源码,却看不到中文,变成了一串编码之后的内容. 例如,在页面中直接定 ...

  3. metasploit模块

    模块类型 辅助模块(Auxiliary) 渗透攻击模块(Exploits) 后渗透攻击模块(Post) 攻击载荷模块(Payloads) 空指令模块(Nops) 编码器模块(Encoders) 后渗透 ...

  4. Docker学习笔记(一) - Docker安装

    1.安装yum-utils yum install yum-utils device-mapper-persistent-data lvm2 复制 安装yum-utils是为方便添加yum源使用的,d ...

  5. kubernetes上报Pod已用内存不准问题分析

    1.问题描述: 经常有业务反馈在使用容器云平台过程中监控展示的业务使用内存不准,分析了下kubernetes采集Pod内存使用的实现原理以及相应的解决思路 2.问题分析: 2.1 问题排查: 监控数据 ...

  6. centOS7安装nginx及nginx配置

    安装所需插件1.安装gccgcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言 命令:查看gcc版本 gcc ...

  7. spark (四) RDD概念

    目录 1. RDD基本概念 1.1 弹性 1.2 分布式 1.3 数据集 1.4 数据抽象 1.5 不可变 1.6 可分区.并行计算 2. WordCount为例,看RDD特性 3. RDD的五大属性 ...

  8. spark (三) hadoop上传文件并运行spark

    目录 1. 上传文件到hdfs 2. 运行wordCount 2.1 spark-shell运行 2.2 spark-submit运行example(stand-alone) 2.3 spark-su ...

  9. R语言系列—R语言简介及安装

    同学们,大家好,今天开始开设一个新系列,R语言系列,对生信分析中涉及到的R语言代码及R语言绘图进行详细讲解,感兴趣的同学可以重点关注一下. 什么是R语言? R语言是用于统计分析.绘图的语言和操作环境. ...

  10. Elasticsearch中数据是如何存储的

    前言 很多使用Elasticsearch的同学会关心数据存储在ES中的存储容量,会有这样的疑问:xxTB的数据入到ES会使用多少存储空间.这个问题其实很难直接回答的,只有数据写入ES后,才能观察到实际 ...