用链表实现学生信息存储系统方案

上传人:m**** 文档编号:512254173 上传时间:2023-03-05 格式:DOC 页数:11 大小:113.50KB
返回 下载 相关 举报
用链表实现学生信息存储系统方案_第1页
第1页 / 共11页
用链表实现学生信息存储系统方案_第2页
第2页 / 共11页
用链表实现学生信息存储系统方案_第3页
第3页 / 共11页
用链表实现学生信息存储系统方案_第4页
第4页 / 共11页
用链表实现学生信息存储系统方案_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《用链表实现学生信息存储系统方案》由会员分享,可在线阅读,更多相关《用链表实现学生信息存储系统方案(11页珍藏版)》请在金锄头文库上搜索。

1、#in elude #in elude #in elude #defi ne PF printf#defi ne LEN sizeof(struct stude nt)/ 定义结构体struct stude ntchar NO20;char n ame20;int age;char sex3; /*F表示性别男,M表示性别女*/char birthday10;char address30;char phon e20;char e_mail20;struct stude nt *n ext; /下个结点;typedef struct stude nt STU;STU *head=NULL; /

2、全局指针int n,i=0;/全局变量/ 自定义函数void show_me nu();/显示菜单void menu();/执行菜单void creat_stu();/建立链表void in sert_stu();/学生信息录入void prin t_stu();/学生信浏览void search_NO();/以学号方式查询信息void search_ name(); /以姓名方式查询信息void arrage_stu();/排序void del_stu();/删除学生信息void revise_stu();/修改学生信息void save();/保存信息void main() creat_s

3、tu();men u();/ 创建链表 void creat_stu()FILE *fp;long size;STU *p1,*p2;head=(STU *)malloc(sizeof(STU);head- next=NULL;if(fp=fope n(fname.txt,r)=NULL)printf(这是新表 n);return;fseek(fp,0L,2);size=ftell(fp);if(!size)printf(这是空表 n);return;/开始创建链表rewi nd(fp); /移动到文件首p2=head- next; / 找到但前位置while(!feof(fp)p1=(STU

4、 *)malloc(sizeof(STU);fscan f(fp,%s %s %d %s %s %s %s %sn,p1-NO,p1- name,&p1-age, p1-sex,p1-birthday,p1-address,p1-ph on e,p1-e_mail);p1- next=NULL;/创建节点完if(head- next=NULL)head-n ext=p1;elsep2-n ext=p1;p2=p1;n+;p2- next=NULL;fclose(fp);/ 执行菜单void menu()int c;show_me nu ();while(1)scan f(%d, &c);swi

5、tch(c)getchar();case 1:i nsert_stu();break;case 2:pri nt_stu();break;case 3:search_NO(); break;case 4:search_ name(); break;case 5:del_stu(); break;case 6:revise_stu(); break;case 7:arrage_stu();break;case 0:exit(0);/执行菜单选项show_me nu ();/ 显示菜单void show_me nu()PF(n);PF(n 探菜单探探n);PF(tt 1.输入学生信息 n”);PF

6、(tt 2.浏览学生信息 n”);PF(tt 3.以学号方式查询信息n);PF(tt 4.以姓名方式查询信息n);PF(tt 5.删除学 生信息 n”);PF(tt 6.修 改 学生信 息 n”);PF(tt 7 排序 n ”);PF(tt 0退 出 n);PF(”探探n);PF(n 请选择 n);/ 学生信息录入void in sert_stu() /学生信息录入n=0;STU *p仁NULL,*p2=NULL;p1=(STU *)malloc(sizeof(STU);PF(n 探录入学生信息探探n);/ 录入学生信息PF(tt 输入学生学号:t);sca nf(%s,p1-NO);/学号P

7、F(tt 输入学生姓名:t);sca nf(%s,p1- name);/姓名PF(tt 输入学生年龄:t);sca nf(%d,&p1-age);/年龄PF(tt 输入学生性别:t);sca nf(%s,p1-sex);/性别PF(tt输入学生出生年月:t);sca nf(%s,p1-birthday);/出生年月PF(tt 输入学生地址:t);sca nf(%s,p1-address);/地址PF(tt输入学生电话:t);sca nf(%s,p1-pho ne);/电话PF(tt输入学生 E-mail:t);sca nf(%s,p1-e_mail);/E-mailn+;if(head- ne

8、xt=NULL)head=(STU *)malloc(LEN);head-n ext=p1;elsefor(p2=head;p2- next!=NULL;p2=p2- next); /*找到最后的结点,然后将增加的结点挂在它上面 */p2-n ext=p1;p1- next=NULL;save();保存到文件 / 学生信息浏览void prin t_stu()/STU *p=NULL;if(head=NULL) / PF(”文档中无记录!学生信浏览判断链表是否为空n);return;for(p=head-n ext;p!=NULL;p=p-n ext) /读出信息PF(探学生信息浏览探 探n)

9、;PF(tt学生学号:t%sn,p-NO);PF(tt学生姓名:t%sn,p-name);PF(tt学生年龄:t%dn,p-age);PF(tt学生性别:t%sn,p-sex);PF(tt学生出生年月:t%sn,p-birthday);PF(tt学生地址:t%sn,p-address);PF(tt学生电话:t%sn,p-phone);PF(tt学生 E-mail:t%sn,p-e_mail);PF(n);II输出信息II 学生姓名信息查找 void search_ name() II学生姓名信息查找STU *p=NULL;char n ame20;if(head=NULL) II判断链表是否为

10、空PF(文档中无记录!n);return;PF(”输入学生姓名:”);sea nf(%s, name);for(p=head-n ext;p!=NULL;p=p-n ext) /读出信息if(!strcmp(p-n ame ,n ame)PF(” 探您查找的学生是探 探n);PF(tt学生学号:t%sn,p-NO);PF(tt学生姓名:t%sn,p-name);PF(tt学生年龄:t%dn,p-age);PF(tt学生性别:t%sn,p-sex);PF(tt学生出生年月:t%sn,p-birthday);PF(tt学生地址:t%sn,p-address);PF(tt学生电话:t%sn,p-ph

11、one);PF(tt学生 E-mail:t%sn,p-e_mail);PF(n);i=1;/输出信息if(!i)PF(无该生信息!请查证:);/没找到信息时的处理/ 学生学号信息查找 void search_NO() / 学生学号信息查找STU *p=NULL;char NO2O;if(head=NULL) /判断链表是否为空PF(文档中无记录!n);return;PF(请输入学生学号:”);sca nf(%s,NO);for(p=head-n ext;p!=NULL;p=p-n ext) /读出信息if(!strcmp(p-NO,NO)PF(探您查找的学生是探探n);PF(tt学生学号:t%sn,p-NO);PF(tt

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号