宿舍管理系统课程设计.docx
- 文档编号:1657925
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:23
- 大小:368.73KB
宿舍管理系统课程设计.docx
《宿舍管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统课程设计.docx(23页珍藏版)》请在冰豆网上搜索。
宿舍管理系统课程设计
软件设计报告
题目:
宿舍管理系统
院系名称
:
电子工程学院
专业名称
:
电子信息工程
班级
:
电子0902
班内序号
:
学生姓名
:
指导教师
:
时间
:
2010年6月21日至2010年7月2日
一、 课程设计目的
(一)通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。
(二)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。
(三)为后续各门计算机课程的学习打下坚实基础,为毕业设计和以后工作打下必要基础。
二、课程设计内容
编写一个宿舍管理系统。
通过该系统完成对学生信息的录入、输出、删除、修改、添加、宿舍卫生情况排名,并给系统设置了密码,若密码输入错误,则不能进入系统。
三、需求分析
系统代码要能够对学生信息进行录入、输出、删除、修改、添加、宿舍卫生情况排名
四、概要设计
1.系统结构图(功能模块图):
2.功能模块说明(对各个模块进行功能的描述)
(1)输入模块:
输入学生信息
(2)输出模块:
进行学生信息的输出
(3)修改模块:
对需要修改的信息的学生信息进行修改
(4)删除模块:
对需要删除的学生信息进行删除
(5)排序模块:
对学生宿舍的卫生得分进行排名
(6)保存文件模块:
退出系统时,保存学生信息
(7)密码设置模块:
给系统设置密码,若密码错误,则不能进入系统。
(8)添加信息模块:
按要求在系统中进行学生信息的添加
五、详细设计及运行结果
各模块功能图示:
密码设置模块:
给系统设置密码,若密码错误,则不能进入系统。
输入模块:
输入学生信息
输出模块:
添加信息模块:
按要求在系统中进行学生信息的添加
修改模块:
对需要修改的信息的学生信息进行修改
删除模块:
对需要删除的学生信息进行删除
排序模块:
对学生宿舍的卫生得分进行排名
函数之间相互调用的图示:
运行结果:
六、调试情况,设计技巧及体会
1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。
评价:
(1)优点:
该系统能够快速完成对学生信息的录入、输出、删除、修改、添加、宿舍卫生情况排名,并给系统设置了密码,若密码输入错误,则不能进入系统。
(2)缺点:
未对学生信息进行详细的统计
改进方案:
在系统的代码中加入对学生信息进行统计的代码
2、在设计过程中的感受
做任何事都要有耐心,不能急躁。
干任何事(包括学知识)都要注意细节。
注意数组元素的定义。
……
七、参考文献
《C语言程序设计》王曙燕曹锰科学出版社2005年2月
《C语言程序设计》谭浩强清华大学出版社1999年12月
《C语言程序设计教程》张毅坤曹锰张亚玲西安交通大学
出版社
八、附录:
源代码
(略,详见电子版实验报告)
#include
#include
#include
#include
#include
#defineL200
#defineN1000
#definePAGE100
/*日期结构体类型*/
structd_type
{
intyear;
intmonth;
intday;
};
/*学生信息结构体类型*/
structst_type
{
intnum;/*学号*/
charname[10];/*姓名*/
structd_typedate;/*入学时间*/
intnum1;/*宿舍楼号*/
intnum2;/*宿舍号*/
char*acad;/*所属院系*/
};
structst_typestudent[N];
/*读文件模块*/
intread_file(structst_typestudent[])
{
FILE*fp;
inti=0;
if((fp=fopen("D:
\\student.txt","rt"))==NULL)
{
printf("\n\n*******库存文件不存在!
请新建:
\n");
exit(0);
}
while(feof(fp)!
=1)
{
fread(&student[i],sizeof(student),1,fp);
if(student[i].num==0)
break;
else
i++;
}
fclose(fp);
returni;
}
/*保存文件模块*/
voidsave_file(structst_typestudent[],intsum)
{
FILE*fp;
inti;
if((fp=fopen("D:
\\student.txt","wt"))==NULL)
{
printf("读文件错误!
\n");
return;
}
for(i=0;i {if(fwrite(&student[i],sizeof(student),1,fp)! =1) printf("写文件错误! \n"); printf("^_^文件已保存! ^_^\n"); fclose(fp); } } /*求总的宿舍数*/ intmax_st(intm) { intx,y; intcount; x=m/6; y=m%6; if(y! =0) count=x+1; else count=x; returncount; } /*输入学生信息模块*/ intinput(structst_typestudent[]) { inti=0; system("cls"); printf("\n\n输入学生信息(最多%d个)\n",N); printf("------------\n"); do { printf("\n第%d个学生",i+1); printf("\n学号: "); scanf("%d",&student[i].num); if(student[i].num==0) break; flushall(); printf("\n姓名: "); scanf("%s",&student[i].name); flushall(); printf("\n入学时间(如: 2010-6-6): "); scanf("%d-%d-%d",&student[i].date.year,&student[i].date.month, &student[i].date.day); flushall(); printf("\n宿舍楼号: "); scanf("%d",&student[i].num1); flushall(); printf("\n宿舍号: "); scanf("%d",&student[i].num2); flushall(); printf("\n所属院校: "); scanf("%s",&student[i].acad); flushall(); i++; } while(i printf("\n------%d个学生信息输入完毕! --------\n",i); printf("\n按任意键返回主菜单! "); getch(); returni; } /*输出学生信息模块*/ voidoutput(structst_typestudent[],intsum) { FILE*fp; inti=0,j=0,page=1; if((fp=fopen("D: \\student.txt","wt"))==NULL) { printf("读文件错误! \n"); return; } for(i=0;i { fread(&student[i],sizeof(student),1,fp); system("cls"); printf("\n\n-----学生信息表-----第%d页\n\n",page); printf("--学号--姓名--入学时间--宿舍楼号--宿舍号--所属院系--\n"); printf("--------------------------------------------\n"); do { if(student[i].num! =0) { j++; if((j%PAGE)! =0) { printf("%d%4s%4d-%d-%d%6d%6d%7c",student[i].num,student[i].name, student[i].date.year,student[i].date.month, student[i].date.day,student[i].num1,student[i].num2, student[i].acad); printf("\n"); printf("----------------------------------------------------------\n"); } else { printf("按任意键继续! "); getch(); system("cls"); printf("\n\n-----学生信息表------第%d页\n\n",++page); printf("--学号--姓名--入学时间--宿舍楼号--宿舍号--所属院系--\n"); printf("--------------------------------------------\n"); printf("%d%4s%4d-%d-%d%6d%6d%7c",student[i].num,student[i].name, student[i].date.year,student[i].date.month, student[i].date.day,student[i].num1,student[i].num2, student[i].acad); printf("--------------------------------------------\n"); } } i++; } while(student[i].num! =0); printf("按任意键返回主菜单! "); getch(); } } /*添加学生信息模块*/ voidadd(structst_typestudent[],intsum) { inti,choice,add_num,flag; do {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宿舍 管理 系统 课程设计