C语言学生宿舍管理整理Word文档格式.docx
- 文档编号:14176469
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:15
- 大小:66.44KB
C语言学生宿舍管理整理Word文档格式.docx
《C语言学生宿舍管理整理Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言学生宿舍管理整理Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
3.利用C语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C语言解决实际问题的能力
1.2课程设计的实验环境
硬件要求能运行Windows2000/XP操作系统的微机系统。
C语言程序设计及相应的开发环境。
1.3课程设计的预备知识
熟悉C语言及C语言开发工具。
1.4课程设计要求
1.分析课程设计题目的要求2.写出详细设计说明
3.编写程序代码,调试程序使其能正确运行
4.设计完成的软件要便于操作和使用
5.设计完成后提交课程设计报告
第2章课程设计内容
2.1学生宿舍管理系统
2.2设计方案论证
2.2.1设计思路
利用数组对宿舍的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行显示,删除,读入和写入文档等操作。
2.2.2流程图
2.2.3具体程序
#include<
stdio.h>
/*引用库函数*/
stdlib.h>
ctype.h>
string.h>
typedefstruct/*定义结构体数组*/
{
charroomnum[4]。
/*房间号*/
charbednum[2]。
/*床位号*/
charnum[10]。
/*学号*/
charname[20]。
/*姓名*/
}Student。
Studentroom1[1000]。
/*结构体数组变量*/
intmenu_select()/*菜单函数*/
{
charc。
do{
system("
cls"
)。
/*运行前清屏*/
printf("
\t\t★★★★★★学生宿舍管理系统★★★★★★\n"
/*菜单选择*/
\t\t§
1.输入记录§
\n"
2.显示记录§
3.按房间号排序并显示§
4.按学号排序并显示§
5.插入一条记录按学号排序并显示§
6.按姓名查找,删除一条记录§
7查找并显示一个记录§
8.从文件中读入数据§
9.循环写入数据§
0.结束程序§
\t\t★★★★★★★★★★★★★★★★★★★★\n"
\t\t请选择您要运行的选项按(0-9):
"
c=getchar()。
/*读入选择*/
}while(c<
'
0'
||c>
9'
return(c-'
/*返回选择*/
}
intInput(Studentroom[],intn)/*输入若干条记录*/
{inti=0。
charsign,x[10]。
/*x[10]为清除多余的数据所用*/
while(sign!
='
n'
&
sign!
N'
)/*判断*/
\t\t房间号:
/*交互输入*/
scanf("
\t\t%s"
&
room[n+i].roomnum)。
\t\t床位号:
room[n+i].bednum)。
\t\t学号:
room[n+i].num)。
\t\t姓名:
room[n+i].name)。
gets(x)。
/*清除多余的输入*/
\t\t是否继续输入?
(Y/N)"
\t\t%c"
sign)。
/*输入判断*/
i++。
return(n+i)。
voidDisplay(Studentroom[],intn)/*显示所有记录*/
inti。
printf("
\t\t--------------------------------------------------\n"
/*格式头*/
\t\t房间号床位号学号姓名\n"
for(i=1。
i<
n+1。
i++)/*循环输入*/
\t\t%-10s%-10s%-10s%-20s\n"
room[i-1].roomnum,room[i-1].bednum,room[i-1].num,room[i-1].name)。
if(i>
1&
i%10==0)/*每十个暂停*/
{printf("
/*格式*/
\t\t"
pause"
}
system("
voidSort_by_num(Studentroom[],intn)/*按学号排序*/
inti,j,*p,*q,s。
chart[10]。
for(i=0。
n-1。
i++)/*冒泡法排序*/
for(j=0。
j<
n-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)/*按房间号排序*/
if(strcmp(room[j].roomnum,room[j+1].roomnum)>
{strcpy(t,room[j+1].roomnum)。
strcpy(room[j+1].roomnum,room[j].roomnum)。
strcpy(room[j].roomnum,t)。
intInsert_a_record(Studentroom[],intn)/*插入一条记录*/
{charx[100]。
/*清除多余输入所用*/
\t\t学生房间号:
/*交互式输入*/
room[n].roomnum)。
\t\t学生床位号:
room[n].bednum)。
\t\t学生学号:
room[n].num)。
\t\t学生姓名:
room[n].name)。
n++。
Sort_by_num(room,n)。
/*调用排序函数*/
\t\t插入记录成功!
/*返回成功信息*/
return(n)。
intDelete_a_record(Studentroom[],intn)/*按姓名查找,删除一条记录*/
chars[20]。
inti=0,j。
\t\t输入他(她)的姓名:
/*交互式问寻*/
%s"
s)。
while(strcmp(room[i].name,s)!
=0&
n)i++。
/*查找判断*/
if(i==n)
\t\t对不起没找到该学生!
/*返回失败信息*/
for(j=i。
j++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生宿舍 管理 整理