实验室大作业---任务管理系统【1】

这篇博客详细介绍了如何使用C语言实现一个基于链表的任务管理系统。从声明结构体开始,逐步讲解如何创建头节点、设置程序界面、添加、查询、修改、删除任务以及退出系统等功能。每个部分都配以代码解释,特别强调了链表插入操作按降序进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图,这里先只写LEVEL1

所需知识:结构体、链表、动态分配

part1

声明结构体,包括题目中的信息

struct project{
	char name[20];             //项目名 
	char head[10];             //负责人 
	char players[50];          //队员计数---统计单词数 
	char teacher[10];          //指导老师 
	int number;                //队员人数 
	char category[20];         //项目类别 
	char id[7];               //编号 
}; 

part2

声明结构体包含上述信息和一个结构体指针

struct Node{ 
	struct project data;
	struct Node* next;
};

 part3

创建头节点

struct Node* createlist(){
	struct Node* HeadNode=(struct Node*)malloc(sizeof(struct Node));
//	HeadNode->data=NULL;
	HeadNode->next=NULL;
	return HeadNode;
} 
//想问一下data怎么初始化??

这里其实也可以是创建一个节点

在main中创建头节点还应该加上

struct Node* list=creatNewNode();

part4

 这里我为了程序框好看一点,用了<Windows.h> 这个库

其中改变了程序框的名称、背景与字体的颜色。

	system("color 8B");
	system("title *xx项目管理系统*");

 part5

系统的导引

	printf("----------欢迎使用xx项目管理系统!----------\n");
	printf("----------第一次使用请您先上传数据!----------\n");

part6

第一次使用时需要先上传数据,充实链表

我们这里使用add函数(解析见注释)

//第一次使用添加数据
void add(struct Node* list){
	struct project data;           //data用于存储数据,然后一起赋给节点
	char decide[100]={0};          //选择是否继续添加 
	while(1){
		//名称、类别 
		printf("请分别输入添加的项目名称和项目类别(以空格分隔):\n");
		scanf("%s %s",&data.name,&data.category); 
		getchar();                //这里的getchar()是用来接多余的回车的
		//编号 
		printf("请输入项目编号(格式:字母+6个数字):\n");
		gets(data.id);
        //这里是有一个检查,如果链表中已经有了这个编号,直接退出现在的操作           
		struct Node* pos;
		pos=list;
		while(pos->next!=NULL){   //这里是链表的遍历
			if(strcmp(data.id,po
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值