使用c语音写一个挂起任务系统
时间: 2024-03-05 14:47:41 浏览: 30
以下是一个简单的挂起任务系统示例,使用C语言实现:
```c
#include <stdio.h>
#define MAX_TASKS 10
struct task {
char name[20];
int priority;
int time;
int suspended;
};
struct task tasks[MAX_TASKS];
int numTasks = 0;
void addTask() {
if(numTasks >= MAX_TASKS) {
printf("Task list is full!\n");
return;
}
printf("Enter task name: ");
scanf("%s", tasks[numTasks].name);
printf("Enter task priority (1-10): ");
scanf("%d", &tasks[numTasks].priority);
printf("Enter task time: ");
scanf("%d", &tasks[numTasks].time);
tasks[numTasks].suspended = 0;
numTasks++;
}
void suspendTask() {
int i;
char name[20];
printf("Enter task name: ");
scanf("%s", name);
for(i = 0; i < numTasks; i++) {
if(strcmp(name, tasks[i].name) == 0) {
tasks[i].suspended = 1;
printf("Task %s suspended.\n", tasks[i].name);
return;
}
}
printf("Task not found!\n");
}
void resumeTask() {
int i;
char name[20];
printf("Enter task name: ");
scanf("%s", name);
for(i = 0; i < numTasks; i++) {
if(strcmp(name, tasks[i].name) == 0) {
tasks[i].suspended = 0;
printf("Task %s resumed.\n", tasks[i].name);
return;
}
}
printf("Task not found!\n");
}
void listTasks() {
int i;
printf("\nTask\tPriority\tTime\tStatus\n");
for(i = 0; i < numTasks; i++) {
printf("%s\t%d\t\t%d\t%s\n", tasks[i].name, tasks[i].priority, tasks[i].time, tasks[i].suspended ? "Suspended" : "Running");
}
printf("\n");
}
int main() {
int choice;
do {
printf("\n1. Add task\n");
printf("2. Suspend task\n");
printf("3. Resume task\n");
printf("4. List tasks\n");
printf("5. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch(choice) {
case 1:
addTask();
break;
case 2:
suspendTask();
break;
case 3:
resumeTask();
break;
case 4:
listTasks();
break;
case 5:
printf("Exiting...\n");
break;
default:
printf("Invalid choice!\n");
break;
}
} while(choice != 5);
return 0;
}
```
该示例实现了一个简单的挂起任务系统,可以添加、挂起、恢复和列出任务。每个任务包括名称、优先级、执行时间和状态(运行中或挂起)。可以通过输入数字选择要执行的操作。