实验一:同学通讯录管理系统
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct list
{
char number[20];//学号
char name[20];//姓名
char telenum[20];//电话
struct list *next;
}list;
int menu()//主菜单函数
{
int operation;
printf("\n\n\n\t\t\t **************学生通讯录管理系统**************\n\n");
printf("\t\t\t\t\t 0.退出管理系统\n");
printf("\t\t\t\t\t 1.插入通讯记录\n");
printf("\t\t\t\t\t 2.删除通讯记录\n");
printf("\t\t\t\t\t 3.查询通讯记录\n");
printf("\t\t\t\t\t 4.显示通讯录信息\n");
printf("\n\t\t\t **********************************************\n\n");
printf("请输入要进行的操作:");
scanf("%d",&operation);
printf("\n");
return operation;
}
list *init(list *p)//创建结点函数
{
list *q;
q=(list *)malloc(sizeof(list));
p->next=q;
p=q;
p->next=NULL;
return p;
}
list *scan(list *p)//录入信息函数
{
printf("\t\t\t\t\t请输入学号:");
scanf("%s",&p->number);
printf("\n");
printf("\t\t\t\t\t请输入姓名:");
scanf("%s",&p->name);
printf("\n");
printf("\t\t\t\t\t请输入电话:");
scanf("%s",&p->telenum);
printf("\n");
return p;
}
void print(list *p)//显示信息函数
{
printf("\t\t\t\t----------------------------------\n");
printf("\t\t\t\t\t\t学号:%s\n",p->number);
printf("\t\t\t\t\t\t姓名:%s\n",p->name);
printf("\t\t\t\t\t\t电话:%s\n",p->telenum);
printf("\t\t\t\t----------------------------------\n");
}
list *find(list *head,char *name)//查找函数
{
list *p;
p=head;
if(!(head->next))
{
printf("\t\t\t\t 该通讯录为空!\n\n");
}
else
{
printf("请输入同学姓名:");
scanf("%s",name);
printf("\n");
while(p)
{
if(strcmp(p->name,name)==0)
break;
else
p=p->next;
}
if(p)
{
printf("\t\t\t\t %s同学的通讯录为:\n",name);
print(p);
}
else
printf("\t\t\t\t 通讯录中没有该同学的记录");
}
return p;
}
list *add(list *p)//插入函数
{
scan(p);
p=init(p);
return p;
}
list *dele(list *head,char *name)//删除函数
{
printf("\t\t\t\t 请输入要删除的姓名:");
scanf("%s",name);
printf("\n");
list *p,*q;
p=head;
if(!(head->next))
{
printf("\t\t\t\t 该通讯录为空!\n");
}
else
{
while(p)
{
if(strcmp(p->name,name)==0)
break;
else
{
q=p;
p=p->next;
}
}
if(p)
{
if(p==head)
head=head->next;
else
q->next=p->next;
free(p);
printf("\t\t\t\t 删除成功\n");
}
else
printf("\t\t\t\t 删除失败\n");
}
return head;
}
void display(list *head)
{
list *p;
p=head;
if(!p)
{
printf("\t\t\t\t 该通信录为空\n");
}
else
{
while(p->next)
{
print(p);
p=p->next;
}
}
printf("\n\n");
}
int main()
{
list*p,*head;
p=(list *)malloc(sizeof(list));
p->next=NULL;
head=p;
char name[10];
int set=1;
while(set)
{
switch(menu()){
case 0: exit(0);break;
case 1: p=add(p);break;
case 2: head=dele(head,name);break;
case 3: head=find(head,name);break;
case 4: display(head);break;
}
}
return 0;
}
运行结果为:

