c语言课程设计宿舍管理系统精讲.docx
- 文档编号:29662477
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:25
- 大小:66.93KB
c语言课程设计宿舍管理系统精讲.docx
《c语言课程设计宿舍管理系统精讲.docx》由会员分享,可在线阅读,更多相关《c语言课程设计宿舍管理系统精讲.docx(25页珍藏版)》请在冰豆网上搜索。
c语言课程设计宿舍管理系统精讲
学号
2013-2014学年第二学期
1308030202
《高级语言程序设计》
课程设计报告
题目:
宿舍管理系统
专业:
计算机科学与技术
班级:
蔡朋
姓名:
蔡朋
指导教师:
吴海波
成绩:
计算机与信息工程系
2014年05月01日
目录
1.C语言课程设计任务书………………………….xx页
2.程序基本框架结构图…………………………….1页
3.程序设计说明书………………………………….2页
4.源代码清单……………………………………….4页
5.课程设计总结…………………………………….11页
┊┊
一、设计目的
通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。
二、设计要求
1、认真查阅参考书、资料2、遵守课程设计时间安排
3、按时上机,认真调试程序4、认真完成课程设计报告
三、课设报告装订内容及顺序
1、课程设计封皮2、目录
3、课程设计任务书4、程序基本框架图
5、程序设计说明书6、源代码清单
7、实验总结
四、设计题目
1、淮南师范学院学生宿舍管理系统
五、时间安排
1、查阅资料及程序设计(1天)2、程序编制及调试(3天)
3、成绩评定(0.5天)3、打印报告(0.5天)
程序基本框架结构图
程序设计说明书
我组课程设计的课题沈阳工程学院学生宿舍管理系统。
这个系统主要是实现对学生信息的输入,输出,追加,查询,修改,统计及删除等功能,完成对学生宿舍信息的管理。
在学生宿舍管理系统中主要有输入、显示、追加、查询、修改、统计、删除及退出7大功能,我主要负责数据输入功能。
首先用typedf进行类型定义,定义学号,姓名,性别,班级,楼号,寝室号,个人电话,定义为字符型变量,定义变量,进入主函数,用while语句控制输入学生信息,用switch,控制输入项目,否则,输出错误提提示。
设计首页界面使其美观。
源代码清单
#include
#include
#include
#include
#include
#defineM10000
typedefstructsushe
{charnum[10];
charname[20];
charsex[5];
charclass1[10];
charlh[10];
charqsh[10];
chartel[15];
}XSSS;
XSSSpers[M];
intn=0;
voidcx1();
voidcx2();
voidcx3();
voidcx4();
voidtj1();
voidtj2();
voidtj3();
intisnum(char*);
voidzm();
voidload();
voidmodify();
voidinput();
voidsave();
voidlist();
voidzm1();
voidzm3();
voidexplain();
voiddele();
main()
{charc;
while
(1)
{system("cls");
zm();
c=getch();
switch(c)
{case'1':
load();input();save();break;
case'2':
load();modify();save();break;
case'3':
load();input();save();break;
case'4':
load();list();save();break;
case'5':
load();zm1();save();break;
case'6':
load();zm3();save();break;
case'7':
load();dele();save();break;
case'8':
load();explain();save();break;
case'0':
exit(0);
default:
printf("\n*****输入错误,请重新输入!
*****\n");
}
}
}
voidzm()
{printf("**************************************************************\n");
printf("**\n");
printf("**\n");
printf("*沈阳工程学院学生宿舍管理系统*\n");
printf("**\n");
printf("**\n");
printf("*************************************************************\n");
printf("\n\n\n");
printf("1.录入信息\n");
printf("2.修改信息\n");
printf("3.追加信息\n");
printf("4.显示信息\n");
printf("5.查询信息\n");
printf("6.统计信息\n");
printf("7.删除信息\n");
printf("8.版权信息\n");
printf("0.退出本程序\n");
}
voidzm1()
{charc;
system("cls");
printf("**************************************************************\n");
printf("**\n");
printf("**\n");
printf("*淮南师范学院学生宿舍管理系统*\n");
printf("**\n");
printf("**\n");
printf("**************************************************************\n");
printf("\n\n\n");
printf("1.按学号查询\n");
printf("2.按姓名查询\n");
printf("3.按楼号查询\n");
printf("4.按楼号+寝室号查询\n");
printf("0.结束查询返回上层\n");
c=getch();
switch(c)
{case'1':
cx1();break;
case'2':
cx2();break;
case'3':
cx3();break;
case'4':
cx4();break;
case'0':
return;
default:
printf("输入错误,按任意键返回!
");getch();return;
}
}
voidzm3()
{charc;
system("cls");
printf("**************************************************************\n");
printf("**\n");
printf("**\n");
printf("*淮南师范学院学生宿舍管理系统*\n");
printf("**\n");
printf("**\n");
printf("**************************************************************\n");
printf("\n\n\n");
printf("1.按班级统计\n");
printf("2.按楼号统计\n");
printf("3.按楼号+寝室号统计\n");
printf("0.结束统计返回上层\n");
c=getch();
switch(c)
{case'1':
tj1();break;
case'2':
tj2();break;
case'3':
tj3();break;
case'0':
return;
default:
printf("输入错误,按任意键返回!
");getch();return;
}
}
voidcx1()
{charname[10];
inti,m;
system("cls");
printf("\n\n\n**********按学号查询**********\n");
printf("\n请输入要查询的学号:
");
scanf("%s",name);
m=0;
for(i=0;i if(strcmp(pers[i].num,name)==0) {printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); m++; } if(m==0) printf("\n查无此人! \n"); printf("pressanykeycontinue\n"); getch(); } voidcx2() {charname[20]; inti,m; system("cls"); printf("\n\n\n**********按姓名查询**********\n"); printf("\n请输入姓名: "); scanf("%s",name); m=0; for(i=0;i if(strcmp(pers[i].name,name)==0) {printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); m++; } if(m==0) printf("\n查无此人! \n"); printf("pressanykeycontinue\n"); getch(); } voidcx3() {charname[10]; inti,m; system("cls"); printf("\n\n\n**********按楼号查询**********\n"); printf("\n请输入要查询的楼号: "); scanf("%s",name); m=0; for(i=0;i if(strcmp(pers[i].lh,name)==0) {printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); m++; } if(m==0) printf("\n文件中没有该楼的学生数据! \n"); printf("pressanykeycontinue\n"); getch(); } voidcx4() {charname[10]; charnum[10]; inti,m; system("cls"); printf("\n\n\n**********按楼号+寝室号查询**********\n"); printf("\n请输入要查询的楼号: "); scanf("%s",name); printf("\n请输入要查询的寝室号: "); scanf("%s",num); m=0; for(i=0;i if(strcmp(pers[i].lh,name)==0&&strcmp(pers[i].qsh,num)==0) {printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); m++; } if(m==0) printf("\n文件中没有符合条件的数据! \n"); printf("pressanykeycontinue\n"); getch(); } voidload() {FILE*fp; n=0; if((fp=fopen("xsss.txt","rb"))==NULL) {printf("Thefileisnotfound! \npleaseappendnewdata! \n"); return; } while(fread(&pers[n],sizeof(XSSS),1,fp)! =0)/*(! feof(fp))*/ { n++; } printf("数据导入成功! \n"); fclose(fp); } voidsave() {FILE*fp; inti=0; if((fp=fopen("xsss.txt","wb"))==NULL) {printf("Thefileisnotfound! \npleaseappendnewdata! \n"); return; } for(i=0;i fwrite(&pers[i],sizeof(XSSS),1,fp); fclose(fp); printf("数据已保存\n"); } voidinput() { XSSSa; while (1) { system("cls"); printf("\n\n\n**********输入信息**********\n"); printf("\n请输入学生住宿信息\n"); printf("学号: "); scanf("%s",a.num); printf("姓名: "); scanf("%s",a.name); printf("性别: "); scanf("%s",a.sex); printf("班级: "); scanf("%s",a.class1); printf("楼号: "); scanf("%s",a.lh); printf("寝室号: "); scanf("%s",a.qsh); printf("本人电话: "); scanf("%s",a.tel); if(isnum(a.tel)==0) {printf("输入的电话号码错误,系统将以\'0000\'代替! \n"); strcpy(a.tel,"0000"); } pers[n++]=a; printf("是否继续录入(Y/N)? "); if(toupper(getch())=='N') break; } } voidlist() {inti; system("cls"); printf("\n\n\n********显示所有个人信息********\n"); for(i=0;i {printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); } printf("pressanykeycontinue\n"); getch(); } voidmodify() {charnum[20]; inti; system("cls"); printf("\n\n\n**********修改学生住宿信息**********\n"); printf("\n请输入要修改学生的学号: "); scanf("%s",num); for(i=0;i if(strcmp(pers[i].num,num)==0)break; if(i==n) printf("\n文件中没有该学生的数据,无法进行修改操作! \n"); else {printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); printf("\n真的要修改吗(Y/N)? "); if(toupper(getch())=='Y') {printf("\n请输入新信息: \n"); printf("学号: "); scanf("%s",pers[i].num); printf("姓名: "); scanf("%s",pers[i].name); printf("性别: "); scanf("%s",pers[i].sex); printf("班级: "); scanf("%s",pers[i].class1); printf("楼号: "); scanf("%s",pers[i].lh); printf("寝室号: "); scanf("%s",pers[i].qsh); printf("本人电话: "); scanf("%s",pers[i].tel); if(isnum(pers[i].tel)==0) {printf("输入的电话号码错误,系统将以\'0000\'代替! \n"); strcpy(pers[i].tel,"0000"); } printf("\n处理后的结果: \n"); printf("#Record学号姓名性别班级楼号寝室号本人电话\n"); printf("%7d%-8s%-8s%-6s%-8s%-8s%-8s%-8s\n",i+1,pers[i].num,pers[i].name,pers[i].sex,pers[i].class1,pers[i].lh,pers[i].qsh,pers[i].tel); } } printf("\n处理结束! \n"); getch(); } voidtj1() {charname[10]; inti,m; system("cls"); printf("\n\n\n**********按班级统计**********\n"); printf("\n请输入要统计人数的班级号: "); scanf("%s",name); m=0; for(i=0;i if(strcmp(pers[i].class1,name)==0) m++; if(m==0) printf("\n文件中没有符合条件的数据! \n"); else printf("%s班有%d人住宿\n",name,m); printf("\n\n统计结束! \n"); getch(); } voidtj2() {charname[10]; inti,m; system("cls"); printf("\n\n\n**********按楼号统计**********\n"); printf("\n请输入要统计人数的楼号: "); scanf("%s",name); m=0; for(i=0;i if(strcmp(pers[i].lh,name)==0) m++; if(m==0) printf("\n文件中没有符合条件的数据! \n"); else printf("%s号楼有%d人住宿\n",name,m); printf("\n\n统计结束! \n"); getch(); } voidtj3() {charname[10]; charnum[10]; inti,m; system("cls"); printf("\n\n\n**********按楼号+寝室号统计**********\n"); printf("\n请输入要统计人数的楼号: "); scanf("%s",name); printf("\n请输入寝室号: "); scanf("%s",num); m=0; for(i=0;i if(strcmp(pers[i].lh,name)==0&&strcmp(pers[i].qsh,num)==0) m++; if(m==0) printf("\n文件中没有符合条件的数据! \n"); else printf("%s号楼的%s寝室有%d人住宿\n",name,num,m); printf("\n\n统计结束! \n"); getch(); } intisnum(char*s) {inti=0; while(s[i]) {if(! (s[i]>='0'&&s[i]<='9'))return0; elsei++; } return1; } voidexplain() {system("cls"); printf("**************************************************************\n"); printf("**\n"); printf("**\n"); printf("*淮南师范学院学生宿舍管理系统*\n"); printf("**\n"); printf("**\n"); printf("**********
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 宿舍 管理 系统