学生宿舍管理方案计划系统C语言学习知识编程.doc

收藏

编号:2601668    类型:共享资源    大小:473.35KB    格式:DOC    上传时间:2020-04-23
8
金币
关 键 词:
学生宿舍 管理 方案 计划 规划 系统 语言 学习 知识 编程
资源描述:
-* “学生宿舍管理系统” C语言课程设计报告 一、 程序功能简介 我设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。包括学生的姓名、学号、性别、专业、班级等等。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。 二、 课程设计要求 该程序是由C语言编写的一个学生宿舍管理查询软件,程序在Microsoft Visual C++ 6.0下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。其中查询可以分别以姓名、学号、宿舍号为关键字查询学生信息。统计可以分别以学号、宿舍号、性别、班级、专业为关键字进行统计,并且输出信息按学号大小从小到大输出。 三、 源程序分析 1) 结构分析 1. 方案设计 主函数 录入模块 添加模块 修改模块 删除模块 查询模块 统计模块 退出系统 学号 姓名 班级 宿舍 性别 年龄 专业 返回 按姓名 按学号 按宿舍 返回 按学号 按宿舍 按性别 按班级 按专业 返回 2. 数据结构说明 程序中数据主要是学生信息,具体属于类型如下: struct st_message char name[20]; /*学生姓名*/ char dorm[7]; /*宿舍号*/ char num[10]; /*学号*/ char sex[5]; /*性别*/ char age[4]; /*年龄*/ char major[20]; /*专业*/ char classs[8]; /*班级*/ 3. 模块功能说明 第一录入模块:调用input_message(),对住宿学生信息进行录入。 第二添加模块:调用append_message(),对新来学生信息进行添加录入。 第三修改模块:调用revise_message(),对需修改学生的信息进行修改。 第四删除模块:调用delete_message(),对某一学生信息进行删除操作。 第五查询模块:调用find_message(),分别以姓名、学号、宿舍号对学生信息进行查询。 第六统计模块:调用census_message(),分别以学号、宿舍号、性别、班级、专业方式对学生信息进行统计,并按学号由小到大输出。 四、 编程中遇到的问题及解决方法 在调试过程中,时常会出现输入或显示为乱码的情况,这可能是上下定义的数据类型不同或定义数组长度不够所导致的。有时候程序中还会出现录入五个数据而只显示四个的情况,这也经常是因为定义的结构体数组长度过低所造成的。像这些问题只要把数据类型都定义成字符型,并且定义一个合理的数组长度一般都能解决。 在调试过程中我遇到最大的问题出现在删除模块。在运用“rt+”打开文件并对某一数据进行删除后,往往显示会多显示一行数据。这是由于“rt+”写数据时只会覆盖数据而不会清除原文件数据,因此文件最后一行数据总会保留在原文件中。后来我先用“rt”打开文件并读取文件中的数据,然后再用“wt”打开原文件将删除后的数据重新写入文件,最终成功运行。 五、 程序运行截屏与结果分析 1. 测试数据 对功能1(录入学生信息)的测试:按照先后顺序分别输入学生信息: 学号 姓名 班级 宿舍号 性别 年龄 专业 05111101 张三 051111 429 女 18 土木工程 04111102 李四 041111 218 男 18 信息工程 对功能2(添加学生信息)的测试:按照先后顺序分别输入学生信息: 学号 姓名 班级 宿舍号 性别 年龄 专业 02111101 陈红 021111 429 女 18 机械系 03111203 赵娜 031112 101 女 18 能源与环境 对功能3(修改学生信息)的测试:输入要修改学生的姓名:林丹,系统显示“该学生信息不存在”。输入修改学生姓名:张三,系统显示出该学生信息。选择修改学号为:05111118,系统显示出修改后的学生信息。 对功能4(删除学生信息)的测试:输入要删除学生的学号:03111210,系统显示“该学生信息不存在”。输入要删除的学生的学号:03111203,系统显示出该学生信息。选择删除该学生信息。 对功能5(查询学生信息)的测试:查询宿舍号为429的信息,系统显示为: 学号 姓名 班级 宿舍号 性别 年龄 专业 02111101 陈红 021111 429 女 18 机械系 05111101 张三 051111 429 女 18 土木工程 对功能6(统计学生信息)的测试:选择按学号统计,系统显示为: 学号 姓名 班级 宿舍号 性别 年龄 专业 02111101 陈红 021111 429 女 18 机械系 04111102 李四 041111 218 男 18 信息工程 05111101 张三 051111 429 女 18 土木工程 学生总人数3人,其中男生1人,女生2人。 对功能7(退出系统)的测试:选择退出系统,程序关闭。 2. 详细设计及运行结果 1) 函数调用关系图 2) 部分模块流程图及运行结果截屏 主页界面 主页流程图 开始 功能选择 是 录入模块 选1 否 是 添加模块 选2 否 是 修改模块 选3 否 是 删除模块 选4 否 是 选5 查询模块 否 是 选6 统计模块 否 选0 退出系统 结束 录入界面 输入姓名 输入班级 输入宿舍 输入学号 输入性别 输入年龄 输入专业 是否继续录入 结 束 N Y 录入界面 修改模块 输入要修改学生的姓名 功能选择 选1 选7 选4 选8 选2 选3 选5 选6 修改学号 修改姓名 修改班级 修改宿舍 修改性别 修改年龄 修改专业 是否继续 结束 返回主页 是 是 是 是 是 是 是 是 否 否 否 否 否 否 否 修改界面 统计模块 输入统计方式 功能选择 选1 选4 选6 选2 选3 选5 按学号 按宿舍 按性别 按班级 按专业 结束 返回主页 是 是 是 是 是 是 否 否 否 否 否 统计界面 六、 心得体会 “万事开头难”这句话在我编写程序的过程中得到了真正的体现。在最初编写的几天里出现了这样那样的错误一大堆,这主要是由于我对基础知识掌握不扎实所造成的。但是随后几天里,我对课本知识进行了回顾并不时的向老师和同学进行请教,慢慢的对编写程序也开始得心应手起来。程序的编写总归是一件费时费力的事情,但只要我们认真编写和调试最后总能成功。 短短以周实习时间我收获颇多,我相信经过这次实习必将为我以后的深入学习打下扎实的基础。 七、 源程序 #include #include #include #include #define N 900 struct st_message /*学生信息*/ { char name[20]; /*学生姓名*/ char dorm[7]; /*宿舍号*/ char num[10]; /*学号*/ char sex[5]; /*性别*/ char age[4]; /*年龄*/ char major[20]; /*专业*/ char classs[8]; /*班级*/ }st[N],t; sort_message() /*排序模块*/ {int i,j,fno,fsize,fnum; FILE *fp; fp=fopen("student.txt","rt+"); if(fp==NULL) {printf("\n\n*****文件打开错误。按任意键退出!"); getchar(); exit(1); } fno=fileno(fp); fsize=filelength(fno); fnum=fsize/sizeof(struct st_message); for(i=0;i0) {t=st[i]; st[i]=st[j]; st[j]=t; } rewind(fp); for(i=0;i
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:学生宿舍管理方案计划系统C语言学习知识编程.doc
链接地址:https://www.taowenge.com/p-2601668.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开