|
5啊哈币
本帖最后由 chaomi1998 于 2013-4-14 17:54 编辑
大量错误 不知道哪里出了错误 便查无错
第一次写这么多行的代码
结果出了大量未知错误编译失败
原来的代码
[code=Cpp width=740px]/*倒计时程序 改进版*/#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#define VERSION 1.0 /*版本号*/
int main(void)
{
int hours,minutes,seconds,a,b,time,start;/*定义时分秒*/
hours = 0 ;
minutes = 0 ;
seconds = 0 ;
printf("The countdown procedure VERSION");
printf("\nPlease enter the time (format X:X:X)");
scanf("%d:%d:%d\n",&hours,&minutes,&seconds); /*输入时分秒*/
a = hours * 60 * 60 ;
b = minutes * 60 ;
time = a + b + seconds ;
system("cls");
printf("Type 0 start the time\n");
scanf("%d",&start);
if(start == 0){
while( time >= 0 )
{
system("cls");
printf("%d:%d:%d",hours,minutes,seconds);
time = time - 1 ;
hours = time / 3600 ; /*计算小时分钟秒*/
minutes = time / 60 ;
seconds = time % 60 ;
Sleep(1000) ;
}
}
else
{
printf("Thank you for using!!!!!");
}
system("pause");
return 0 ;
}[/code]
这是后来改进的代码
[code=Cpp width=740px]/*倒计时程序 改进版*/
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#define VERSION 2.8 /*版本号*/
int main(void)
{
int hours,minutes,seconds,a,b,time,start;/*定义时分秒*/
hours = 0 ;
minutes = 0 ;
seconds = 0 ;
printf("倒计时程序 VERSION %.1f",VERSION);
printf("\n请输入时间\n");
printf("请输入小时:\n"); /*输入时分秒*/
scanf("%d",&hours);
printf("\n请输入分钟:\n");
scanf("%d",&minutes);
printf("\n请输入秒:\n");
scanf("%d",&seconds);
a = hours * 60 * 60 ; /*把时间换算成秒*/
b = minutes * 60 ;
time = a + b + seconds ;
system("cls");
printf("输入0以开始程序\n"); /*启动条件*/
scanf("%d",&start);
if(start == 0)
{
while( time >= 0 ) /*循环到时间为0*/
{
system("cls");
if( hours >= 10 && minutes >= 10 && seconds >=10 )
{
printf("%d:%d:%d",hours,minutes,seconds);
}
else
{
if( hours >= 10 && minutes < 10 && seconds < 10 )
{
printf("%d:0%d:0%d",hours,minutes,seconds);
}
}
if( hours < 10 && minutes >= 10 && seconds >=10 )
{
printf("0%d:%d:%d",hours,minutes,seconds);
}
else
{
if( hours < 10 && minutes < 10 && seconds < 10 )
{
printf("0%d:0%d:0%d",hours,minutes,seconds);
}
}
if( hours >= 10 && minutes < 10 && seconds >=10 )
{
printf("%d:0%d:%d",hours,minutes,seconds);
}
else
{
if( hours >= 10 && minutes >= 10 && seconds < 10 )
{
printf("%d:%d:0%d",hours,minutes,seconds);
}
}
if( hours < 10 && minutes >= 10 && seconds < 10 )
{
printf("0%d:%d:0%d",hours,minutes,seconds);
}
else
{
if( hours < 10 && minutes < 10 && seconds >=10 )
{
printf("0%d:0%d:%d",hours,minutes,seconds);
}
}
time = time - 1 ;
hours = time / 3600 ; /*计算小时分钟秒*/
minutes = time / 60 ;
seconds = time % 60 ;
Sleep(1000) ; /*暂停1秒*/
}
}
else
{
printf("谢谢您的使用!!!!!");
}
system("pause");
return 0 ;
}[/code]
之后 这是根据某网友建议精简的代码
[code=Cpp width=740px]/*倒计时程序 改进版*/
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#define VERSION 2.3 /*版本号*/
int main(void)
{
int hours,minutes,seconds,a,b,time,start;/*定义时分秒*/
hours = 0 ;
minutes = 0 ;
seconds = 0 ;
printf("倒计时程序 VERSION %.1f",VERSION);
printf("\n请输入时间\n");
printf("请输入小时:\n"); /*输入时分秒*/
scanf("%d",&hours);
printf("\n请输入分钟:\n");
scanf("%d",&minutes);
printf("\n请输入秒:\n");
scanf("%d",&seconds);
a = hours * 60 * 60 ; /*把时间换算成秒*/
b = minutes * 60 ;
time = a + b + seconds ;
system("cls");
printf("输入0以开始程序\n"); /*启动条件*/
scanf("%d",&start);
if(start == 0){
while( time >= 0 ) /*循环到时间为0*/
{
system("cls");
printf("%02d:%02d:%02d",hours,minutes,seconds);
time = time - 1 ;
hours = time / 3600 ; /*计算小时分钟秒*/
minutes = time / 60 ;
seconds = time % 60 ;
Sleep(1000) ; /*暂停1秒*/
}
}
else
{
printf("谢谢您的使用!!!!!");
}
system("pause");
return 0 ;
}
[/code]
|
最佳答案
查看完整内容
scanf("%d:%d:%d\n",&hours,&minutes,&seconds); /*输入时分秒*/
scanf似乎不支持在%d中加:
分成3个试试
评分
-
查看全部评分
|