1、学生宿舍管理系统 c语言学号2015-2016学年 第二学期高级语言程序设计课程设计报告题目:学生宿舍管理系统专业:计算机科学与技术班级:15计科(1)班姓名:高 梅 锦 指导教师: 陈广宏成绩:计算机学院2016 年 4月25日1 设计内容及要求 11.1 课程设计内容 11.2 课程设计要求 12 概要设计 22.1 设计思路 22.2 程序基本结构框架图 33 设计过程或程序代码 43.1 主要程序代码及解释 44 设计结果与分析 114.1 程序运行结果 115 参考文献 166 总结 161 课程设计内容及要求1.1 课程设计内容 通过本次课程设计,强化上级动手能力,在理论和实践的基
2、础上进一步巩固C语言程序设计课程的学习内容。掌握软件设计的基本方法。? 熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C语言的基本编写及运行。 了解程序的分模块编写并对程序的每个模块进行详细的设计并且能理解一般C语言编写的程序。 掌握书写程序设计说明文档的能力。? 熟悉C程序设计的开发环境及C程序的调试过程。1.2 设计要求 分析课程设计题目的要求。写出详细设计说明。编写程序代码,调试程序使其能正确运行。设计完成的软件要便于操作和使用。设计完成后提交课程设计报告。2 设计概要2.1 设计思路我设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对
3、住宿学生的管理。包括学生的姓名、学号、等等。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、数组、结构等);运算类型(算数运算、逻辑运算、自增自减运算、赋值运算等等);程序结构(顺序结构、分支结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。2.2 程序基本结构框架图 学生宿舍管理程序基本结构框架图3 设计过程或程序代码3.1 主要程序代码及解释#include #include #include int INDEX32;struct STUDENT int id,age,classroom,bednum,f; char name21; students32
4、;void page_title(char *menu_item) system(cls); printf(* 学 生 管 理 系 统 *nn%snn,menu_item); void return_confirm(void) printf(n*按任意键返回*n); getch(); void student_new(void) int n; page_title(录入学生宿舍基本信息); for(n=0;n32;n+) if(studentsn.id=0) break; printf(学号:); scanf(%d,&studentsn.id); printf(姓名:); scanf(%s,&
5、studentsn.name); printf(年龄:); scanf(%d,&studentsn.age); printf(寝室号:); scanf(%d,&studentsn.classroom); return_confirm(); int search_id(void) int n,i; printf(请输入学生学号:); scanf(%d,&i); for(n=0;nn(1) 身份证号 (2) 寝室号 (3)床位号n); scanf(%d,&s); for(n=0;n); if(n=search_id()!=-1) printf(学号:%d 寝室号:%d 床位号:%dn,studen
6、tsn.id,studentsn.classroom,studentsn.bednum); printf(n请重新输入成绩:nn身份证号:); scanf(%d,&studentsn.f); printf(寝室号:); scanf(%s,&studentsn.classroom); printf(床位号:); scanf(%d,&studentsn.bednum); return_confirm(); void sort_it(char nn) int n,m,p,x,t32; for(n=0;n32;n+) switch(nn) case 1 : tn=studentsn.id;break;
7、 case 2 : tn=studentsn.f;break; case 3 : tn=studentsn.classroom;break; case 4 : tn=studentsn.bednum;break; case 5 : tn=studentsn.f+studentsn.classroom+studentsn.bednum;break; for(n=0;n32;n+) x=0; p=-1; for(m=0;mx) x=tm; p=m; tp=-1; INDEXn=p; void browser(void) int n,x; char k; sort_it(1); while(1) p
8、age_title(浏览学生宿舍信息n); printf(按数字键选择排序方式或按 (0) 返回nn); printf(学号*姓名*年龄*身份证号*寝室号*床位号tn); for(n=0;n32;n+) if(INDEXn!=-1) x=INDEXn; printf(%dt%st,studentsx.id,studentsx.name); printf(%dt%dt,studentsx.age,studentsx.f); printf(%dt%dt,studentsx.classroom,studentsx.bednum); printf(%dn,studentsx.f+studentsx.c
9、lassroom+studentsx.bednum); k=getch(); if(k0) sort_it(k); else if(k=0) break; else continue; void main(void) char h;menu: page_title(* 操作选单 *); printf(请用数字键选择操作:nn); printf(*n); printf(t1、录入学生宿舍基本信息nt2、修改学生宿舍基本信息n); printf(t3、注销学生宿舍基本信息nt4、录入学生宿舍详细信息nt5、修改学生宿舍信息n); printf(t6、浏览学生宿舍信息nt0、退出学生宿舍系统n);
10、printf(*n); printf(请输入你要进行操作的数字(0-9):%c); scanf(%c,&h); switch(h) case 1 : student_new();break; case 2 : student_edit();break; case 3 : student_del();break; case 4 : score_input();break; case 5 : score_edit();break; case 6 : browser();break; case 0 : exit(0); goto menu; 4 设计结果与分析4.1 程序运行结果程序主页 (图1)录
11、入学生宿舍基本信息测试结果 (图2) 修改学生宿舍基本信息测试结果 (图3) 修改后浏览效果 (图4)注销学生宿舍基本信息 注销失败 (图5) 成功注销 (图6)录入学生宿舍详细 (图7)退出程序 (图8)5 参考文献1严蔚敏,吴伟民.数据结构题集(C语言版).清华大学出版社.2谭浩强.c语言程序设计. 清华大学出版社.6 总结 每个程序可解决一个或一类问题,要想编好程序,要知道每个特定的语句段所针对的问题,由于有的问题比较复杂,要分成不同的函数,再用main函数或其它函数组合起来,形成一个完整的程序。简单游明白的程序在检查的时候会省去额外的时间,但是,编出程序之前必须看很多的程序,所以,我们应该多看程序。 在实验过程中,由于输入的代码有误,经常出错,有可能是标点符号的问题,有可能是单词拼写错误。对于长且复杂的程序段,最好模块化处理,一般都分为好几个函数,提高效率,如果都写在一起,一旦出错,很难找出来,程序出错了,我们应该找到合适的方法调试,可以分别在每个函数中写上输出语句,如果该语句执行了且执行结果和预想的结果一致,则说明该函数及函数以上部分没问题,则可以查找下面的语句是否有问题,一个字母不同也可以使结果不同,所以敲代码的时候,要做到尽量的细心,只有这样,才能使后面的调试变得不复杂。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1