资源描述:
《学生籍贯信息记录簿程序训练实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、HUNANUNIVERSITY程序设计训练报告学生姓名岳全有邓江军学生学号2011070151320110701514专业班级电气工程及其自动化指导老师黄友荣院长(系主任)王耀南2011年7月8日-30-一.设计内容与要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能要求如下:1.创建信息链表并以磁盘文件保存;2.读取磁盘文件并显示输出所有学生的籍贯信息;3.按学号或姓名查询其籍贯;4.按籍贯查询并输出该籍贯的所有学生;5.能添加、删除和修改学生的籍贯信息;6.显示输出江苏籍和非江苏籍学生的信息并可分别存盘。二.主
2、要技术指标及特点3.0信息描述(注:用流程图表示)-30-籍贯信息记录簿建立链表录入信息显示信息查询信息编辑信息分类管理主函数添加信息删除信息修改信息2.1创建信息链表并以磁盘文件保存;/**********************建立链表******************************/structhj{longnumber;charname[10],address[50];structhj*next;};/*********************文件操作函数******************************/FI
3、LE*fp;voidopenfile(charxx[20]){fp=fopen(xx,"ab+");if(fp==NULL)fp=fopen(xx,"wb");}/************************主函数********************************/intmain(intargc,char*argv[]){begin:intt;system("cls");printf("★★★★★欢迎使用户籍管理系统★★★★★");printf("一录入学生籍贯信息");printf("二查
4、编学生籍贯信息");printf("三删除学生籍贯信息");printf("四退出程序");-30-printf("请您选择:");mm:scanf("%d",&t);switch(t){case1:hjnew();break;case2:hjselect();break;case3:hjde();break;case4:exit(0);default:printf("错误的选择,请重新选择:");gotomm;}gotobegin;return0;}2.2读取磁盘文件并显示输出所有学生的籍贯信息;voidall
5、select(chara[8])//全部查询{intn=0;intk=0;system("cls");printf("★★★★★欢迎使用户籍管理系统★★★★★");printf("★★★籍贯方式信息★★★");structhj*p;structhj*q=NULL,*head=NULL;fp=fopen(a,"rb");if(fp==NULL)-30-{printf("对不起,没有记录无法查询!");gotoxxxx;}rewind(fp);while(!feof(fp)){n++;p=(structhj*)mal
6、loc(sizeof(structhj));fread(p,sizeof(structhj),1,fp);if(n==1)head=p;elseq->next=p;q=p;}q->next=NULL;structhj*h1,*p2,*q3,*r4,*s5;h1=p2=(hj*)malloc(sizeof(structhj));p2->next=head;while(p2->next!=NULL){q3=p2->next;r4=p2;while(q3->next!=NULL){if(q3->next->numbernext->num
7、ber)r4=q3;q3=q3->next;}if(r4!=p2){s5=r4->next;r4->next=s5->next;s5->next=p2->next;p2->next=s5;}p2=p2->next;}head=h1->next->next;free(h1);p=head;while(p!=NULL&&n>0){n--;printf("学号=%ld姓名=%s",p->number,p->name);printf("地址=%s",p->address);p=p->next;}xxxx:printf("→显示完毕←
8、⑴↑返回上级菜单⑵↓退出程序请选择:");xxx:scanf("%d",&n);switch(n){case1:break;case2:exit(0);-30-default