使用C语言变我编写每期彩票链表,需求issueLink.h ,issueLink.c文件
时间: 2024-05-11 08:17:31 浏览: 146
C语言头文件 LIST.H
好的,以下是 issueLink.h 文件的代码:
```c
#ifndef ISSUELINK_H
#define ISSUELINK_H
#include <stdbool.h>
// 彩票信息结构体
typedef struct issue {
int id; // 期号
char num1[3]; // 号码1
char num2[3]; // 号码2
char num3[3]; // 号码3
struct issue *next; // 指向下一期彩票的指针
} Issue;
// 初始化彩票链表
void initIssueList(Issue **head);
// 添加彩票信息
bool addIssue(Issue **head, int id, char num1[3], char num2[3], char num3[3]);
// 删除彩票信息
bool deleteIssue(Issue **head, int id);
// 修改彩票信息
bool modifyIssue(Issue *head, int id, char num1[3], char num2[3], char num3[3]);
// 查询彩票信息
Issue *queryIssue(Issue *head, int id);
// 打印彩票信息
void printIssueList(Issue *head);
#endif
```
以下是 issueLink.c 文件的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "issueLink.h"
// 初始化彩票链表
void initIssueList(Issue **head) {
// 初始化头结点
*head = (Issue*)malloc(sizeof(Issue));
(*head)->next = NULL;
}
// 添加彩票信息
bool addIssue(Issue **head, int id, char num1[3], char num2[3], char num3[3]) {
// 创建新结点
Issue *newNode = (Issue*)malloc(sizeof(Issue));
newNode->id = id;
strcpy(newNode->num1, num1);
strcpy(newNode->num2, num2);
strcpy(newNode->num3, num3);
newNode->next = NULL;
// 找到尾结点
Issue *tail = *head;
while (tail->next != NULL) {
tail = tail->next;
}
// 将新结点插入到尾部
tail->next = newNode;
return true;
}
// 删除彩票信息
bool deleteIssue(Issue **head, int id) {
Issue *p = *head, *q;
while (p->next != NULL && p->next->id != id) {
p = p->next;
}
if (p->next == NULL) {
return false;
}
q = p->next;
p->next = q->next;
free(q);
return true;
}
// 修改彩票信息
bool modifyIssue(Issue *head, int id, char num1[3], char num2[3], char num3[3]) {
Issue *p = head->next;
while (p != NULL && p->id != id) {
p = p->next;
}
if (p == NULL) {
return false;
}
strcpy(p->num1, num1);
strcpy(p->num2, num2);
strcpy(p->num3, num3);
return true;
}
// 查询彩票信息
Issue *queryIssue(Issue *head, int id) {
Issue *p = head->next;
while (p != NULL && p->id != id) {
p = p->next;
}
return p;
}
// 打印彩票信息
void printIssueList(Issue *head) {
Issue *p = head->next;
while (p != NULL) {
printf("ID: %d, Number: %s %s %s\n", p->id, p->num1, p->num2, p->num3);
p = p->next;
}
}
```
使用以上代码,你可以实现一个简单的彩票期号链表。
阅读全文