幼驯染是大总统存档:c++高手来~!!!!!!!!!!!!1
来源:百度文库 编辑:高校问答 时间:2024/10/05 10:43:41
输入两个整数.程序至少要有3个函数:一个用于输入,一个执行转换,一个则用于输出.将AM/PM信息作为char类型的一个值来记录,用"A"表示"AM",用"P"来表示"PM".所以,用于执行转换的函数有一个char类型的传引用调用参数,它用于记录到底是AM,还是PM(该函数应该还有其他参数).在程序里包含一个循环,允许用户根据新的输入值来重复计算,直到用户表明应该终止程序.
彻底符合要求!!!!
#include <iostream>
using namespace std;
int StaticHour, StaticMinute;
char StaticAorP;
int Input()
{
cout<<"请输入24进制时间的小时数:"<<ends;
int hour;
cin>>hour;
if((hour >= 24) || (hour < 0))
{
cout<<"输入错误,请重新输入"<<endl;
Input();
return 1;
}
cout<<"请输入24进制的分钟数:"<<ends;
int minute;
cin>>minute;
if((minute >= 60) || (minute <0 ))
{
cout<<"输入错误,请重新输入"<<endl;
Input();
return 1;
}
StaticHour = hour;
StaticMinute = minute;
}
void Convert( int& h, int& m, char& aorp)
{
if(h > 12)
{
h -= 12;
aorp = 'P';
}
else
{
aorp = 'A';
}
}
void Output()
{
cout<<"现在是"<< StaticHour <<":"<< StaticMinute <<" "<< StaticAorP<<endl;
}
void Run()
{
Input();
Convert(StaticHour, StaticMinute, StaticAorP);
Output();
}
int main()
{
bool flag = true;
while(flag)
{
cout<<"请输入对应的序号表明你需要的操作:"<<endl
<<"1. 计算"<<endl
<<"2. 退出"<<endl;
char op;
cin>>op;
switch(op)
{
case '1':
Run();
break;
case '2':
flag = false;
break;
default:
flag = false;
break;
}
}
return 0;
}
这个自己写吧,完全按照你的要求很清楚的就做出来了的!