输入一个工作的开始时间和结束时间,计算完成该项工作所需的时间,如果输入结束时间在开始时间前,输出ERROR信息(假设时间在天24小时内)c语言
时间: 2024-11-25 20:17:58 浏览: 3
行业文档-设计装置-一种手写简笔字输入方法和系统.zip
在C语言中,你可以使用结构体来表示日期和时间,并通过比较两个时间点来判断是否合理。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 定义时间结构体
typedef struct {
int hour;
int minute; // 假设分钟也按24小时制处理
} Time;
bool isValidTime(Time end, Time start) {
if (end.hour < start.hour || (end.hour == start.hour && end.minute <= start.minute)) {
return false; // 结束时间早于或等于开始时间
} else {
return true; // 否则认为有效
}
}
void calculateWorkDuration(Time start, Time end) {
if (!isValidTime(end, start)) {
printf("ERROR: 结束时间 (%d:%02d) 在开始时间 (%d:%02d) 之前。\n", end.hour, end.minute, start.hour, start.minute);
} else {
int hours = (end.hour - start.hour) * 60 + (end.minute - start.minute); // 计算差值并转换成分钟
printf("完成该工作需要 %d 分钟。\n", hours);
}
}
int main() {
Time workStart, workEnd;
printf("请输入开始时间(小时:分钟): ");
scanf("%d:%d", &workStart.hour, &workStart.minute);
printf("请输入结束时间(小时:分钟): ");
scanf("%d:%d", &workEnd.hour, &workEnd.minute);
calculateWorkDuration(workStart, workEnd);
return 0;
}
```
在这个程序中,用户会被提示输入开始时间和结束时间,然后`calculateWorkDuration`函数会检查这个顺序。如果无效,就会输出错误消息;否则,它将计算并打印出所需的工作时间。
阅读全文