您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言课程设计:学生宿舍管理系统[1]
课程设计说明书NO.1更多课程设计,请登录搜索[课程设计]课程设计说明书NO.2更多课程设计,请登录搜索[课程设计]学生宿舍管理系统1.课程设计的目的进一步掌握和利用C语言进行程设计的能力,理解和运用结构化程设计的思想和方法,熟练掌握条件语句、循环、数组、函数操作,初步掌握开发一个小型实用系统的基本方法,学会高度一个较长程序的基本方法和利用流程图或N-S图表示算法,将本课程所学的知识合理地运用于实践当中。了解一些书上没有的函数及使用方法。2.设计方案论证2.1设计思路利用数组对宿舍的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行显示,删除,读入和写入文档等操作。2.2流程图课程设计说明书NO.3更多课程设计,请登录搜索[课程设计]开始输出界面选择操作选择1选择2选择3选择4选择5选择6选择7选择8选择9选择0输入记录是是显示记录否否否否否否否否否退出系统结束按床位排序显示按学号排序显示是是是是插入一个记录查找删除记录查找显示记录从文件输入写入文件保存是是是是否课程设计说明书NO.4更多课程设计,请登录搜索[课程设计]2.3具体程序#includestdio.h/*引用库函数*/#includestdlib.h#includectype.h#includestring.htypedefstruct/*定义结构体数组*/{charroomnum[4];/*房间号*/charbednum[2];/*床位号*/charnum[10];/*学号*/charname[20];/*姓名*/}Student;Studentroom1[1000];/*结构体数组变量*/intmenu_select()/*菜单函数*/{charc;do{system(cls);/*运行前清屏*/printf(\t\t★★★★★★学生宿舍管理系统★★★★★★\n);/*菜单选择*/printf(\t\t§1.输入记录§\n);printf(\t\t§2.显示记录§\n);printf(\t\t§3.按房间号排序并显示§\n);printf(\t\t§4.按学号排序并显示§\n);printf(\t\t§5.插入一条记录按学号排序并显示§\n);printf(\t\t§6.按姓名查找,删除一条记录§\n);printf(\t\t§7查找并显示一个记录§\n);printf(\t\t§8.从文件中读入数据§\n);printf(\t\t§9.循环写入数据§\n);printf(\t\t§0.结束程序§\n);printf(\t\t★★★★★★★★★★★★★★★★★★★★\n);printf(\t\t请选择您要运行的选项按(0-9):);课程设计说明书NO.5更多课程设计,请登录搜索[课程设计]c=getchar();/*读入选择*/}while(c'0'||c'9');return(c-'0');/*返回选择*/}intInput(Studentroom[],intn)/*输入若干条记录*/{inti=0;charsign,x[10];/*x[10]为清除多余的数据所用*/while(sign!='n'&&sign!='N')/*判断*/{printf(\t\t房间号:);/*交互输入*/scanf(\t\t%s&,room[n+i].roomnum);printf(\t\t床位号:);scanf(\t\t%s,&room[n+i].bednum);printf(\t\t学号:);scanf(\t\t%s,&room[n+i].num);printf(\t\t姓名:);scanf(\t\t%s,&room[n+i].name);gets(x);/*清除多余的输入*/printf(\t\t是否继续输入?(Y/N));scanf(\t\t%c,&sign);/*输入判断*/i++;}return(n+i);}voidDisplay(Studentroom[],intn)/*显示所有记录*/{inti;printf(\t\t--------------------------------------------------\n);/*格式头*/printf(\t\t房间号床位号学号姓名\n);printf(\t\t--------------------------------------------------\n);for(i=1;in+1;i++)/*循环输入*/{printf(\t\t%-10s%-10s%-10s%-20s\n,room[i-1].roomnum,room[i-1].bednum,room[i-1].num,room[i-1].name);课程设计说明书NO.6更多课程设计,请登录搜索[课程设计]if(i1&&i%10==0)/*每十个暂停*/{printf(\t\t--------------------------------------------------\n);/*格式*/printf(\t\t);system(pause);printf(\t\t--------------------------------------------------\n);}}printf(\t\t);system(pause);}voidSort_by_num(Studentroom[],intn)/*按学号排序*/{inti,j,*p,*q,s;chart[10];for(i=0;in-1;i++)/*冒泡法排序*/for(j=0;jn-1-i;j++)if(strcmp(room[j].num,room[j+1].num)0){strcpy(t,room[j+1].bednum);strcpy(room[j+1].bednum,room[j].bednum);strcpy(room[j].bednum,t);strcpy(t,room[j+1].num);strcpy(room[j+1].num,room[j].num);strcpy(room[j].num,t);strcpy(t,room[j+1].name);strcpy(room[j+1].name,room[j].name);strcpy(room[j].name,t);}}voidSort_by_roomnum(Studentroom[],intn)/*按房间号排序*/{inti,j,*p,*q,s;chart[10];for(i=0;in-1;i++)/*冒泡法排序*/for(j=0;jn-1-i;j++)课程设计说明书NO.7更多课程设计,请登录搜索[课程设计]if(strcmp(room[j].roomnum,room[j+1].roomnum)0){strcpy(t,room[j+1].roomnum);strcpy(room[j+1].roomnum,room[j].roomnum);strcpy(room[j].roomnum,t);strcpy(t,room[j+1].bednum);strcpy(room[j+1].bednum,room[j].bednum);strcpy(room[j].bednum,t);strcpy(t,room[j+1].num);strcpy(room[j+1].num,room[j].num);strcpy(room[j].num,t);strcpy(t,room[j+1].name);strcpy(room[j+1].name,room[j].name);strcpy(room[j].name,t);}}intInsert_a_record(Studentroom[],intn)/*插入一条记录*/{charx[100];/*清除多余输入所用*/printf(\t\t学生房间号:);/*交互式输入*/scanf(\t\t%s,&room[n].roomnum);printf(\t\t学生床位号:);scanf(\t\t%s,&room[n].bednum);printf(\t\t学生学号:);scanf(\t\t%s,&room[n].num);printf(\t\t学生姓名:);scanf(\t\t%s,&room[n].name);gets(x);n++;Sort_by_num(room,n);/*调用排序函数*/printf(\t\t插入记录成功!\n);/*返回成功信息*/return(n);}intDelete_a_record(Studentroom[],intn)/*按姓名查找,删除一条记录*/{chars[20];inti=0,j;课程设计说明书NO.8更多课程设计,请登录搜索[课程设计]printf(\t\t输入他(她)的姓名:);/*交互式问寻*/scanf(%s,s);while(strcmp(room[i].name,s)!=0&&in)i++;/*查找判断*/if(i==n){printf(\t\t对不起没找到该学生!\n);/*返回失败信息*/return(n);}for(j=i;jn-1;j++)/*删除操作*/{strcpy(room[j].roomnum,room[j+1].roomnum);strcpy(room[j].bednum,room[j+1].bednum);strcpy(room[j].num,room[j+1].num);strcpy(room[j].name,room[j+1].name);}printf(\t\t删除记录成功!\n);/*返回成功信息*/return(n-1);}voidQuery_a_record(Studentroom[],intn)/*查找并显示一个记录*/{chars[20];inti=0;printf(\t\t输入他(她)的姓名:);/*交互式输入*/scanf(\t\t%s,&s);while(strcmp(room[i].name,s)!=0&&in)i++;/*查找判断*/if(i==n){printf(\t\t对不起没找到该学生!\n);/*输入失败信息*/return;}printf(\t\t他(她)的房间号:%s\n,room[i].roomnum);/*输出该学生信息*/printf(\t\t他(她)的床位号:%s\n,room[i].bednum);printf(\t\t他(她)的学号:%s\n,room[i].num);}课程设计说明书NO.9更多课程设计,请登录搜索[课程设计]intAddfromText(Studentroom[],intn)/*从文件中读入数据*/{inti=0,num;FILE*fp;/*定义文件指针*/charfilename[20];/*定义文件名*/printf(\t\t输入文件名:);scanf(\t\t%s,&filename);/*输入文件名*/if((fp=fopen(filename,rb))==NULL)/*打开文件*/{printf(\t\t无法打开该文件\n);/*打开失败信息*/printf(\t\t);system(pause);return(n);}fscanf(fp,%d,&num);/*读入总记录量*/while(inum)/*循环读入数据*/{fscanf(fp,%s%s%s%s,room[n+i].roomnum,room[n+i].bednum,room[n+i].num,room[n+i].name);i++;}n+=num;fclose(fp);/*关闭文件*/printf(\t\t读入成功!\n);printf(\t\
本文标题:C语言课程设计:学生宿舍管理系统[1]
链接地址:https://www.777doc.com/doc-5100240 .html