收藏 分享(赏)

C语言程序设计课程设计报告—宿舍管理系统.doc

上传人:精品资料 文档编号:8508015 上传时间:2019-06-30 格式:DOC 页数:27 大小:1.22MB
下载 相关 举报
C语言程序设计课程设计报告—宿舍管理系统.doc_第1页
第1页 / 共27页
C语言程序设计课程设计报告—宿舍管理系统.doc_第2页
第2页 / 共27页
C语言程序设计课程设计报告—宿舍管理系统.doc_第3页
第3页 / 共27页
C语言程序设计课程设计报告—宿舍管理系统.doc_第4页
第4页 / 共27页
C语言程序设计课程设计报告—宿舍管理系统.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、西安郵電學院C 语言课程设计报告题 目: 宿舍管理系统院系名称: 计 算 机 学 院专业名称: 网 络 工 程班 级: 1004学生姓名: 李斯良学号(8 位): 04102109(17)指导教师: 刘霞林设计起止时间:2011 年 6 月 13 日2011 年 6 月 22 日一、 课程设计目的1通过本次课程设计,强化上级动手能力,在理论和实践的基础上进一步巩固 C 语言程序设计课程的学习内容,掌握工程软件设计的基本方法。2.熟悉 C 语言的基本内容从而掌握 C 语言的基本知识以及了解 C 程序的基本编写及运行;3.了解程序的分模块编写并对程序的每个模块进行详细的设计并且能理解一般 C 语言

2、编写的程序。4熟悉 C 程序设计的开发环境及 C 程序的调试过程。二、课程设计内容用所学过的 C 语言知识(文件,结构体,函数,数组等)编写一个学身份学籍管理系统。使其有以下功能。1.通过键盘输入某些学生的学生学籍管理信息。 (包含学生学号、姓名、性别、年龄、出生年月、住址、班级、专业、院系等信息) 。2.输入给定学号,显示出某位学生的学生学籍管理信息。3.显示出全部学生的学生学籍管理信息。4.可将某学生信息添加到文件内。5.给定某位学生的学号,修改该学生信息。6.给定某位学生的学号,删除该学生信息。7.给定某个班级号,统计该班级的总人数。8.按照学生的学号升序对学生信息进行排序。9.用文件的

3、方式将录入的数据进行存储,并从其中读取数据。三、概要设计1. 功能模块图:进入主界面信息添加模块信息修改修改模块信息信息删除模块模块信息查询模块信息统计模块按升序排序模块信息打印模块2. 各模块详细的功能描述:A.输入模块:调用 input( )函数将学生宿舍信息依次输入到结构体数组中,结束后将保存在制定文件中,在其他模块的函数中可以随时进行调用,结束后可以将修改后的学生宿舍信息再一次保存。B.添加模块:如果要添加新入住学生信息可以调用 append函数将新生信息插入到原有信息的末尾,在保存到文件中。C.修改模块:修改可以通过输入要修改的学生的学号,对学生的个人信息利用switch选择要修改的

4、内容.修改完毕后,保存到所设定的文件中去。D.删除模块:删除可以通过输入要删除的学生学号,对学生的所有个人信息进行删除.删除完毕之后保存到文件中去。E.查询模块:选择输入要查询学生的学号,并将查询的信息显示在屏幕上。F.统计模块:输入要统计人数的班级号,然后输出此班的总人数。G.排序模块:按学生学号用冒泡法升序排出学生的信息。H.打印模块:输出当前文件中所有的学生住宿信息。四、详细设计:1.流程图:开始判断是否有文件创建并输入学生信息进入菜单添加学生信息删除学生信息根据学号查找某学生宿舍信息修改某学生信息输出该学生宿舍信息输出所有同学宿舍信息否有将学生按学号升序排列输出退出系统主函数1.添加学

