《C语言课程设计学生宿舍管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程设计学生宿舍管理系统.doc(19页珍藏版)》请在三一办公上搜索。
1、课 程 设 计服务课程名称: C语言 系: 专业: 班级: 学号: 姓名: 指导教师: 课程设计周次: 起始日期:2008.6.16至2008.6.20 目录1. C语言课程设计成绩评定表.02页2. C语言课程设计任务书.03页3. 程序基本框架结构图.04页4. 程序设计说明书.05页5. 源代码清单.06页6. 课程设计总结.18页课程设计成绩评定表班级学号姓名项目组第3组项目组长项目组组员本人工作简介:此次编程我的主要工作是排序部分的编译。组长评语:在这次的C语言课程设计中,做了程序的“排序”部分的编写。不但程序编写的没有错误,而且在小组的讨论中积极发表观点,起到了举足轻重的作用。成绩
2、评定标准ABCDE报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序功能性强较强一般较弱弱界面美观性很好好一般较差不好程序可操作性很好好一般较差不好答辩表现很好好一般较差不好所起作用程度80%以上60%以上60%以下最后成绩优秀A=5C=3C=2C=4及格A=0B=0C=3不及格A=0B=0C=1负责指导教师: (签名)指导教师: (签名) 班C语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料2
3、、遵守课程设计时间安排3、按时上机,认真调试程序4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮2、目录3、课程设计成绩评定表4、课程设计任务书5、程序基本框架图 6、程序设计说明书7、源代码清单8、课设总结与心得四、设计题目学生档案管理宾馆住宿管理学生宿舍管理学生成绩管理学生选修课程系统工资管理五、时间安排(一周:从06月16日到 06月20日 )1、查阅资料及程序设计(1天)2、程序编制及调试(3天)3、成绩评定(0.5天)3、打印报告(0.5天)六、参考文献1、C语言程序设计李淑华/李贞编 大连理工大学出版社2、C语言程序设计孙连科/姚大鹏编 辽海出版社3、C+时尚编程
4、百例网冠科技编.机械工业出版社4、TURBO C 实用大全徐金梧等编. 机械工业出版社程序基本框架结构图学生宿舍管理系统数据输入退出系统数据追加数据查询数据排序数据显示按专业排序返回按学号查询按姓名查询按专业查询返回按学号排序按姓名排序程序设计说明书首先,组员讨论分工,确定我所负责的部分是排序函数。我们初步确定数据结构全为字符型,分:学号,姓名,性别,专业,寝室共5个数据项。确定需要编译的系统功能为:输入,追加,显示,查询,排序五项功能。排序:从文件中读取文件中的数据并记录数据个数。用for循环将数据单挑比较,strcmp(aj.qsh,aj-1.qsh)0当此值为真aj.qsh的长度小于aj
5、-1.qsh两者交换,实现数据升序排列,属冒泡排序。for(i=0;in;i+) printf(tt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh);再输出显示在屏幕上,供用户使用。源代码清单#includestdio.h#includestdlib.h#includestring.h#includectype.htypedef struct student /寝室学生记录结构 char xho20; /学号 char name20; /姓名char sex5; /性别 char aclass20; /专业 char qsh10;
6、/寝室 STU; void menu(); /菜单选择函数 void input(); /输入函数 void list(); /显示函数 void append(); /追加记录函数 void search(); void sort(); void searchxho(); /按照学号查找的函数 void searchname(); /按照姓名查找的函数 void searchaclass(); /按照专业查找的函数 void sortxho(); /按照学号排序的函数 void sortaclass(); /按照专业排序的函数 void sortqsh(); /按照寝室排序的函数 void
7、wronglist1(); void wronglist2(); void wronglist3();main() menu(); void menu() int a; do system(cls); printf(tt 欢迎使用学生宿舍管理系统n); printf(tt*n); printf(tt* 编制人员:汪* 李* 迟* 赵* *n); printf(tt* 版本号:072-3 *n); printf(tt*n); printf(nnnnttt学生宿舍管理系统n); printf(tt*n);printf(tt* 1-输入 *n);printf(tt* 2-显示 *n);printf(
8、tt* 3-追加 *n);printf(tt* 4-查询 *n);printf(tt* 5-排序 *n);printf(tt* 0-退出系统 *n); printf(tt*n);printf(tt请选择:); scanf(%d,&a);switch(a)case 1:input(); break; case 2:list(); break; case 3:append(); break; case 4:search(); break; case 5:sort(); break; case 0:printf(tt*谢谢使用*n);exit(0); default:printf(ttt输入错误请重
9、新输入:); while(a!=0);void input()int i,n; STU a; FILE *fp; system(cls); if(fp=fopen(e:file1,wb)=NULL) printf(error!n);exit(0); printf(nt请输入学生人数:); scanf(%d,&n); for(i=0;in;i+) printf(nnt学号:); scanf(%s,a.xho); printf(t姓名:); scanf(%s,a.name); printf(t性别:); scanf(%s,a.sex); printf(t专业:); scanf(%s,a.aclas
10、s); printf(t寝室号:); scanf(%s,a.qsh); fwrite(&a,sizeof(STU),1,fp); printf(nnt*输入完毕*n); fclose(fp); printf(nnnnnt*请按键返回*n); doscanf(%d,&i); switch(i) case 0:menu();break; default:printf(ttt输入错误请重新输入:); while(i!=0);void list() STU a; int i; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(err
11、or!n);exit(0); printf(nnnt*n); printf(tt学号tt姓名t性别t专业t寝室nn); while(fread(&a,sizeof(STU),1,fp)!=0) printf(tt%stt%st%st%st%sn,a.xho,a.name,a.sex,a.aclass,a.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&i); switch(i) case 0:menu();break; default:printf(ttt输入错误请重新输入:); while(i!=0);void append()STU
12、t; int i,n,m; FILE *fp; system(cls); if(fp=fopen(e:file1,ab)=NULL) printf(error!n);exit(0); printf(ttt追加学生人数:); scanf(%d,&n); for(i=0;in;i+) printf(nnt学号:); scanf(%s,t.xho); printf(t姓名:); scanf(%s,t.name); printf(t性别:); scanf(%s,t.sex); printf(t专业:); scanf(%s,t.aclass); printf(t寝室号:); scanf(%s,t.qsh
13、); fwrite(&t,sizeof(STU),1,fp); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:menu();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void search()int a; dosystem(cls); printf(nnnnttt学生宿舍管理查询系统n); printf(tt*n); printf(tt* 1-按学号查询 *n); printf(tt* 2-按姓名查询 *n); printf(tt* 3-按专业查询
14、*n); printf(tt* 0-返回 *n); printf(tt*n); printf(tt请选择:); scanf(%d,&a); switch(a)case 1:searchxho(); break; case 2:searchname(); break; case 3:searchaclass(); break; case 0:menu(); default:printf(ttt输入错误请重新输入:);while(a!=0);void sort()int a;do system(cls);printf(nnnnttt学生宿舍管理排序系统n); printf(tt*n);printf
15、(tt* 1-按学号排序 *n);printf(tt* 2-按专业排序 *n);printf(tt* 3-按寝室排序 *n);printf(tt* 0-返回 *n); printf(tt*n);printf(tt请选择:);scanf(%d,&a);switch(a)case 1:sortxho(); break; case 2:sortaclass(); break; case 3:sortqsh(); break; case 0:menu(); default:printf(ttt输入错误请重新输入:); while(a!=0);void sortxho()int i,j,m,n=0; S
16、TU a10,t; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;ii;j-) if(strcmp(aj.xho,aj-1.xho)0) t=aj;aj=aj-1;aj-1=t; printf(nnt*按学号排序*n); printf(tt学号t姓名t性别t专业t寝室nn); for(i=0;in;i+) printf(tt%st%st%st%st%sn,ai.xho,ai.name,a
17、i.sex,ai.aclass,ai.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void sortaclass()int i,j,n=0,m; STU a10,t; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,
18、fp)!=0) n+; for(i=0;ii;j-) if(strcmp(aj.aclass,aj-1.aclass)0) t=aj;aj=aj-1;aj-1=t; printf(nnt*按专业排序*n); printf(tt学号t姓名t性别t专业t寝室nn); for(i=0;in;i+) printf(tt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; defaul
19、t:printf(ttt输入错误请重新输入:); while(m!=0);void sortqsh()int i,j,n=0,m; STU a10,t; FILE *fp; system(cls); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;ii;j-) if(strcmp(aj.qsh,aj-1.qsh)0) t=aj;aj=aj-1;aj-1=t; printf(nnt*按寝室排序*n); printf(tt学号t姓名t性别
20、t专业t寝室nn); for(i=0;in;i+) printf(tt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void searchname()int i,n=0,m; char name20; STU a20; FILE *fp; system(cls); printf(nn
21、tt请输入要查找的姓名:); scanf(%s,name); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;in;i+) if(strcmp(ai.name,name)=0) printf(nnt*查询信息*n); printf(tt学号t姓名t性别t专业t寝室nn); printf(ntt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); else wronglist1
22、(); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void wronglist1()int a; printf(nntt没有要查找的信息,请确认后重新查询); printf(ntt是否重新查找(否0/是1):); scanf(%d,&a); switch(a)case 0: search(); break; case 1: searchname(); break; default: prin
23、tf(输入错误!系统将自动返回); search();void searchxho()int i,n=0,m; char xho20; STU a20; FILE *fp; system(cls); printf(nntt请输入要查找的学号:); scanf(%s,xho); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);exit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;in;i+) if(strcmp(ai.xho,xho)=0) printf(nnt*查询信息*n); prin
24、tf(tt学号t姓名t性别t专业t寝室nn); printf(ntt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); else wronglist2(); fclose(fp); printf(nnnt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:sort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void wronglist2()int a; printf(nntt没有要查找的信息,请确认后重新查询); printf(ntt是
25、否重新查找(否0/是1):); scanf(%d,&a); switch(a)case 0: search(); break; case 1: searchxho(); break; default: printf(输入错误!系统将自动返回); search();void searchaclass()int i,n=0,m; char aclass20; STU a20; FILE *fp; system(cls); printf(nntt请输入要查找的专业:); scanf(%s,aclass); if(fp=fopen(e:file1,rb)=NULL) printf(error!n);e
26、xit(0); while(fread(&an,sizeof(STU),1,fp)!=0) n+; for(i=0;in;i+) if(strcmp(ai.aclass,aclass)=0) printf(nnt*查询信息*n); printf(ntt学号t姓名t性别t专业t寝室nn); printf(ntt%st%st%st%st%sn,ai.xho,ai.name,ai.sex,ai.aclass,ai.qsh); else wronglist2(); fclose(fp); printf(nnntt*请按键返回*n); doscanf(%d,&m); switch(m) case 0:s
27、ort();break; default:printf(ttt输入错误请重新输入:); while(m!=0);void wronglist3()int a; printf(nntt没有要查找的信息,请确认后重新查询); printf(ntt是否重新查找(否0/是1):); scanf(%d,&a); switch(a)case 0: search(); break; case 1: searchaclass(); break; default: printf(输入错误!系统将自动返回); search();课程设计总结编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强破
28、自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才
29、能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!