设计一个秒表及时钟程序,按“1”显示时钟,按“2”开始计时,按“3”停止计时,按“4”表清零,按“5”执行程序退出。
按“1”显示的时钟为图形
yao 界面是吧
我之前写过一个,你可以看看
如有帮助,望采纳
#include <stdio.h>
#include <conio.h>
#include <time.h>
#define ESC 27
int main(int argc, char** argv)
{
clock_t start, end;
char ch;
printf("\n\t\t\t\t\t *****秒表***** \n\n");
printf("\t(1)按't'开始计时 (2)按'p'暂停计时并显示当前计时时长 (3)按'c'使秒表归零 (4)按'Esc'退出程序\n\n");
// 按't'键开始计时
if(getch() == 't')
{
printf("已开始计时...");
// 返回开始计时时间
start = clock();
// for(;;) 等效于 while(1)
for(;;)
{
ch = getch();
// 按'p'键暂停计时
if(ch == 'p'){
for(;;){
// 返回结束计时时间
end = clock();
printf("\n\n已暂停计时, 再按'p'开始计时. 显示当前计时时长 : %f\n",
((double)(end - start) / CLOCKS_PER_SEC)); // CLOCKS_PER_SEC 等效于 CLK_TCK, 但后者已过时
// 再次按'p'键开始计时
if(getch() == 'p'){
printf("\n\n继续计时...");
break;
}
}
}
// 按'c'键秒表归零
if(ch == 'c'){
printf("\n\n秒表已归零.\n");
start = clock();
}
// 按'Esc'键退出程序
if(ch == ESC)
break;
}
}
return 0;
}
下面是针对你的描述,使用C语言实现秒表及时钟程序的代码示例,望采纳:
#include <stdio.h>
#include <time.h>
#include <stdbool.h>
// 定义一个函数,用于显示当前时钟
void display_clock() {
// 获取当前时间
time_t t = time(NULL);
// 将时间转换成本地时间
struct tm *tm = localtime(&t);
// 按照"%Y-%m-%d %H:%M:%S"的格式输出时间
printf("当前时间:%d-%d-%d %d:%d:%d\n", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
}
// 定义一个函数,用于计算指定时间到当前时间的间隔
int interval_to_now(time_t start_time) {
// 获取当前时间
time_t end_time = time(NULL);
// 计算时间间隔
int interval = (int)(end_time - start_time);
// 返回时间间隔
return interval;
}
int main() {
// 定义一个变量,表示秒表是否开始计时
bool is_started = false;
// 定义一个变量,表示秒表开始计时的时刻
time_t start_time = 0;
// 定义一个变量,表示用户的选择
int choice = 0;
// 不断循环,直到用户选择退出程序
while (true) {
// 显示选项菜单
printf("----------------------------\n");
printf("1. 显示时钟\n");
printf("2. 开始计时\n");
printf("3. 停止计时\n");
printf("4. 表清零\n");
printf("5. 退出程序\n");
printf("----------------------------\n");
printf("请选择:");
// 读入用户的选择
scanf("%d", &choice);
// 根据用户的选择执行相应操作
switch (choice) {
case 1:
// 显示时钟
display_clock();
break;
case 2:
// 开始计时
if (is_started) {
printf("秒表已经开始计时,不能重复开始\n");
} else {
start_time = time(NULL);
is_started = true;
printf("秒表已经开始计时\n");
}
break;
case 3:
// 停止计时
if (!is_started) {
printf("秒表还没有开始计时,不能停止\n");
} else {
int interval = interval_to_now(start_time);
printf("秒表已经停止,计时%d秒\n", interval);
is_started = false;
}
break;
case 4:
// 表清零
is_started = false;
start_time = 0;
printf("秒表已经清零\n");
break;
case 5:
// 退出程序
printf("程序已退出\n");
return 0;
default:
// 无效的选择
printf("无效的选择,请重新选择\n");
break;
}
}
}
你是需要嵌入式程序还是pc程序?平台不同实现方法也不太一样啊