当前位置:文档之家› 学生宿舍管理系统程序设计(优秀)

学生宿舍管理系统程序设计(优秀)

#include<>#include<>#include<>#include<>#include<>#include<>struct information{char name[100]; 加新学生 2.查询学生信息|\n\n");printf("\t| 3.删除学生信息 4.修改学生信息|\n\n");printf("\t| 5.显示所有学生信息 6.查询空余床位|\n\n");printf("\t| 7.退出|\n\n");printf("\t|注:本系统文件保存在C:\学生管理系统\学生信息.txt |\n");printf("\t-----------------------------------------------------\n");printf("\t 请按1-7进行选择\n\n");printf("请输入数值,按回车键结束:");scanf("%d",&m);while(m<1||m>7){printf("输入错误!!!请重新键入:");scanf("%d",&m);}switch(m)....");exit(0);break;}}}void tianjia() xt","a");if(head==NULL)head=p;else{pr=head;while((*pr).next!=NULL)pr=(*pr).next;(*pr).next=p;}pr=p;printf("\t 添加新学生信息\n");printf("\t==============================\n");printf("请输入学生信息:\n");printf(" 姓名:");scanf("%s",&(*pr).name); ame);printf(" 电话(11位):");scanf("%s",&(*pr).tel); el);printf(" 宿舍号(例如:101):");scanf("%s",&(*pr).homenum); omenum);printf(" 学号(11位):");scanf("%s",&(*pr).num); um);printf(" 班级(4位班级序号):");scanf("%s",&(*pr).classnum); lassnum);(*pr).next=NULL;fclose(fp);printf("按任意键返回主菜单");getch();;}void sushehao() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回主菜单....\n");getch();exit(0);}printf("输入要查询学生的宿舍号:");scanf("%s",home);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(home,(*pr).homenum)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(a==0){printf("无该宿舍学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void xuehao() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回查询菜单....\n");getch();chaxun();printf("输入要查询学生的学号:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).num)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class}if(a==0){printf("无该学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void xingming() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回查询菜单....\n");getch();chaxun();}printf("输入要查询学生的姓名:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).name)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(a==0){printf("无该学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void banji() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回查询菜单....\n");getch();chaxun();}printf("输入要查询学生的班级:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).classnum)==0){printf("姓名:");printf("%s\n",(*pr).name);printf("电话:");printf("%s\n",(*pr).tel);printf("宿舍号:");printf("%s\n",(*pr).homenum);printf("学号:");printf("%s\n",(*pr).num);printf("班级:");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(a==0){printf("无该班级学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void kongyu() xt","r"))==NULL){printf("无法打开文件\n");exit(1);}printf("\t 查询剩余空余床位\n");printf("\t============================\n");printf("注:以每宿舍六人为基准,本宿舍共120个宿舍,每层20个,按(楼层数+宿舍编号)标号\n\n");p=head;pr=p;printf("输入要查询的宿舍号:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).homenum)==0){i++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(i==6){printf("该宿舍已满员");printf("按任意键返回查询菜单");getch();}elseprintf("该宿舍还有%d个空余床位\n",6-i);{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void shanchu() xt","r"))==NULL){printf("无法打开该文件\n");exit(1);}printf("\t 删除学生信息\n");printf("\t…………………………………………\n\n");printf("请输入要删除的学生姓名:");scanf("%s",name);if(head==NULL){printf("无任何学生信息\n");exit(1);}p=head;fscanf(fp,"%4s%11s%3s%11s%4s",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum );while(strcmp(name,(*p).name)!=0&&(*p).next!=NULL){pr=p;p=(*p).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum );}printf("姓名");printf("%s\n",(*p).name);printf("电话");printf("%s\n",(*p).tel);printf("宿舍号");printf("%s\n",(*p).homenum);printf("学号");printf("%s\n",(*p).num);printf("班级");printf("%s\n",(*p).classnum);if(strcmp(name,(*p).name)==0){if(p==head)head=(*p).next;else(*pr).next=(*p).next;free(p);printf("\n已删除此学生的信息");if((fp=fopen("学生信息.txt","w"))==NULL){printf("无法打开该文件\n");exit(1);}p=head;while((*p).next!=NULL){fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);p=(*p).next;}fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);}elseprintf("无该学生信息");fclose(fp);printf("按任意键返回主菜单");getch();;}void xiugai() xt","r"))==NULL){printf("无法打开该文件\n");exit(1);}scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).name)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}pr=p;if((fp=fopen("学生信息.txt","w"))==NULL){printf("无法打开该文件");exit(1);}printf("请重新输入此人的相关信息\n");printf("请输入学生信息:\n");printf(" 姓名:");scanf("%s",&(*pr).name); ame);printf(" 电话(11位):");scanf("%s",&(*pr).tel); el);printf(" 宿舍号(例如:101):");scanf("%s",&(*pr).homenum); omenum);printf(" 学号(11位):");scanf("%s",&(*pr).num); um);printf(" 班级(4位班级序号):");scanf("%s",&(*pr).classnum); lassnum);p=pr;p=head;while((*p).next!=NULL){fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);p=(*p).next;}fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);fclose(fp);printf("按任意键返回主菜单");getch();;}void suoyou() xt","r"))==NULL){printf("无法打开该文件\n");printf("按任意键返回主菜单");getch();}printf("\t 所有学生信息\n");printf("\t============================\n\n");if(head==NULL){printf("无任何学生信息\n");printf("按任意键返回主菜单");getch();main();}p=head;do{fscanf(fp,"%4s%11s%3s%11s%4s",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum);printf("姓名");printf("%s\n",(*p).name);printf("电话");printf("%s\n",(*p).tel);printf("宿舍号");printf("%s\n",(*p).homenum);printf("学号");printf("%s\n",(*p).num);printf("班级");printf("%s\n\n",(*p).classnum);p=(*p).next;}while(p!=NULL);fclose(fp);printf("按任意键返回主菜单");getch();}int chaxun(){while(1){system("CLS");int m;printf("\t 信息查询系统\n");printf("\t------------------------------------------------\n");printf("\t| 1.按姓名查询 2.按宿舍号查询|\n\n");printf("\t| 3.按学号查询 4.按班级查询|\n\n");printf("\t| 5.返回主菜单|\n");printf("\t------------------------------------------------\n");printf("\t 按1-5进行选择\n\n");printf("请输入数值,按回车键结束:");scanf("%d",&m);while(m<1||m>5){printf("输入错误!!!请重新键入:");scanf("%d",&m);}switch(m){case 1:xingming();break;case 2:sushehao();break;case 3:xuehao();break;case 4:banji();break;case 5:main();break;}}return 0;}struct information *read(struct information *head){system("cls");FILE *fp;struct information *p,*pr;if((fp=fopen("学生信息.txt","r"))==NULL){return head;}while(!feof(fp)){p=(struct information *)malloc(sizeof(struct information));if(p!=NULL){p->next=NULL;}fscanf(fp,"%4s%11s%3s%11s%4s",p->name,p->tel,p->homenum,p->num,p->classnum);if(head==NULL){head=p;pr=head;}else{pr->next=p;p=p->next;}}fclose(fp);return head; }。

相关主题