您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 最新学生宿舍管理软件C语言源代码(完整版)
精品文档精品文档源程序代码:#includestdio.h#includestring.h#includestdlib.h#defineM100intdirty=0;//用来判断是否已保存操作//定义一个存储学生相关信息的结构体typedefstruct{charS_name[31];//学生姓名charS_class[31];//学生班级charS_number[16];//学生学号intD_number;//学生所在寝室的宿舍号charS_address[500];//学生地址intS_phone[20];//学生电话号码intTotal;//学生总数}Student[M],St;//判断学号是否与表中所存学号重复voidS_number_Judge(StudentS,intt){inti;for(i=1;i=(S-Total)-1;i++)while(strcmp(S[i].S_number,S[t].S_number)==0){printf(学号输入失败,该学号已存在,请重新输入学号!\n);printf(请输入学生的学号(15个字符以内):);scanf(%s,S[t].S_number);getchar();i=1;}}//添加学生信息函数voidAdd(StudentS){printf(请输入学生姓名(30个字符以内):);scanf(%s,S[++(S-Total)].S_name);getchar();//获取换行符printf(“请输入学生班级(30个字符以内):”);scanf(%s,S[S-Total].S_class);精品文档精品文档getchar();printf(请输入学生的学号(15个字符以内):);scanf(%s,S[S-Total].S_number);getchar();S_number_Judge(S,S-Total);//判断输入的学号是否与表中所存在的学号重复printf(请输入宿舍号码:);scanf(%d,&S[S-Total].D_number);getchar();printf(请输入学生地址:);scanf(%s,S[S-Total].S_address);getchar();printf(“请输入学生电话号码:”);scanf(%s,&S[S-Total].S_phone);getchar();dirty=1;printf(添加成功!\n\n);}//修改学生信息函数voidAlter(StudentS){inti;intflag=0;//用来判断表中是否存在所要修改的学生的信息charname[20];printf(请输入你要修改学生的姓名:);scanf(%s,name);getchar();for(i=1;i=S-Total;i++)if(strcmp(S[i].S_name,name)==0)flag=i;if(!flag)printf(你所要修改的学生信息在表中不存在!\n);else{printf(新信息如下:\n);printf(请输入学生姓名(30个字符以内):);scanf(%s,S[flag].S_name);getchar();printf(“请输入学生班级(30个字符以内):”);scanf(%s,S[flag].S_class);getchar();printf(请输入学生的学号(15个字符以内):);scanf(%s,S[flag].S_number);精品文档精品文档getchar();S_number_Judge(S,flag);printf(请输入宿舍号:);scanf(%d,&S[flag].D_number);getchar();printf(请输入学生地址:);scanf(%s,S[flag].S_address);getchar();printf(“请输入学生电话号码:”);scanf(%s,&S[flag].S_phone);getchar();dirty=1;printf(修改成功!\n);}putchar('\n');}//删除学生信息voidDelete(StudentS){inti,j;intflag=0;//用来判断表中是否存在所要删除的学生的信息charname[20];printf(请输入你要删除学生的姓名:);scanf(%s,name);getchar();for(i=1;i=S-Total;i++)if(strcmp(S[i].S_name,name)==0)flag=i;if(!flag)printf(你所要删除的学生在表中不存在!);else{for(i=flag;iS-Total;i++){j=i+1;strcpy(S[i].S_name,S[j].S_name);strcpy(S[i].S_number,S[j].S_number);S[i].D_number=S[j].D_number;}(S-Total)--;dirty=1;printf(删除成功!);}精品文档精品文档printf(\n\n);}//显示所有学生信息函数voidDisplay_All(StudentS){inti;printf(全体学生信息如下:\n);printf(学生姓名学生班级学生学号宿舍号学生地址学生电话号码\n);for(i=1;i=S-Total;i++)printf(%-20s%-20s%-15s%-5d%s-10%s\n,S[i].S_name,S[i].S_class,S[i].S_number,S[i].D_number,S[i].S_address,S[i].S_phone);putchar('\n\n');}//排序函数按照寝室号从小到大排序(冒泡法)voidSort_D_number(StudentS){inti,j,t;charname[30];charnumber[15];charaddress[300];charCnumber[30];for(i=1;i=S-Total;i++)for(j=i;j=S-Total;j++)if(S[i].D_numberS[j].D_number){strcpy(name,S[i].S_name);strcpy(number,S[i].S_number);strcpy(address,S[i].S_address);strcpy(Cnumber,S[i].S_class);t=S[i].D_number;strcpy(S[i].S_name,S[j].S_name);strcpy(S[i].S_number,S[j].S_number);strcpy(S[i].S_address,S[j].S_address);;strcpy(S[i].S_class,S[j].S_class);S[i].D_number=S[j].D_number;strcpy(S[j].S_name,name);strcpy(S[j].S_number,number);strcpy(S[j].S_address,address);strcpy(S[j].S_class,Cnumber);S[j].D_number=t;}}精品文档精品文档//排序函数按照学号从小到大排序(冒泡法)voidSort_S_number(StudentS){inti,j,t;charname[30];charnumber[15];charaddress[300];charCnumber[30];for(i=1;i=S-Total;i++)for(j=i;j=S-Total;j++)if(strcmp(S[i].S_number,S[j].S_number)0){strcpy(name,S[i].S_name);strcpy(number,S[i].S_number);strcpy(address,S[i].S_address);strcpy(Cnumber,S[i].S_class);t=S[i].D_number;strcpy(S[i].S_name,S[j].S_name);strcpy(S[i].S_number,S[j].S_number);strcpy(S[i].S_address,S[j].S_address);;strcpy(S[i].S_class,S[j].S_class);S[i].D_number=S[j].D_number;strcpy(S[j].S_name,name);strcpy(S[j].S_number,number);strcpy(S[j].S_address,address);strcpy(S[j].S_class,Cnumber);S[j].D_number=t;}}//排序函数按照班级号从小到大排序(冒泡法)voidSort_S_class(StudentS){inti,j,t;charname[30];charnumber[15];charaddress[300];charCnumber[30];for(i=1;i=S-Total;i++)for(j=i;j=S-Total;j++)if(strcmp(S[i].S_class,S[j].S_class)0){strcpy(name,S[i].S_name);精品文档精品文档strcpy(number,S[i].S_number);strcpy(address,S[i].S_address);strcpy(Cnumber,S[i].S_class);t=S[i].D_number;strcpy(S[i].S_name,S[j].S_name);strcpy(S[i].S_number,S[j].S_number);strcpy(S[i].S_address,S[j].S_address);;strcpy(S[i].S_class,S[j].S_class);S[i].D_number=S[j].D_number;strcpy(S[j].S_name,name);strcpy(S[j].S_number,number);strcpy(S[j].S_address,address);strcpy(S[j].S_class,Cnumber);S[j].D_number=t;}}//查询函数以班级为关键字进行查询(顺序查找)voidQuery_S_class(StudentS){inti,j=0;charclassnumber[31];printf(请输入你要查找的班级号(30个字符以内):);scanf(%s,classnumber);getchar();printf(所查找学生信息如下:\n);printf(学生姓名学生班级学生学号宿舍号学生地址学生电话号码\n);for(i=1;i=S-Total;i++)if(strcmp(classnumber,S[i].S_class)==0){printf(%-20s%-20s%-15s%-5d%s-10%s\n,S[i].S_name,S[i].S_class,S[i].S_number,S[i].D_number,S[i].S_address,S[i].S_phone);j=1;}if(!j)printf(\n查找失败,表中不存在该学生的信息!\n\n);}//查询函数以姓名为关键字进行查询(顺序查找)voidQuery_S_name(StudentS){inti,j=0;charname[31];精品文档精品文档printf(请输入你要查找的学生的姓名(30个字符以内):);scanf(%s,name);getchar();printf(所查找学生信息如下:\n);printf(学生姓名学生班级学生学号宿舍号学生地址学生电话号码\n);for(i=1;i=S-Total;i++)if(strcmp(name,S[i].S_name)==0){printf(%-20s%-2
本文标题:最新学生宿舍管理软件C语言源代码(完整版)
链接地址:https://www.777doc.com/doc-6787965 .html