5、生信息;2.修改学生信息3.删除学生信息;4.查询学生信息;5.统计学生信息;6.学生排行信息;7.打印学生信息;0.退出系统;2.重点设计:统计某班学生的人数int read_file(STUDENTS students) FILE *fp;int i=0;if(fp=fopen(“stu.txt“,“rt“)=NULL) printf(“nn*库存文件不存在!请创建 “); /*创建文件*/return 0;while(fread(fclose(fp);return i;void save_file(STUDENTS students,int sum) /*保存信息*/ FILE *fp;

6、int i;if(fp=fopen(“stu.txt“,“wb“)=NULL) printf(“读文件错误!n“);return;五测试数据及运行结果:三组正常数据:1.2.异常测试数据及运行结果:1.2.六、调试情况,设计技巧及体会:1. 设计过程中的体会:在刚开始还没有大体思路,觉得设计不简单。但当总体构思完成后,对各个功能的实现可以用小程序即模块形式进行实现,比如输入数据,输出数据,修改数据,删除数据等.在一个个小程序中调试,最后各个模块的功能完成比较好后,在将所有的模块都放进 main()主函数中进行调试,这样可以避免由整体构思调试引起的调试障碍.但还是没有得到完美的效果,有的模块还是

7、有问题。而且程序上看没什么问题啊?老师也帮了不少的忙吧。在此写过老师的帮助。2.在调试过程中,F5,F10,F11,有了更深的认识,并且可以更灵活的运用。在编写程序的过程中,有些逻辑不是很清楚,但大部分程序模块还是写出来了。那些不清楚的就是文件方面的知识,以后要好好研究下文件了。总体来说,这次课程设计对 C 语言方面的知识又重新复习了一遍,感觉还行。3.还有就是原先有想过用密码,构思是想实现一个帐号密码配对使用的方法,但是由于文件的使用不熟练,最后还是以失败告终。同时程序只能在当前登录过程中输入进入系统,有较大的局限性。七、参考文献C 语言程序设计 谭浩强 清华大学出版社 1999 年 12

8、月C 语言程序设计(第二版)王曙燕 /主编八附录:3. 完全代码:#include“stdio.h“#include“string.h“#include“stdlib.h“ /*头文件*/#define MAX 100typedef struct int year;int month;int day;DATE;typedef struct int num; /*学号*/char name20; /*姓名*/ /*定义结构体*/char sex6; /*性别*/int age; /*年龄*/DATE birthday; /*出生年月*/char sushe30; /*宿舍号*/char clas

9、ses10; /*班级*/char zhuanye50; /*专业*/char chuanghao50; /*床号*/STUDENTS;/*读取信息*/int read_file(STUDENTS students) FILE *fp;int i=0;if(fp=fopen(“stu.txt“,“rt“)=NULL) printf(“nn*库存文件不存在!请创建 “); /*创建文件*/return 0;while(fread(fclose(fp);return i;/*保存信息*/void save_file(STUDENTS students,int sum) FILE *fp;int i

10、;if(fp=fopen(“stu.txt“,“wb“)=NULL) printf(“读文件错误!n“);return;for(i=0;istudentsj.num)t=studentsi.num;studentsi.num=studentsj.num;studentsj.num=t;printf(“ n“);printf(“num name sex age year-month-day sushe classes zhuanye chuanghaon“);for(i=0;isum;i+)printf(“%5d %5s %5s %5d %d%d%d %5s %5s %5s %5sn“,stud

11、entsi.num,studentsi.name,studentsi.sex,studentsi.age,studentsi.birthday.year,studentsi.birthday.month,studentsi.birthday.day,studentsi.sushe,studentsi.classes,studentsi.zhuanye,studentsi.chuanghao); /*输出排序后的学生信息*/getch();save_file(students,sum); /*保存排序后的学生信息到文件中*/void mima()char mima;char a9;int i;p

12、rintf(“ 请输入密码:“);for(i=0;i8;i+)mima=getch();printf(“*“);ai=mima;a8=0;printf(“n“);if(!(strcmp(a,“12345678“)system(“cls“);printf(“nnnnnnnnn 成功登陆!“);elsesystem(“cls“);printf(“nnnnnnnnn 密码错误,您无权使用该系统!nn“);exit(1);void main() /*主函数*/ STUDENTS studentsMAX;int choice,sum;mima();sum=read_file(students);if(!

13、sum) printf(“并录入基本库存信息!n“); getch();sum=input(students); /*录入学生信息*/do system(“cls“);printf(“nnn 学生宿舍管理系统 nn“);printf(“ 1.添加学生信息nn“);printf(“ 2.修改学生信息nn“);printf(“ 3.删除学生信息nn“);printf(“ 4.查询学生信息nn“);printf(“ 5.统计学生信息nn“);printf(“ 6.学生排序nn“);printf(“ 7.打印学生信息nn“);printf(“ 0.退出系统nn“);printf(“ 请选择(0-7):

14、“);scanf(“%d“,switch(choice) /*用 switch 选择要调用的各模块函数并执行*/ case 1: sum=append(students,sum);break;case 2: modify(students,sum);break;case 3: sum=del(students,sum);break;case 4: inquire(students,sum); break;case 5: count(students,sum); break;case 6:sort(students,sum); break;case 7:output(students,sum); break;case 0: break; /*执行完各模块后按 0 退出系统*/while(choice!=0);save_file(students,sum); /*保存执行完各模块后的学生信息*/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报