搜索
查看: 2126|回复: 4
打印 上一主题 下一主题

改进了一下2分钟倒计时 编译失败[已解决]

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-14 12:22:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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个试试

评分

参与人数 1啊哈币 +5 收起 理由
啊哈磊 + 5 很给力!

查看全部评分

沙发
发表于 2013-4-14 12:22:39 | 只看该作者
scanf("%d:%d:%d\n",&hours,&minutes,&seconds);   /*输入时分秒*/
scanf似乎不支持在%d中加:
分成3个试试
板凳
发表于 2013-4-14 15:30:00 | 只看该作者
加油
地板
发表于 2013-4-14 15:30:02 | 只看该作者
加油
5#
 楼主| 发表于 2013-4-14 17:51:05 | 只看该作者
啊哈磊 发表于 2013-4-14 15:30
加油

哇  版主驾到啊    书后几张什么时候出
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表