1、(3)在要插入的结点输入信息;(4)调用保存函数,打开文件,保存输入信息。3、删除信息函数(void del()(2)用指针检验链表中是否有记录,若没记录,返回主函数;(3)根据要修改的编号查找要删除的结点;(4)修改链表,删除对应结点。4、修改信息函数(void xiugai()(2)读取保存的文件数据输入ASCLL字符:(3)用指针检验链表中是否有记录,若没记录,返回主函数;(4)根据要修改的编号查找对应结点;(5)修改信息;(6)打开文件,保存修改记录。 5、保存信息函数(baocun()(2)用文件指针指向要读写的磁盘文件名,若没有则新建此文件名:(3)用指针检验链表中是否有记录,若没
2、记录,返回主函数:(4)打开文件,保存记录:6、屏幕操作函数(void stubent187()(1)以一定格式输出所想要的图形:四、主要源程序代码定义变量:(对整个程序定义全局变量)#include stdio.hconio.h #define STUDENT ID /*所有STUDENT都用ID来代替*/ typedef struct node /*定义结构体*/ char ming50; /*名字*/ char xing50; /*性别*/ char nian50; /*年龄*/ int xuehao; /*学号*/ char xibie50; /*专业*/ char sushe50;
3、/*宿舍号*/ char jia50; /*家庭地址*/ struct node *next; ID; /*学生信息(变量名)*/ ID *head=NULL; /*定义一个头指针*/FILE *zhi; /*定义一个文件指针*/主菜单界面:(进入屏幕界面的形式)void stubent187() /*屏幕格式函数*/ printf(*n); printf(* 学生信息管理系统 *n* *n* 请选择:1:查看; 2:添加; 3:删除; *n* 4:修改; 0:退出系统 *n*n输入 04 数字ming,&xing,&nian,&xuehao,&xibie,&sushe,&jia); /*读取
4、保存的文件数据输入ASCLL字符:*/,t-ming,t-xing,t-nian,t-xuehao,t-xibie,t-sushe,t- /*以这形式输出各个学生信息*/ t-next=(ID *)malloc(sizeof(ID);t=t-next; ;添加学生信息记录:()void add() char i; /*添加*/ ID *t1,*t2; t1=t2=NULL; loop: t1=(ID *)malloc(sizeof(ID); /*为t1开辟一个新单元*/ printf(请输入姓名:scanf(%st1-ming); /* 姓名 */请输入性别:xing); /* 性别 */请输
5、入年龄:(t1-nian); /* 年龄 */请输入学号:%dxuehao); /* 学号 */请输入系别:xibie); /*系别*/请输入宿舍号:sushe);请输入家庭地址:jia); t1-next=NULL; if (head=NULL) /*如果头结点为空*/ head=t1; /*t1指向头结点*/ t2=t1; else t2=head; while (t2-next!=NULL) t2=t2- /*没有成立则指向下个结点*/ t2-next=t1; getchar();是否继续添加(Y/N): scanf(i); /*输入Y/N*/ if(i=y|i=Y) clrscr();
6、 goto loop; /* 清屏 在 循环*/ else printf(是否保存此次添加(Y/N)n) /*是否要保存*/ baocun(); /*调用保存*/ clrscr(); /*清屏*/ stubent187();/*调用屏幕函数*/保存成功 else if(i=nN) /*调用屏幕函数*/删除学生信息操作:(对以存的学生信息进行删除)void del() /*删除*/ ID *A,*B; /*定义指针*/ char t,i;int xuehao; /*定义整型变量与字符型变量*/ A=B=NULL;a+没有此信息文件n loop:请输入要删除的学生学号:xuehao); fscan
7、f(zhi,A- /*读取保存的文件数据输入ASCLL字符: if(A!=NULL & A-xuehao!=xuehao) A=A- else break; if (A-xuehao=xuehao) head=A- free(*A);成功!是否继续删除(Y/N)是否保存此次删除(Y/N)n baocun(); else printf(无法找到此编号n修改学生信息操作:(对保存的学生信息进行修改) void xiugai() /*修改*/ int i;char xuehao; t1=head;loop:请输入要修改的学号: /* 输入编号*/ fscanf(zhi, *读取保存的文件数据输入AS
8、CLL字符: if(t1! t1=t1- if (t1- fprintf(zhi,t1-ming,t1-xing,t1-nian,t1-xuehao,t1-xibie,t1-sushe,t1-输入名字:输入性别:xing); printf(输入年龄:输入学号:输入系别: /*系别*/ printf(输入专业: /* 宿舍号 */ printf(输入家庭地址: /* 家庭地址*/是否继续修改(Y/N) if(i= clrscr();是否保存此次修改(Y/N)n%c /*清屏*/ /*调用屏幕函数*/没有此编号n return;保存添加,删除,修改学生的信息:(操作过后是否保存)baocun()
9、/*保存*/ ID *t=head; zhi=fopen( /*(读写 yihu.txt文本) */ while (t!=NULL) fprintf(zhi, /*以zhi为文件指针保存*/ t=t- fclose(zhi); /*关闭此文件*/成功!主菜单操作:(选择所需要的操作)main() /*主函数*/ /*定义整形变量i*/ while(1) /*输入要执行的操作*/ switch(i) case 1:chakan();break; /*调用查看函数*/ case 2:add(); /*调用添加函数*/ case 3:del(); /*调用删除函数*/ case 4:xiugai(); /*调用修改函数*/ case 0:exit(0); /*结束*/ default:printf(输入错误,请在此输入ncontinue; /*输入不是04的,则返回*/源函数代码: /*为t1开辟一个新单元*/ /*没有成立则指向下个结点*/void xiugai()%
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1