




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河海大学计算机及信息工程学院(常州)C+语言项目设计报告学年学期 题 目 专 业 学 号 授课班号 学生姓名 指导教师 C+课程设计论文计算机一班 学号:1062810117 姓名:林永超1、系统简介1.1课设题目:宿舍综合查询系统1.2设计目的:随着信息技术在生活中的越来越深入广泛的应用,信息查询及反馈在技术上已逐步成熟。宿舍生活是在校学生必不可少的一部分、如何做到有效率的对学生信息情况掌握、实时了解每个宿舍的物品损坏情况、新增宿舍成员信息等是非常重要的问题,如果问题得以很好的解决,这将会大大减轻楼下值班阿姨的工作量,更方便学校对在校学生的信息管理,提高办事效率。所以应该有一套成型的宿舍综合信息系统来方便管理员对宿舍成员信息、卫生情况、学生向阿姨反馈信息等的一套综合管理系统。基于这种需要,我们小组成员相互讨论,共同努力完成了这样一套宿舍信息综合数查询系统!1.3系统目标及基础功能:本系统用于管理在校学生的信息,各宿舍信息,宿舍执勤得分情况,宿舍物品损坏上报等功能!基础功能:1、查询所在宿舍的四个IP地址。2、查询宿舍成员信息。 3、查询宿舍卫生情况、估测下次卫生成绩。 4、反馈宿舍物品损坏情况。系统目标: (1) 方便的数据查询。 (2) 数据计算尽量自动完成,减少人工参与。 (3) 录入数据方便简单,确保无误录入。 (4) 原始数据修改简单方便。2、 系统程序分析2.1程序功能描述及主要类描述: 程序由四大功能模块组成,四个模块的功能分别由四个外部调用mainX函数来完成,最终整个系统通过多文件组织的形式将四个功能模块综合在一起,执行时通过调用四个外部调用mainX函数来实现,四大模块功能由我们小组四人分工合作完成,我主要负责宿舍卫生信息查询模块。1、 宿舍IP查询: IP地址查询函数main1,根据宿舍一次输出该宿舍的四个IP地址。2、 卫生成绩查询: 卫生成绩查询函数main2,利用读、写已存在的txt中已存在数据来实现输入输出,不过可以根据单日以及宿舍分类等多种方式查询宿舍的卫生情况。3、 反馈宿舍物品损坏信息: 反馈宿舍物品损坏信息main3,利用对已存在文件(txt)的读、写操作来实现向系统中反馈宿舍物品的损坏情况的信息。4、 查询宿舍成员信息: 查询宿舍成员信息main4,利用对已存在文件(txt)的读写等操作进行宿舍成员信息的查询、添加等任务。本宿舍查询系统,多采用结构体与一些类的初步使用。在IP地址查询和学生信息查询功能中采用string类的初步使用;在卫生成绩查询和反馈宿舍物品损坏信息中采用结构体存储及调用。2.2主要函数 主函数实现调用四个外部调用四个mainX的功能,基本框架如下#include#include#includeusing namespace std;extern void main1 (); 实现外部调用宿舍IP查询的函数extern void main2 (); 实现外部调用宿舍卫生信息的函数extern void main3 (); 实现外部调用反馈系统的函数extern void main4 (); 实现外部调用学生信息查询系统的函数 我主要负责小组中宿舍卫生信息的设计,即main2函数的设计。此函数代码的主要思想,将宿舍的单次得分情况看为一个整体,列入一行,以共同体类型从txt文本文件中读出来,再将已读出的数据存到共同体中,然后依次按要求输出。其中的俩个函数extern int CountLines(char *filename)和void suiji()分别起到读文件的行数及随机产生下次成绩的作用。该模块主要有以下几个功能:1:按宿舍查询 2:按日期查询 3: 预测下次成绩。按宿舍查询即是输入宿舍号,查询已存入TXT的相关成绩;按日期查询下有三个选项按年按月按日,分别提供单日单月单年的查询功能;预测下次成绩主要是随机产生的成绩,首先列出已有数据的总成绩及平均成绩,然后预测下次成绩,并将下次成绩的具体情况作了详细介绍。2.3文件格式说明1、系统通过对已存文件(txt)读、写等操作,根据输出提示执行相关操作,分别从已存文件中读内容或写内容。2、输入输出方法:通过头文件#include和#include的使用用流类进行相关内容的输入输出。3、系统主要结构及知识3.1程序流程图3.2数据结构表(宿舍卫生系统)序号成员名数据类型长度字段含义1idint4宿舍号2preint4宿舍卫生成绩3yearint4年4monthint4月5dayint4日3.3运用知识通过我们小组合作完成这个系统,我们巩固了所学过的许多知识,也学习到了输入输出流以及文件操作等的相关知识。1、 函数调用。通过构造新函数void outinformation(string studnum);来实现通过输入学号查询该学号所对应学生的基本信息,包括学号、姓名、宿舍号、床位号、联系方式等基本信息。2、 开关语句。通过运用switch开关语句来实现选择查询成员信息、或添加新的成员信息。3、 Goto语句。虽然不鼓励使用goto语句,可是在编写代码过程中发现使用goto语句会使整个功能很容易实现,大大减少工作量,所以在代码中还是运用了,使整个系统在运行时可以多次进行查询。 1、查阅书籍、了解到了输入输出流以及文件的读写等操作!初步了解到了文件流类体系的概念:即程序中使用文件时需包含头文件“fstream.h”的头文件,文件流类体系又分filebuf类, ofstream类, ifstream 类,fstream类。2、 初步了解到了程序中若要对文件操作续包含四步!定义文件流、打开文件、文件的读写、关闭文件四个基本步骤。4、 宿舍综合查询系统操作说明:4.1使用说明这是关于宿舍信息的查询系统,具有查询IP、宿舍卫生、报修、学生信息的功能,除此外,我们还添加了不同的查询功能、录入功能。我所负责的卫生情况查询,额外增加预测成绩的功能。已从文本录入范例数据,调试过程中可按提示进行有关操作:IP查询按“1”键;宿舍卫生查询按“2”键;反馈报修情况按“3”键;学生信息查询按“4”键;退出按“0”键;4.2调试结果代码中选用switch语句调用各子函数,数字1、2、3、4、0表示不同指令,进入不同函数,实现相应功能。系统启用后会自动调用存放在该系统的磁盘根目录下的文本文件,这些文件已提前录入相应的部分数据。例使用查询功能,显示如下:此处指令为退出系统。例宿舍卫生查询:其中含有三个功能,查询方式按宿舍、按日期、预测下次成绩。按宿舍:按日期:按年:按月:按日:预测下次成绩:宿舍报修情况:学生信息查询情况:因我主要负责宿舍卫生查询情况,其他模块不具体说明了。4.3优缺点分析优点: 1、系统中查询功能比较强大,系统操作灵活性较强。 2、可以随意选择不同的指令进行操作。 3、排版效果清晰明了,美观。缺点: 1、由于该系统采用文本保存方式,所以安全性不高。 2、采用结构体结构操作,不能进行大量数据操作,否则运行缓慢,甚至不能运行。 3、不能实现修改、删除等功能,使系统功能欠缺很严重。5、总结通过构思代码,修改代码,发现自己所学的不足。此项功能代码有着太多的不足:bug1预测信息不能按已有成绩进行模拟预测;bug2不能增加成绩,我最初的打算是添加管理员权限只有管理员可进行增删修改成绩,但由于时间原因仓促之下管理员登录系统危机未搭建起来;bug3不能查询特定日期的宿舍成绩,只能按年月日进行查询。还有些许小bug未发现的,不一一列举了。当然每段程序都有它的优点及不足,至于它的优点应该就是完成了它本身的功能吧。编写过程中发现了,种种的弊端,比如cin.getline有时无法正常使用,string只能在标准工作环境下使用而nocreate又必须在.h下使用,频繁编译调试后电脑无法正常连接,因而造成诸多不便等等,还有很多很多诸多小问题,都是平常没有及时发现及时解决的。 通过编写此段代码自己发现已有知识的欠缺,所学知识不能完好的解决问题,我们应自学更多的相关知识,及周边未提及的知识。运用新的知识通过新老知识的结合才能产生优秀的作品。当然这次代码有我们共同完成,充分让我们体验到团队的意义,编写代码的同时要想到其他组员调用代码时的方便,这样才能让这代码更好更快捷的运行下去,才能让这段程序以最快限度的完成,当然编代码是集体工作那么互相帮助互读代码成为了必须,这样才能更好完成这项任务。能力有限,不足之处还望老师见谅,以后努力把其中的错误改正过来。附录:宿舍综合查询系统源代码(C+)(主函数及宿舍卫生查询函数)#include#include#include#define NUMA 1062810108#define NUMB 1062810129extern void main1 ();extern void main2 ();extern void main3 ();extern void main4 ();void main ()int choice2=1,choice1=1;char id80;long int studnum; /studnum =student number 学生学号 /*while(choice1) cout请选择:endlchoice1; switch(choice1) case 1:loop1: coutstudnum; if(studnumNUMA) cout请输入登录名:; cin.getline(id,80); cout登陆成功!endl; goto loop; else cout登录失败!endl; goto loop1; break; case 2:loop2: cout请输入登录名:; cin.getline(id,80); if(strcmp(id,刘景)=0) cout登陆成功!endl; goto loop; else cout登录失败!endl; goto loop2; break; */loop:cout请选择:endlchoice2;switch(choice2)case 1:main1();break;case 2:main2();break;case 3:main3();break;case 4:main4();break;goto loop;此为主代码,主代码工作由我完成,本想加入登录系统,分为管理员登陆和学生登录但未完成,主代码主要是将四个文件用多文件组织外部调用函数的形式搭建起来的,当然从中使用了goto语句,这是应该避免的,以后完善时后修改一下,这段代码注释掉了登录系统,它还没建立好,运行时getline无法正常运行,调试却能通过,所以我们决定将其注释掉。#include#include#includeint CountLines(char *filename);void suiji()int a,b,c,d,e,sum;a=rand()%2; /床铺扣分情况b=rand()%2; /地面扣分情况c=rand()%2;/书桌扣分情况d=rand()%2;/卫生间扣分情况e=rand()%2;/阳台扣分情况sum=100-a-b-c-d-e;/所得分数cout今日卫生成绩为:sum分endl;cout其中扣分情况:endl;cout床铺:at地面:bt书桌:ct卫生间:dt阳台:eendl;struct progressint id;/宿舍号int pre;/卫生成绩int year,month,day;/年月日;extern void main2()ifstream infile;infile.open(宿舍成绩.txt,ios:in|ios:nocreate|ios:app);int temp=0,sunum,year,month,day;/sunum为输入宿舍成绩int n=CountLines(宿舍成绩.txt);progress s100;/结构体数组int i=0;while(isi.idsi.presi.yearsi.monthsi.day;int choice1=0,choice2=1,choice;while(choice)loop:cout查询宿舍卫生情况;cout请选择:endlchoice;system(cls);/清屏if(choice=1)cout请输入宿舍号:sunum;for(int j=0;jn;j+)if(sj.id=sunum)cout宿舍:sj.idt得分:sj.pre分tsj.year年sj.month月sj.day日endl;goto loop;if(choice=2)cout请选择:endlchoice;if(choice=1)cout请输入年份:year;for(int k=0;kn;k+)if(sk.year=year)cout宿舍:sk.idt得分:sk.pre分tsk.year年sk.month月sk.day日endl;if(choice=2)cout请输入月份:month;for(int l=0;ln;l+)if(sl.month=month)cout宿舍:sl.idt得分:sl.pre分tsl.year年sl.month月sl.day日endl;if(choice=3)cout请输入日子:day;for(int m=0;mn;m+)if(sm.day=day)cout宿舍:sm.idt得分:sm.pre分tsm.year年sm.month月sm.day日endl;if(choice=3)coutsunum;int sum=0,ave,t=0;for(int j=0;jn;j+)if(sj.id=sunum)sum+=sj.pre;t+;ave=sum/t;cout该宿舍总成绩为:sumendl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国手压旋转拖把行业市场全景分析及前景机遇研判报告
- 煤矿采矿工程扩建项目节能评估报告
- 中医妇科基础试题及答案
- 离婚协议中明确共同债务分担与房产处理
- 离婚协议财产分割补充协议签订
- 高强度铝合金制品生产制造项目商业计划书
- 离婚申请书样本与婚姻解除及财产分割及子女抚养协议
- xx市污水处理厂工程项目规划设计方案
- 水库扩建工程规划设计方案
- 高效设施农业园项目可行性研究报告
- (完整文本版)无人机航拍理论试题库完整
- 厂房降租减租申请书
- 植入式静脉给药装置(输液港)-中华护理学会团体标准2023
- 小学数学集体备课活动记录表范文12篇
- 铝合金门窗安装监理交底
- 胸腹水常规检测标准操作规程
- 基本公卫生服务的项目组织管理灵石武佳波课件
- 电工职业技能竞赛技术规程
- 机电设备调试协议书
- 芪参益气滴丸课件
- 短视频编辑与制作(第2版)PPT完整全套教学课件
评论
0/150
提交评论