ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:68.24KB ,
资源ID:6291473      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6291473.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(宿舍管理系统报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

宿舍管理系统报告.docx

1、宿舍管理系统报告学生宿舍管理系统一、实验目的1熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。、;2以线性表的各种操作(建立、插入、删除、遍历等)的实现为重点;3掌握线性表的动态分配顺序存储结构的定义和基本操作的实现;4通过实验帮助学生加深对C语言的使用(特别是函数的参数调用、指针类型的应用和链表的建立等各种基本操作)。二、实验内容我组设计的是学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。包括学生的XX、学号、性别、专业、班级等等。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(

2、算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。 三、实验环境台式计算机每人一台;软件:Visual C+6.0;四、需求分析该程序是由C语言编写的一个宿舍管理查询软件,本程序在Microsoft Visual C+ 6.0下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。其中查询可以分别以XX、学号、宿舍号为关键字查询学生信息。统计可以分别以学号、宿舍号、性别、班级、专业为关键字进行统计,并且输出信息按学号大小从小到大输出。五、概要设计1、方案设计2、数据结构说明程序中数据主要是

3、学生信息和宿舍信息,具体属于类型如下:struct stu char name20; int num; char sex; int age; int grade; int nclass; char zhuanye30;struct dom int bui_num; int floor_num; int room_num; int bed_num; struct stu st;sMAX,p;3、模块功能说明第一密码模块:调用cipher(),进行管理者的注册与登录操作。第二录入模块:调用input_message(),对住宿学生信息进行录入。第三添加模块:调用append_message(),对

4、新来学生信息进行添加录入。第四修改模块:调用revise_message(),对需修改学生的信息进行修改。第五删除模块:调用delete_message(),对某一学生信息进行删除操作。第六查询模块:调用find_message(),分别以XX、学号、宿舍号对学生信息进行查询。第七统计模块:调用census_message(),分别以学号、宿舍号、性别、班级、专业方式对学生信息进行统计,并按学号由小到大输出。六、详细设计及运行结果1、登陆界面2、主界面3、录入模块4、录入界面5、打印学生信息界面6、更新学生信息界面7、查询宿舍信息界面8、统计宿舍信息界面9、学生宿舍排序七、源程序#includ

5、e #include string.h#define MAX 10#define PRINT1 printf(-n)#define PRINT2 printf(学号-学生XX-性别-年龄-年级-班级-专业-楼号-楼层号-房间号-床号nn)int sum;struct stu char name20; int num; char sex; int age; int grade; int nclass; char zhuanye30;struct dom int bui_num; int floor_num; int room_num; int bed_num; struct stu st;sMA

6、X,p; /*保存信息*/ save_message() FILE *fp; int i; if(fp=fopen(dom.txt,wt)=NULL) printf(读文件错误!n); return 0; for(i=0;isum;i+) if(fwrite(&si,sizeof(struct dom),1,fp)!=1) printf(写文件错误!n); fclose(fp); /*输入模块*/ input_message() int i=0; /clrscr(); printf(nn 录入学生信息(最多%d个)n,MAX); printf( -n); do printf(n 第%d个学生n

7、n,i+1); printf(n 学号: ); scanf(%d,&si.st.num); if(si.st.num=0) break; printf(n 学生XX: ); scanf(%s,si.st.name); printf(n 学生性别(男生用M表示,女生用F表示):); getchar(); scanf(%c,&si.st.sex); printf(n 学生年龄: ); scanf(%d,&si.st.age); printf(n 学生年级: ); scanf(%d,&si.st.grade); printf(n 学生班级: ); scanf(%d,&si.st.nclass); p

8、rintf(n 学生专业: ); scanf(%s,&si.st.zhuanye); printf(n 宿舍楼号: ); scanf(%d,&si.bui_num); printf(n 宿舍楼层号: ); scanf(%d,&si.floor_num); printf(n 宿舍房间号: ); scanf(%d,&si.room_num); printf(n 宿舍床号: ); scanf(%d,&si.bed_num); i+; while(iMAX); printf(n -%d个学生的信息输入完毕!-n,i); sum=i; printf(n 按任意键返回主菜单!); getchar(); /

9、 bioskey(0); return 0; /*读取信息*/ int read_message() FILE *fp; int i=0; if(fp=fopen(dom.txt,rt)=NULL) printf(nn*暂时还没有任何信息,按任意键进入主菜单选择基本信息的录入!*n); return 0; while(!feof(fp) fread(&si,sizeof(struct dom),1,fp); i+; fclose(fp); return(i); /*输出模块*/ output_message() int i=0;/ clrscr();printf(nn -学生信息表- nn);

10、PRINT2;PRINT1;for(i=0;isum;i+)if(si.st.num!=0) printf(%2d%10s%6c%7d%6d%5d%8s%5d%6d%8d%9dnn,si.st.num,si.st.name,si.st.sex,si.st.age, si.st.grade,si.st.nclass,si.st.zhuanye,si.bui_num,si.floor_num,si.room_num,si.bed_num); printf(n);/ bioskey(0);return 0; / /*添加学生信息*/ insert_message() int i=sum,flag=0

11、; char choice; printf(nn 添加一个新同学n); printf( -n); do printf(n 新学号: ); scanf(%d,&si.st.num); printf(n 学生XX: ); scanf(%s,si.st.name); printf(n 学生性别(男生用M表示,女生用F表示):); getchar(); scanf(%c,&si.st.sex); printf(n 学生年龄: ); scanf(%d,&si.st.age); printf(n 学生年级: ); scanf(%d,&si.st.grade); printf(n 学生班级: ); scan

12、f(%d,&si.st.nclass); printf(n 学生专业: ); scanf(%s,si.st.zhuanye); printf(n 宿舍楼号: ); scanf(%d,&si.bui_num); printf(n 宿舍楼层号: ); scanf(%d,&si.floor_num); printf(n 宿舍房间号: ); scanf(%d,&si.room_num); printf(n 宿舍床号: ); scanf(%d,&si.bed_num); sum+; printf(n 要继续吗(Y/N); getchar(); scanf(%c,&choice); if(choice=y

13、 | choice=Y) flag=1; i+; printf(n 继续!n); else flag=0; while(flag=1); printf(n 按任意键返回主菜单!); return 0; /*删除模块*/ del_message() int flag,del_num,i,k; char choice; do printf(n 输入要删除的学生学号: ); scanf(%d,&del_num); for(i=0;isum;i+) if(del_num=si.st.num) for(k=i;ksum-1;k+) sk=sk+1; sum-; printf(nn 继续吗(Y/N); g

14、etchar(); scanf(%c,&choice); if(choice=y | choice=Y) flag=1; printf(n 继续!n); else flag=0; while(flag=1); printf(nn 按任意键返回主菜单!); getchar(); return 0; /*修改模块*/ revise_message()int i=0,choices,revise_num,flag=0; char choice; do printf(n 输入要修改的学生号: ); scanf(%d,&revise_num); for(i=0;isum;i+) if(si.st.num

15、=revise_num) printf(n -学生信息-n); PRINT1; PRINT2; printf(%2d%10s%6c%7d%6d%5d%8s%5d%6d%8d%9dnn,si.st.num,si.st.name,si.st.sex,si.st.age,si.st.grade,si.st.nclass,si.st.zhuanye,si.bui_num,si.floor_num,si.room_num,si.bed_num); printf(n 您要修改哪一项n); printf(n 1.学号n); printf(n 2.性别n); printf(n 3.n); printf(n 4

16、.年龄n); printf(n 5.年级n); printf(n 6.班级n); printf(n 7.专业n); printf(n 8.楼号n); printf(n 9.楼层号n); printf(n 10.房间号n); printf(n 11.床号n); printf(n 请选择(1-11): ); scanf(%d,&choices); switch(choices) case 1:printf(n 输入修改后的学号); scanf(%d,&si.st.num);break; case 2:printf(n 输入修改后的XX); scanf(%s,si.st.name);break; c

17、ase 3:printf(n 输入修改后的性别); scanf(%s,si.st.sex);break; case 4:printf(n 输入修改后的年龄); scanf(%d,&si.st.age);break; case 5:printf(n 输入修改后的年级); scanf(%d,&si.st.grade);break; case 6:printf(n 输入修改后的班级); scanf(%d,&si.st.nclass);break; case 7:printf(n 输入修改后的专业); scanf(%s,&si.st.zhuanye);break; case 8:printf(n 输入

18、修改后的楼号); scanf(%d,&si.bui_num);break; case 9:printf(n 输入修改后的楼层号); scanf(%d,&si.floor_num);break; case 10:printf(n 输入修改后的房间号); scanf(%d,&si.room_num);break; case 11:printf(n 输入修改后的床号); scanf(%d,&si.bed_num);break; PRINT1; PRINT2; printf(%2d%10s%6c%7d%6d%5d%8s%5d%6d%8d%9dnn,si.st.num,si.st.name,si.st.

19、sex,si.st.age,si.st.grade,si.st.nclass,si.st.zhuanye,si.bui_num,si.floor_num,si.room_num,si.bed_num); break; if(i=sum) printf(n 该学生不存在!);/ bioskey(0); return 0;/* printf(nn 继续修改吗?(Y/N); getchar(); scanf(%c,&choice); if(choice=y| choice=Y) flag=1; printf(n 继续!n); else flag=0; */ while(flag=1); getcha

20、r(); printf(n 按任意键返回主菜单! ); return 0; /*更新模块*/ renew_message() int choice; do printf(nnn *更新学生信息*nn); printf( 1.添加学生信息nn); printf( 2.删除学生信息nn); printf( 3.修改学生信息nn); printf( 0.返回主菜单nn); printf( 请选择(0-3): ); scanf(%d,&choice); switch(choice) case 1:insert_message();break; case 2:del_message();break; c

21、ase 3:revise_message();break; case 0:break; while(choice!=0); return 0; inquire_name() /*按XX查询*/ int i,j=0; char inquire_name10; printf(n 输入要查询的学生XX: ); scanf(%s,inquire_name); for(i=0;isum;i+) if(strcmp(si.st.name,inquire_name)=0&si.st.num!=0) printf(n -学生信息- n); PRINT1; PRINT2; printf(%2d%10s%6c%7

22、d%6d%5d%8s%5d%6d%8d%9dnn,si.st.num,si.st.name,si.st.sex,si.st.age, si.st.grade,si.st.nclass,si.st.zhuanye,si.bui_num,si.floor_num,si.room_num,si.bed_num); else j+; if(j=sum) printf(n 该学生不存在!); return 0; int inquire_num() /*按学号查询*/ int i,j=0,inquire_num; printf(n 输入要查询的学生学号: ); scanf(%d,&inquire_num)

23、; for(i=0;isum;i+) if(inquire_num=si.st.num) printf(n -学生信息-n); PRINT1; PRINT2; printf(%2d%10s%6c%7d%6d%5d%8s%5d%6d%8d%9dnn,si.st.num,si.st.name,si.st.sex,si.st.age, si.st.grade,si.st.nclass,si.st.zhuanye,si.bui_num,si.floor_num,si.room_num,si.bed_num); else j+; if(j=sum) printf(n 该学生不存在!); return 0

24、; /*查询模块*/ inquire_message() int choice; do printf(nn *查询学生信息*nn); printf( 1.按学生XX查询n); printf( 2.按学生学号查询n); printf( 0.回主菜单n); printf( 请选择(0-2): ); scanf(%d,&choice); switch(choice) case 1:inquire_name();break; case 2:inquire_num();break; case 0:break; while(choice!=0); return 0; count_person() /*学生

25、住宿情况统计*/ int i,j=0,count_grade,count_nclass; char count_zhuanye20; printf(n 输入要统计的学生专业,年级,班级: ); scanf(%10s %8d %8d,&count_zhuanye,&count_grade,&count_nclass); printf(n 住宿情况); printf(n -n); printf(n 学号 楼号 楼层号 房间号 床号 n); for(i=0;isum;i+) if(si.st.grade=count_grade&si.st.nclass=count_nclass&strcmp(si.

26、st.zhuanye,count_zhuanye)=0) printf(n%10s%8d%8d%8d%8d%8dn,si.st.name,si.st.num,si.bui_num,si.floor_num, si.room_num,si.bed_num); else j+; if(j=sum) printf(n 该学生不存在!); return 0; /*统计模块*/ count_message() int choice; do printf(nn *统计住宿信息*n); printf( 1.学生住宿情况统计n); printf( 0.返回主菜单n); printf( 请选择(0-1): ); scanf(%d,&choice); switch(choice) case 1:count_person();break; case 0:break; while(choice!=0); return 0;sort_domitry() /*学生宿舍情况排序*/ int i,j ; printf(n 宿舍排序n); printf( -

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1