QQ浏览器截图20191127150005.png
实验二:航空客运订票系统
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct list //航班信息结构体list
{
char start[20];//出发点
char finish[20];//目的地
char fli_num[20];//航班号
char week[20];//星期几
char name[20];//订票人姓名
struct list *next;//指向该结构体的指针
}list;
list *init(list *p)//创建结点函数
{
list *q;
q=(list *)malloc(sizeof(list));
p->next=q;
p=q;
p->next=NULL;
return p;
}
list *scan(list *p)//输入函数
{
printf("\t\t请输入【出发点】:");
scanf("%s",p->start);
printf("\n");
printf("\t\t请输入【目的地】:");
scanf("%s",p->finish);
printf("\n");
printf("\t\t请输入【航班号】:");
scanf("%s",p->fli_num);
printf("\n");
printf("\t\t请输入【星期】:");
scanf("%s",p->week);
printf("\n");
return p;
}
void print(list *p)//输出函数
{
printf("\t\t\t\t\t----------------------------------\n");
printf("\t\t\t\t\t\t\t 出发点:%s\n",p->start);
printf("\t\t\t\t\t\t\t 目的地:%s\n",p->finish);
printf("\t\t\t\t\t\t\t 航班号:%s\n",p->fli_num);
printf("\t\t\t\t\t\t\t 星期:%s\n",p->week);
if(strlen(p->name)!=0)
printf("\t\t\t\t\t\t\t 订票人姓名:%s\n",p->name);
printf("\t\t\t\t\t---------------------------------\n");
}
list *add_flight(list *p)//插入航班函数
{
p=init(p);
p=scan(p);
return p;
}
list *dele_flight(list *head,char *fli_num)//删除航班函数
{
list *p,*q;
p=head;
if(!(head->next))
{
printf("\t\t\t航班信息录为空!\n");
}
else
{
printf("\t\t\t请输入需要删除航班的编号:");
scanf("%s",p->fli_num);
printf("\n");
while(p->next)
{
if(strcmp(p->fli_num,fli_num)==0)
break;
else
{
q=p;
p=p->next;
}
}
}
if(p){
if(p==head)
head=head->next;
else
q->next=p->next;
free(p);
printf("\t\t\t删除成功!\n");
}
else{
printf("\t\t\t删除失败!通讯录中没有该航班的记录\n");
}
return head;
}
list *find_flight(list *head,char *fli_num)//查找航班函数
{
list *p;
p=head;
if(!(head->next))
{
printf("\t\t\t 该航班信息录为空,请添加\n");
}
else
{
printf("\t\t\t 请输入航班号:");
scanf("%s",p->fli_num);
printf("\n");
while(p)
{
if(strcmp(p->fli_num,fli_num)==0)
break;
else
p=p->next;
}
}
if(p)
{
printf("\t\t\t 该航班具体信息为:\n");
print(p);
}
else
printf("\t\t\t 没有航班信息,请添加!!\n");
return head;
}
void display_flight(list *head)//显示航班函数
{
list *p;
p=head;
if(!(head->next))
{
printf("\t\t\t 该航班信息录为空\n");
}
else
{
while(p->next)
{
print(p);
p=p->next;
}
}
}
int second_menu()//航班管理菜单函数
{
int operation_two;
printf("\t\t\t ---------------航班管理------------------\n");
printf("\t\t\t\t\t 1.插入航班信息\n");
printf("\t\t\t\t\t 2.删除航班信息\n");
printf("\t\t\t\t\t 3.查找航班信息\n");
printf("\t\t\t\t\t 4.显示航班信息\n");
printf("\t\t\t\t\t 5.返回上一菜单栏\n");
printf("\t\t\t -----------------------------------------\n");
printf("请输入要选择的操作:");
scanf("%d",&operation_two);
printf("\n");
return operation_two;
}
int main_menu()//主菜单函数
{
int operation_one;
printf("\n\n\t\t\t ---------------航空客运订票系统---------------\n");
printf("\t\t\t\t\t 1.航班管理菜单\n");
printf("\t\t\t\t\t 2.订票办理菜单\n");
printf("\t\t\t\t\t 3.退票办理菜单\n");
printf("\t\t\t\t\t 4.退出系统\n");
printf("\t\t\t ----------------------------------------------\n");
printf("请输入要选择的操作:");
scanf("%d", &operation_one);
printf("\n");
return operation_one;
}
void return_lastmenu()
{
main_menu();
}
list *order_ticket(list *head,char *name,char *start,char *finish)//订票办理函数
{
char *a;
list *p;
p=head;
if(!(head->next))
printf("\t\t\t 航班信息记录为空,请添加\n");
else
{
while(p->next)
{
if(strcmp(p->start,start)==0&&strcmp(p->finish,finish)==0)
print(p);
else
p=p->next;
}
}
if (p)
{
printf("\t\t\t 请选你要订票的航班号:");
scanf("%s", a);
p = find_flight(head, a);
name = strcat(p->name, name);
strcpy(p->name, name);
printf("\t\t\t 订票成功\n");
}
return head;
}
list *refund_ticket(list *head, char *name)//退票办理函数
{
char *b;
list *p;
p = head;
if (!(head->next))
printf("\t\t\t 航班信息记录为空,请添加\n");
else
{
while (p)
{
if (strcmp(name, p->name) == 0)
print(p);
else
p = p->next;
}
}
name = 0;
printf("\t\t\t 请输入你要删除的航班号:");
scanf("%s", b);
p = find_flight(head, b);
strcpy(p->name, name);
printf("\t\t\t 删除成功\n");
return head;
}
int main()
{
list *head, *p;
p = (list *)malloc(sizeof(list));
p->next = NULL;
head = p;
char name[20];
char start[20];
char finish[20];
char fli_num[20];
int set = 1;
while (set)
{
switch (main_menu())
{
case 1: {
set = 2;
while (set == 2)
{
switch (second_menu())
{
case 1:p = add_flight(p); break;
case 2:head = dele_flight(head, fli_num); break;
case 3:head = find_flight(head, fli_num); break;
case 4:display_flight(head); break;
case 5:set = 1; break;
}
}
break; }
case 2:head = order_ticket(head, name, start, finish); break;
case 3:head = refund_ticket(head, name); break;
case 4:exit(0); break;
}
}
return 0;
}
运行结果为:

