⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6081820502_lab6_9.c

📁 模拟电子表显示在屏幕上
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct clock
{
    int hour;
    int minute;
    int second;
};
typedef struct clock CLOCK;            /*记录时间的结构体*/

int hour,minute,second;               /*把时间设置为全局变量*/

void Update(CLOCK *t);
void Display(CLOCK *t)  ;
void Delay(void);

int main()
{
    CLOCK time = {0,0,0};
    int replay;
    int ret;
    int i;


    printf("\n\n\n\n\n\n\n                        欢迎使用模拟数字式时钟系统\n");
    printf("\n\n                    请注意:时钟默认当前时间为0点0分0秒\n");
    printf("\n\n                如果你需要调整当前时间请按屏幕提示进行调整!\n");
    getch();

    do
    {
        fflush(stdin);
        system("cls");
        printf("\n\n\n\n\n\n\n                        1.调整时间\n");
        printf("\n\n                        2.进入时钟模式\n");
        printf("\n\n                        0.退出系统\n");
        printf("\n\n\n                 请输入命令前的数字进行相关操作\n");
        scanf("%d",&replay);
        if (replay != 0&&replay != 1&&replay != 2)
        {
            system("cls");
            printf("\n\n\n\n\n\n\n\n\n\n\n\n                     对不起,您的输入有误,请重试!\n");
            getch();
        }
    }
    while (replay != 0&&replay != 1&&replay != 2);              /*错误处理*/

    if (replay == 2)
    {
        for (i=0;i<100000;i++)
        {
            Update(&time);
            Display(&time);
            Delay();
        }
    }

    else if (replay == 1)
    {
        system("cls");
        printf("\n\n请分别输入当前时间的时、分、秒!\n");
        do                                                      /*修改初始时间*/
        {
            fflush(stdin);
            printf("\n\n              时??\n");
            ret = scanf("%d",&hour);
            if (ret == 0)
            {
                printf("你所输入的个数不是个数字,请看清楚哦!\n");
            }
            else if (hour < 0||hour > 23)
            {
                printf("时间的时应该是大于0小于24的整数,麻烦再输一遍吧\n");
            }
        }
        while (ret == 0||hour < 0||hour > 23);          /*对非法字符和不合理数据的处理*/

        do
        {
            fflush(stdin);
            printf("\n\n               分??\n");
            ret = scanf("%d",&minute);
            if (ret == 0)
            {
                printf("你所输入的个数不是个数字,请看清楚哦!\n");
            }
            else if (minute < 0||minute > 59)
            {
                printf("时间的分应该是大于0小于60的整数,麻烦再输一遍吧\n");
            }
        }
        while (ret == 0||minute < 0||minute > 59);          /*对非法字符和不合理数据的处理*/

        do
        {
            fflush(stdin);
            printf("\n\n                秒??\n");
            ret = scanf("%d",&second);
            if (ret == 0)
            {
                printf("你所输入的个数不是个数字,请看清楚哦!\n");
            }
            else if (second < 0||second > 59)
            {
                printf("时间的秒应该是大于0小于60的整数,麻烦再输一遍吧\n");
            }
        }
        while (ret == 0||second < 0||second > 59);           /*对非法字符和不合理数据的处理*/

        for (i=0;i<100000;i++)
        {
            Update(&time);
            Display(&time);
            Delay();
        }
    }
    return 0;
}

/*
函数功能:时、分、秒的更新
函数参数:时间
函数返回值:无
*/
void Update(CLOCK *t)
{
    second++;
    if (second == 60)                   /*若second值为60,表示已过1分钟,则minute值加1*/
    {
        second = 0;
        minute++;
    }
    if (minute == 60)                   /*若minute值为60,表示已过1小时,则hour值加1*/
    {
        minute = 0;
        hour++;
    }
    if (hour == 24)                     /*若hour值为24,表示已过1天,则hour重新从0开始计时*/
    {
        hour = 0;
    }
}

/*
函数功能:时、分、秒时间的显示
函数参数:时间
函数返回值:无
*/
void Display(CLOCK *t)                      /*利用刷屏来控制时间显示的位置*/
{
    system("cls");
    printf("\n\n\n\n\n                             时间就是金钱!请珍惜时间:\n\n\n\n\n\n");
    printf("                              $$$$$$$$$$$$$$$$$$$$$\n\n");
    printf("                              ¥  %2d:%2d  ¥  %2d  ¥\n\n",hour,minute,second);
    printf("                              $$$$$$$$$$$$$$$$$$$$$\n");
}

/*
函数功能:模拟延迟1秒的时间
函数参数:无
函数返回值:无
*/
void Delay(void)
{
    long t;

    for (t = 0;t < 270000000;t++)
    {
        /*循环空白语句来延时*/
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -