课程设计说明书 NO.1
PAGE
课程设计说明书 NO.2
学生宿舍管理系统
1.课程设计的目的
进一步掌握和利用C语言进行程设计的能力,理解和运用结构化程设计的思想和方法,熟练掌握条件语句、循环、数组、函数操作,初步掌握开发一个小型实用系统的基本方法,学会高度一个较长程序的基本方法和利用流程图或N-S图表示算法,将本课程所学的知识合理地运用于实践当中。了解一些书上没有的函数及使用方法。
2.设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
论证
2.1设计思路
利用数组对宿舍的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行显示,删除,读入和写入文档等操作。
2.2流程图
2.3具体程序
#include
/*引用库函数*/
#include
#include
#include
typedef struct /*定义结构体数组*/
{
char roomnum[4]; /*房间号*/
char bednum[2]; /*床位号*/
char num[10]; /*学号*/
char name[20]; /*姓名*/
}Student;
Student room1[1000]; /*结构体数组变量*/
int menu_select() /*菜单函数*/
{
char c;
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):");
c=getchar(); /*读入选择*/
}while(c<'0'||c>'9');
return(c-'0'); /*返回选择*/
}
int Input(Student room[],int n) /*输入若干条记录*/
{int i=0;
char sign,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);
}
void Display(Student room[],int n) /*显示所有记录*/
{
int i;
printf("\t\t--------------------------------------------------\n"); /*格式头*/
printf("\t\t房间号 床位号 学号 姓名 \n");
printf("\t\t--------------------------------------------------\n");
for(i=1;i1&&i%10==0) /*每十个暂停*/
{printf("\t\t--------------------------------------------------\n"); /*格式*/
printf("\t\t");
system("pause");
printf("\t\t--------------------------------------------------\n");
}
}
printf("\t\t");
system("pause");
}
void Sort_by_num(Student room[],int n) /*按学号排序*/
{
int i,j,*p,*q,s;
char t[10];
for(i=0;i0)
{
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);
}
}
void Sort_by_roomnum(Student room[],int n) /*按房间号排序*/
{
int i,j,*p,*q,s;
char t[10];
for(i=0;i0)
{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);
}
}
int Insert_a_record(Student room[],int n) /*插入一条记录*/
{char x[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);
}
int Delete_a_record(Student room[],int n) /*按姓名查找,删除一条记录*/
{
char s[20];
int i=0,j;
printf("\t\t输入他(她)的姓名:"); /*交互式问寻*/
scanf("%s",s);
while(strcmp(room[i].name,s)!=0&&i
本文档为【学生宿舍管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。