QQ浏览器截图20191205160457.png
可以运行出来但不能实现查找,显示等功能
实验三:简易文本编辑器
#include"stdio.h"
#include"malloc.h"
#include"string.h"
#include"stdlib.h"
#include"conio.h"
#define Link_Size 100
int NUM, C, N; //定义全局变量 NUM用来记录行号,C用来记录字串在主串中出现总次数
typedef struct _list //行表结构
{
char data[800]; //记录字符
int length; //记录长度
struct _list*next; //后继指针
struct _list*pre; //前驱指针
int row; //记录整篇文章行数
}LinkList;
LinkList *head; //定义全局变量*head,文章首行头指针
void HeadWord() //头菜单函数
{
system("cls"); //清屏函数,使用了头文件#include"stdlib.h"
printf("\t\t\t\t\t ******************\n");
printf("\t\t\t\t\t*** 欢迎使用简易文本编译器 ***\n");
printf("\t\t\t\t\t ******************\n");
}
LinkList *CreatWord() //创建文本函数
{
LinkList *temp;
char ch;
int i, j; //用i记录所在行的字符数量,j来记录有多少行
head->next = (LinkList*)malloc(sizeof(LinkList));
head->pre = NULL;
temp = head->next;
temp->pre = NULL;
temp->length = 0;
for (i = 0; i < 800; i++)
temp->data[i] = '\0';
printf("开始创建文本,请输入文章(输入#号结束):\n");
for (j = 0; j < Link_Size; j++)
{
for (i = 0; i < 800; i++)
{
ch = getchar();
temp->data[i] = ch;
temp->length++;
if (ch == '#')
{
NUM = j; //当输入“#”时候,用j记录行号,并跳出此时所在的for循环
break;
}
}
if (ch == '#')
{
temp->length = i; //当输入“#”时候,用i记录该行有多少文字,并跳出创建文本循环
temp->next = NULL;
break;
}
temp->next = (LinkList *)malloc(sizeof(LinkList));
temp->next->pre = temp;
temp = temp->next;
for (i = 0; i < 800; i++)
temp->data[i] = '\0';
}
temp->row = NUM + 1; //在循环中NUM是从0开始,所以行号+1
system("cls");
return temp;
}
void PrintWord() //输出文本函数
{
int i, j;
LinkList *p;
p = head->next;
system("cls");
HeadWord();
printf("\n 当前文章的内容是:");
for (j = 0; j <= NUM && p != NULL; j++) //为什么是j<=NUM而不是<
{
for (i = 0; (i < 800) && (p->data[i]) != '#'; i++)
{
printf("%c", p->data[i]);
}
p = p->next;
}
}
void CountWord() //文章内容统计模块
{
LinkList *temp; //WORD 代表大写字母个数
char ch; //word 代表小写字母个数
int i, j, t; //space 代表空格数
int WORD = 0, word = 0, space = 0, num = 0, punct = 0, sum = 0; //num 代表数字个数
int line=0; //line 代表文章行数
temp = head->next; //punch 代表标点符号
for (j = 0; j <= NUM; j++) //sum 代表WORD + word + num
{
for (i = 0; (i < 800) && (temp->data[i]) != '#'; i++)
{
ch = temp->data[i];
if ((ch >= 'A') && (ch <= 'Z'))
WORD++;
else if ((ch >= 'a') && (ch <= 'z'))
word++;
else if ((ch >= '0') && (ch <= '9'))
num++;
else if (ch == ' ')
space++;
else if (ch == 33 || ch == 34 || ch == 39 || ch == 44 || ch == 46 || ch == 58 || ch == 59 || ch == 63)
{
punct++;
}
else if (ch == '\n')
line++;
}
sum = WORD + word + num;
}
while (1)
{
printf("\n");
HeadWord();
printf("\t\t\t\t****************************************************\n");
printf("\t\t\t\t\t **** 文章内容统计菜单 ****\n");
printf("\t\t\t\t****************************************************\n\n");
printf("\t\t\t\t\t\t1、文章中大写字母的个数 \n");
printf("\t\t\t\t\t\t2、文章中小写字母的个数 \n");
printf("\t\t\t\t\t\t3、文章中数字的个数 \n");
printf("\t\t\t\t\t\t4、文章中标点符号的个数 \n");
printf("\t\t\t\t\t\t5、文章中空格的个数 \n");
printf("\t\t\t\t\t\t6、文章中所有字数 \n");
printf("\t\t\t\t\t\t7、文章所拥有的行数 \n");
printf("\t\t\t\t\t\t8、退出返回主菜单 \n");
printf("\t\t\t\t\t\t9、直接退出本系统 \n\n");
printf("\t\t\t\t****************************************************\n");
printf("\t\t\t\t 请选择需统计项目:");
scanf_s("%d", &t); //scanf后加_s
switch (t)
{
case 1:
system("cls");
HeadWord();
printf("\n\t\t 文章中大写字母的个数:%d\n", WORD);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 2:
system("cls");
HeadWord();
printf("\n\t\t 文章中小写字母的个数:%d\n", word);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 3:
system("cls");
HeadWord();
printf("\n\t\t 文章中数字的个数:%d\n", num);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 4:
system("cls");
HeadWord();
printf("\n\t\t 文章中标点符号的个数:%d\n", punct);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 5:
system("cls");
HeadWord();
printf("\n\t\t 文章中空格的个数:%d\n", space);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 6:
system("cls");
HeadWord();
printf("\n\t\t 文章中所有字数:%d\n", sum);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 7:
system("cls");
HeadWord();
printf("\n\t\t 文章中所有行数:%d\n", line);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
}
if (t == 8)
{
system("cls"); break; //运行后会返回到主菜单
}
if (t == 9) exit(0);
}
}
void SearchWord(char *str1, LinkList* temp) //指定字符串出现次数函数
{
char Data[20];
int i=0, j, k = 0, sum = 0; //i行数,j每行字数,k指定字符串数组个数,sum指定字符串出现次数
int l = 1, x; //l指定字符串第几次出现
temp = head->next;
strcpy_s(Data, str1); //strcpy后加_s,字符串复制函数,将2复制到1
while (temp)
{
for (j = 0, x = 0; j < 800; j++, x++)
{
if (temp->data[j] == '\n')
{
i++;
x = 0;
}
if ((temp->data[j]) == Data[k])
{
k++;
if (Data[k] != '\0')
{
continue;
}
else if (Data[k] == '\0')
{
x = x - k+1;
sum++;
printf("\t\t\t\t 第%3d次出现在第%3d行 第%3d列\n\n", sum, i+1, x);
x=x+k-1;
k = 0;
}
}
}
temp = temp->next;
}
printf("\t\t\t 字符串总共出现次数为:%d\n\n", sum);
C = sum;
N = i * 800 + j; //计算出总字数
}
void DeleteWord(char *str2) //删除指定字符串函数
{
char Data[20];
LinkList *temp, *term;
int i, j, k, m, y, num;
strcpy_s(Data, str2); //strcpy后加_s
for (y = 0; y < C; y++)
{
num = 800;
k = 0, m = 0;
temp = head;
for (i = 0; i <= NUM; i++)
{
term = temp;
temp = temp->next;
for (j = 0; j < 800; j++)
{
if ((temp->data[j]) == Data[k]) k++;
else if (Data[k] != '\0') { j = j - k; k = 0; }
if (Data[k] == '\0')
{
num = j;
break;
}
}
if (num < 800) break;
}
for (; i <= NUM; i++)
{
for (; j < 800; j++)
{
temp->data[j - k + 1] = temp->data[j + 1];
}
term = temp;
temp = temp->next;
j = 0;
}
}
}
LinkList *InsertWord(LinkList *temp) //插入字符或字符串
{
char Data1[800], Data2[800];
int h, l, o;
int h1 = 0, l1 = 1;
int i, j;
printf("\n\t\t 请输入要插入的字符或字符串:"); //先输入要插入的字符串
getchar();
gets_s(Data2); //gets函数换成了gets_s
printf("\n\t\t 当前文章内容为:"); //显示文章内容
PrintWord();
printf("\n\t\t 请输入要插入的行:"); //插入哪一行
scanf_s("%d", &h);
printf("\n\t\t 请输入要插入的列:"); //插入哪一列
scanf_s("%d", &l);
int n = strlen(Data2);
while (temp)
{
for (i = 0; i < 800; i++)
{
if (temp->data[i] == '\n')
{
h1++;
}
else
continue;
if (h1 == h)
{
strcpy_s(Data1, temp->data);
for (j = 0; j < 400; j++)
temp->data[i + l + n + j] = Data1[i + l + j];//空出位置
for (j = 0; j < n; j++)
temp->data[i + l + j] = Data2[j]; //进行插入
}
}
temp = temp->next;
}
return temp;
}
LinkList * ReplaceWord(LinkList *temp) //字符串替换函数
{
char Data1; //用来接收要被替换的字符或字符串
char Data2; //用来接收要用哪个字符或字符串代替
int n1, n2;
int i;
printf("\n\t\t 请输入要被替换的字符或字符串:");
getchar();
scanf_s("%c", &Data1);
printf("\n\t\t 请输入要用哪个字符或字符串代替:");
getchar();
scanf_s("%c", &Data2);
while (temp)
{
for (i = 0; i < 800; i++)
{
if (temp->data[i] == Data1)
temp->data[i] = Data2;
}
temp = temp->next;
}
printf("\n");
return temp;
}
void Bmenu(LinkList *temp)
{
char str1[20];
char str2[20];
int a;
do
{
HeadWord();
printf("\n\t\t\t\t****************************************************\n");
printf("\t\t\t\t\t **** 文章内容处理菜单 ****\n");
printf("\t\t\t\t****************************************************\n\n");
printf("\t\t\t\t\t 1、查找文章中的字符或者字符串 \n");
printf("\t\t\t\t\t 2、删除文章中的字符或者字符串 \n");
printf("\t\t\t\t\t 3、向文章中插入字符或者字符串 \n");
printf("\t\t\t\t\t 4、替换文章中字符或者字符串 \n");
printf("\t\t\t\t\t 5、显示当前文章内容 \n");
printf("\t\t\t\t\t 6、返回主菜单 \n");
printf("\t\t\t\t\t 7、直接退出系统 \n\n");
printf("\t\t\t\t****************************************************\n");
printf("\t\t\t\t请选择:");
scanf_s("%d", &a);
switch (a)
{
case 1:
system("cls");
HeadWord();
printf("\t\t\t 请输入您需要查找的字符或字符串:");
getchar();
gets_s(str1); //gets函数换成了gets_s
printf("\n");
SearchWord(str1, temp);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 2:
system("cls");
HeadWord();
printf("\t\t\t\t 请输入您需要删除的字符或字符串:");
getchar();
gets_s(str2); //gets函数换成了gets_s
SearchWord(str2, temp);
DeleteWord(str2);
printf("\t\t\t\t\t 删除 %3s 后的文章为:\n\n", str2);
PrintWord();
printf("\n\n");
printf(" 按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 3:
system("cls");
HeadWord();
InsertWord(temp);
printf("\t\t\t 插入字符或字符串后文章为:");
PrintWord();
printf("\n 按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 5:
system("cls");
HeadWord();
PrintWord();
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 4:
system("cls");
HeadWord();
ReplaceWord(temp);
printf("\t\t\t\t\t 替换后的文章为:\n\n");
PrintWord();
printf("\n\n");
printf(" 按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
}
if (a == 6)
{
system("cls");
break;
}
if (a == 7) exit(0);
} while (1);
}
void AboutWord()
{
printf("\n\t\t\t\t\t\t 关 于 本 实 验 \n");
printf("\t\t\t\t****************************************************\n\n");
printf("\t\t\t\t\t\t1807004426 阮国玺 \n\n");
printf("\t\t\t\t\t\t1807004432 王寒奇\n\n");
printf("\t\t\t\t\t\t1807004425 郝锦阳\n\n");
printf("\t\t\t\t\t\t1807004444 金胤宏\n\n");
printf("\t\t\t\t\t 本实验由这四人制作完成\n\n");
printf("\t\t\t\t****************************************************\n");
printf("\n");
}
void save(LinkList *temp) //文件保存函数
{
FILE *fp;
fp = fopen("F:/a", "w");
fputs(temp->data, fp);
fclose(fp);
printf("以存到F:/a 中成功");
}
void load(LinkList *temp) //文件读取函数
{
FILE *fp;
char ch;
int n;
fp = fopen("F:/a", "r");
for (int i = 0; i < 800; i++)
{
ch = fgetc(fp);
temp->data[i] = ch;
if (ch == '#')
break;
putchar(ch);
}
fclose(fp);
printf("\n读盘成功");
}
void menu(LinkList *temp)
{
int t;
do {
HeadWord();
printf("\n");
printf("\t\t\t\t****************************************************\n");
printf("\t\t\t\t\t\t**** 主菜单 ****\n");
printf("\t\t\t\t****************************************************\n");
printf("\n");
printf("\t\t\t\t\t\t 1、文章内容输入 \n");
printf("\t\t\t\t\t\t 2、显示当前文章内容 \n");
printf("\t\t\t\t\t\t 3、进入文章内容统计菜单 \n");
printf("\t\t\t\t\t\t 4、进入文章内容处理菜单 \n");
printf("\t\t\t\t\t\t 5、进行存盘 \n");
printf("\t\t\t\t\t\t 6、进行读盘 \n");
printf("\t\t\t\t\t\t 7、关于本实验\n");
printf("\t\t\t\t\t\t 8、退出文本编辑器 \n");
printf("\n");
printf("\t\t\t\t****************************************************\n");
printf("\t\t\t\t\t 注:第一次运行本程序时请选择 1 号功能 \n");
printf("\t\t\t\t****************************************************\n");
printf(" \t\t\t\t请选择:");
scanf_s("%d", &t);
if ((t > 8) || (t < 1))
{
printf("对不起, 无此功能, 请输入正确的功能序号!\n");
}
else
switch (t)
{
case 1:
system("cls");
HeadWord();
temp = CreatWord();
break;
case 2:
system("cls");
PrintWord();
printf("\n");
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 3:
system("cls");
CountWord();
break;
case 4:
system("cls");
Bmenu(temp);
break;
case 7:
system("cls");
HeadWord();
AboutWord();
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 5:
system("cls");
HeadWord();
save(temp);
printf("按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
case 6:
system("cls");
HeadWord();
load(temp);
printf("\n 按回车键继续····· ");
getchar();
getchar();
system("cls");
break;
}
if (t == 8) break;
} while (1);
}
int main()
{
head = (LinkList *)malloc(sizeof(LinkList));
LinkList *temp = head;
menu(temp);
}
运行结果:

QQ截图20200107190203.png
可以实现全部功能