欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    《程序设计综合课程设计》报告-C 小区物业管理系统设计 .doc

    • 资源ID:5092033       资源大小:392.50KB        全文页数:48页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《程序设计综合课程设计》报告-C 小区物业管理系统设计 .doc

    华科学院信息管理与信息系统专业 程序设计综合课程设计报告 (2011/2012学年 第一学期)学生姓名: 学生班级: 信息管理102202H学生学号: 指导教师: 20011年12月30日小区物业管理 目 录1、课程设计的目的及要求.42、课程设计任务.53、设计内容.64、程序的编码与实现.255、课程设计心得与体会.286、程序源代码.29第一章 课程设计的目的及要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计基础(C+)课程后进行的一次全面的综合设计。本课程设计的目的和任务:1. 巩固和加深学生对C+语言课程的基本知识的理解和掌握。2. 掌握C+语言编程和程序调试的基本技能。3. 利用C+语言进行基本的软件设计。4. 掌握书写程序设计说明文档的能力。5. 提高运用C+语言解决实际问题的能力。1.2课程设计要求 进一步巩固C+程序设计所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C+ 语言解决实际问题的能力,为以后后续课程的学习打好基础。第2章 课程设计任务2.1 课程设计题目 小区物业管理系统2.2 课程设计实现可以通过操作输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。第三章 设计内容3.1需求分析3.1.1系统分析小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。3.1.2功能分析小区管理系统包括小区成员的所住单元、住户号、工作单位、姓名、电话号码等信息;小区管理系统主要提供以下功能: 1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码的修改等);2.系统以菜单方式工作3.住户信息录入功能输入4.住户信息增加、修改、查询功能(1)按住户名 (2)按房间号5.住户信息浏览功能显示6.住户信息删除功能3.2总体设计3.2.1开始登录界面图3-2-1 开始登录界面3.2.2各部分函数功能整个系统除了主函数外,另外还有6个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。各个函数的详细设计说明分别如下:1. 增加数据功能:基本原理是用指针*P来创建一个存储单元,来存储住户的信息:住户的姓名、性别、电话号码、身份证号码。然后再和链变相连,有结构体链表来存储所有住户的信息。*指针只想最后一个结构体链表的最后一个结构体。2.修改数据功能:与增加数据功能输入方式一样3.信息浏览功能:用printf来显示住户的信息,并且用for循环来实现所有的住户信息都能显示出。void Display(people people,int n) /*显示所有记录*/ int i; printf("ttt-n"); /*格式头*/ printf("tttnumber name teln"); printf("ttt-n"); for(i=1;i<n+1;i+) /*循环输入*/ printf("ttt%-16s%-15s%dn",peoplei-1.num,peoplei-1.name,peoplei-21.tel); if(i>1&&i%10=0) /*每十个暂停*/ printf("ttt-n"); /*格式*/ printf("ttt"); system("pause"); printf("ttt-n"); printf("ttt"); system("pause"); 4.信息删除功能:首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。 首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。int Delete_a_record(people people ,int n) /*按姓名查找,删除一条记录*/ char s20; int i=0,j; printf("ttttell me his(her) name:"); /*交互式问寻*/ scanf("%s",s); while(strcmp(peoplei.name,s)!=0&&i<n) i+; /*查找判断*/ if(i=n) printf("tttnot find!n"); /*返回失败信息*/ return(n); for(j=i;j<n-1;j+) /*删除操作*/ strcpy(studj.num, people j+1.num); strcpy(studj.name, people studj+1.name); people j.tel= people j+1.tel; printf("tttDelete Successed!n"); /*返回成功信息*/ return(n-1); void Query_a_record(people people,int n) /*查找并显示一个记录*/ char s20; int i=0; printf("tttinput his(her) name:"); /*交互式输入*/ scanf("ttt%s",s); while(strcmp(peoplei.name,s)!=0&&i<n) i+; /*查找判断*/ if(i=n) printf("tttnot find!n"); /*输入失败信息*/ return; printf("ttthis(her) number:%sn",peoplei.num); /*输出该学生信息*/ printf("ttthis(her) tel:%dn",peoplei.tel); int AddfromText(people people,int n) /*从文件中读入数据*/ int i=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf("tttInput the filename:"); scanf("ttt%s",filename); /*输入文件名*/ if(fp=fopen(filename,"rb")=NULL) /*打开文件*/ printf("tttcann't open the filen"); /*打开失败信息*/ printf("ttt"); system("pause"); return(n); fscanf(fp,"%d",&num); /*读入总记录量*/ while(i<num) /*循环读入数据*/ fscanf(fp,"%s%s%d",peolen+i.num,peoplen+i.name,&peoplen+i.tel); i+; n+=num; fclose(fp); /*关闭文件*/ printf("tttSuccessed!n"); printf("ttt"); system("pause"); return(n); void WritetoText(Student people,int n) /*将所有记录写入文件*/ int i=0; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf("tttWrite Records to a Text Filen"); /*输入文件名*/ printf("tttInput the filename:"); scanf("ttt%s",filename); if(fp=fopen(filename,"w")=NULL) /*打开文件*/ printf("tttcann't open the filen"); system("pause"); return; fprintf(fp,"%dn",n); /*循环写入数据*/ while(i<n) fprintf(fp,"%-16s%-15s%dn",peoplei.num,peoplei.name,peoplei.tel); i+; fclose(fp); /*关闭文件*/ printf("Successed!n"); /*返回成功信息*/ 6.退出系统功能。3.3详细设计3.3.1系统功能模块小区物业管理系统菜单(登录界面、主菜单)退出系统信息浏览信息删除修改数据增加数据信息查询输入数据按房间号按用户名图3-3-1 系统功能模块图3.3.2系统设计1.系统操作流程图开始登录界面信息删除信息删除信息浏览信息查询增加数据修改数据选择查询方式输入要增加的住户的信息输入要修改的住户的信息继续修改?继续添加? N Y Y N输入房间号输入用户名图3-3-2 系统操作流程图2.各部分详细流程1)增加数据 char name20,sex,room_num10,parking10,phone_num20,ID_num20,c; out.open("E:a.dat",ios:app); do cout<<"请输入您要增加的住户的姓名:"<<endl; cin>>name; cout<<endl<<" 请输入住户性别:" cin>>sex; cout<<endl<<" 请输入其房间号:" cin>>room_num; cout<<endl<<" 请输入其车库号:" cin>>parking; cout<<endl<<" 请输入联系电话:" cin>>phone_num; cout<<endl<<" 请输入身份证号:" cin>>ID_num; cout<<endl; out<<setw(20)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<parking<<setw(20)<<phone_num<<setw(20)<<ID_num; /文件输入 cout<<" 数据添加成功,想继续添加吗? y / n :"<<endl; cin>>c; cout<<endl; if(c='n')break; if(c!='y'&&c!='n') cout<<" 指令错误!请重新输入!"<<endl<<" " cin>>c; while(c='y'); out.close(); break; 2)修改数据char name20,sex,room_num10,parking10,phone_num20,ID_num20,c; char na20,s,room10,park10,phone20,ID20; do int flag=0; cout<<" 请输入您要修改的住户的姓名:"<<endl; cin>>na; cout<<endl; f.open("E:a.dat",ios:in|ios:out); f.seekg(0,ios:beg); f.clear(); while(!f.eof() f>>name; if(strcmp(name,na)=0) flag=1; cout<<"请输入您要修改的住户的姓名:"<<endl; cin>>na; cout<<" 请输入新房间号:" cin>>room; cout<<endl<<" 请输入住户性别:" cin>>s; cout<<endl<<" 请输入其房间号:" cin>>room; cout<<endl<<" 请输入其车库号:" cin>>park; cout<<endl<<" 请输入联系电话:" cin>>phone; cout<<endl<<" 请输入身份证号:" cin>>ID; cout<<endl; sex=s; strcpy(room_num,room); strcpy(parking,park); strcpy(ID_num,ID); strcpy(phone_num,phone); f.seekp(-20l,ios:cur); f<<setw(20)<<na<<setw(5)<<s<<setw(10)<<room<<setw(10)<<park<<setw(20)<<phone<<setw(20)<<ID; /文件输入 cout<<" 修改成功! "<<endl<<endl;break; f.close(); if(flag=0) cout<<" 您要修改的住户不存在!"<<endl<<endl; cout<<" 您想继续修改吗? y / n :"<<endl; cin>>c; cout<<endl; if(c='n')break; if(c!='y'&&c!='n') cout<<" 指令错误!请重新输入!"<<endl<<" " cin>>c;while(c='y'); break;3)信息查询 char name20,sex,room_num10,room10,parking10,phone_num20,ID_num20; cout<<" 请选择您要进行查询的方式:"<<endl<<endl<<" 1.按住户名查询"<<endl<<endl<<" 2.按房间号查询"<<endl<<endl; int k; cin>>k; switch(k) case 1: /按住户名查询 char na20;char c; do in.open("E:a.dat",ios:in); in.seekg(0,ios:beg); in.clear(); int flag=0; cout<<" 请输入你要查询的住户姓名:"<<endl; cin>>na; cout<<endl; while(!in.eof()in>>name>>sex>>room_num>>parking>>phone_num>>ID_num; if(strcmp(name,na)=0) flag=1; cout<<" 您要查询的住户:"<<name<<" 的信息是: "<<endl<<endl; cout<<"姓名 性别 房间号 车库号 电话号码 身份证号 "<<endl;cout<<setw(2)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<parking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl; in.close(); if(flag=0) cout<<" 对不起!您要查询的住户不存在!"<<endl<<endl; cout<<" 您想继续查询吗? y / n :" cin>>c; cout<<endl; if(c='n')break; if(c!='y'&&c!='n') cout<<" 指令错误!请重新输入!"<<endl; cin>>c; while(c='y');break; case 2 : /按房间号查询 do int flag=0; cout<<" 请输入你要查询的房间号:"<<endl; cin>>room; cout<<endl; in.open("E:a.dat",ios:in); in.seekg(0,ios:beg); in.clear(); while(!in.eof()in>>name>>sex>>room_num>>parking>>phone_num>>ID_num; if(strcmp(room_num,room)=0) flag=1; cout<<"您要查询的住户:"<<name<<"的信息是: "<<endl<<endl; cout<<"姓名 性别 房间号 车库号 电话号码 身份证号 "<<endl; cout<<setw(2)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<parking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl; in.close(); if(flag=0) cout<<" 对不起!您要查询的住户不存在!"<<endl; cout<<" 您想继续查询吗? y / n :" char c; cin>>c; cout<<endl; if(c='n')break; if(c!='y'&&c!='n')cout<<" 指令错误!请重新输入!"<<endl; cin>>c;while(c='y'); break; default:cout<<"对不起,您输入的指令有误:"break; break;4)信息浏览char name20,sex,room_num10,parking10,phone_num20,ID_num20; in.open("E:a.dat",ios:in); in.seekg(0,ios:beg); in.clear(); if(in.get()=EOF)cout<<" 文件中已无数据"<<endl<<endl;in.close();break; cout<<" 本系统所有学生数据如下:"<<endl<<endl; cout<<"姓名 性别 房间号 车库号 电话号码 身份证号 "<<endl; while(!in.eof() in>>name>>sex>>room_num>>parking>>phone_num>>ID_num; cout<<setw(2)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<parking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl; in.close(); break; 5)信息删除char name20,na20,sex,room_num10,parking10,phone_num20,ID_num20,c; int k; do int n=0;int flag=0; cout<<" 请输入您要删除的住户的姓名:"<<endl; cin>>na; cout<<endl; in.clear(); in.open("E:a.dat",ios:in); in.seekg(0,ios:beg); while(!in.eof() in>>name>>sex>>room_num>>parking>>phone_num>>ID_num; sn=new livers(name,sex,room_num,parking,phone_num,ID_num); livn=*sn; delete sn; n+; in.close(); for(i=0;i<n;i+) if(strcmp(livi.name,na)=0) flag=1;k=i; if(flag=1) out.open("E:a.dat",ios:out); out.seekp(0,ios:beg); if(n>1) for(i=0;i<k;i+) out<<setw(2)<<livi.name<<setw(5)<<livi.sex<<setw(10)<<livi.room_num<<setw(10)<<livi.parking<<setw(20)<<livi.phone_num<<setw(20)<<livi.ID_num; for(i=k+1;i<n;i+) out<<setw(2)<<livi.name<<setw(5)<<livi.sex<<setw(10)<<livi.room_num<<setw(10)<<livi.parking<<setw(20)<<livi.phone_num<<setw(20)<<livi.ID_num; cout<<" 信息删除成功"<<endl<<endl; if(n=1) out.close(); else cout<<" 您要删除的住户不存在!"<<endl<<endl; cout<<" 您想继续删除吗? y / n :"<<endl; cin>>c; cout<<endl; if(c='n')break; if(c!='y'&&c!='n') cout<<" 指令错误!请重新输入!"<<endl<<" " cin>>c;while(c='y'); break;6)退出系统 cout<<"Bye bye! See you next time."<<endl<<endl; cout<<" 冯勇制作"<<endl<<endl<<endl;exit(0); break; /以上为menu菜单中switch控制语句 cout<<" 您想继续进行其他操作吗? y / n :"<<endl<<" "/以下控制循环语句int flag=0;docin>>w; cout<<endl; if(w='n')exit(0); if(w!='y'&&w!='n') cout<<" 指令错误!请重新输入!"<<endl; else flag=1;while(flag=0);if(w='y')cout<<" 请输入操作代码: 1 输入数据"<<endl;cout<<" 2 增加数据"<<endl;cout<<" 3 修改数据"<<endl;cout<<" 4 信息查询"<<endl;cout<<" 5 信息浏览"<<endl;cout<<" 6 信息删除"<<endl;cout<<" 7 退出系统"<<endl;cin>>p;while(w='y');/最外层的do-while循环/menu函数结束int main()key();return 0;第四章 程序的编码与实现4.1主界面的显示图4-1 主界面4.2测试及运行结果图4-2.1增加数据界面图4-2.2修改数据界面图4-2.3信息查询界面图4-2.4信息浏览界面图4-2.5信息删除界面第五章 课程设计心得与体会在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次模具设计,本人在多方面都有所提高。通过这次模具设计,综合运用本专业所学课程的理论和生产实际知识进行一次冷冲压模具设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了冷冲压模具设计等课程所学的内容,掌握冷冲压模具设计的方法和步骤,掌握冷冲压模具设计的基本的模具技能懂得了怎样分析零件的工艺性,怎样确定工艺方案,了解了模具的基本结构,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。附 录附录一 书籍: 1谭浩强 C程序设计(第三版) 清华大学出版社 2谭浩强 C程序设计题解与上机指导(第三版)清华大学出版社附录二源代码:#include<iostream>#include<string>#include<fstream>#include<stdlib.h>#include<iomanip>using namespace std;class livers/livers类 private: char name20; /姓名 char sex; char room_num10; char parking10; char ID_num20; char phone_num20; public: livers() livers(char n20,char s,char room10,char park10,char phone20,char ID20) strcpy(name,n); sex=s; strcpy(room_num,room); strcpy(parking,park); strcpy(phone_num,phone); strcpy(ID_num,ID); friend void menu();/友元函数;void key()char mima20,key20;char yu_mima20="12345" int flag;int p;char w; ifstream in; ofstream out; fstream f; /输入输出对象 cout<<" *"<<endl; cout<<" 欢迎登录小区物业管理系统 "<<endl; cout<<" *"<<endl<<endl; doflag=0; cout<<" 请输入管理员密钥:"<<endl; in.clear(); in.open("E:c.dat",ios:in); if(in.fail() /首次登录 cout<<endl<<" 欢迎首次登录,您的预设密码为 12345:"<<endl<<endl; cout<<" 请输入:" cin>>mima; cout<<endl; if(strcmp(yu_mima,mima)=0) flag=1; cout<<" 密码正确!请输入下一步指令:"<<endl<<endl; if(!in.fail() /非首次登陆 in>>key; cin>>mima; if(strcmp(key,mima)=0) flag=1; cout<<" 密码正确!请输入下一步指令:"<<endl<<endl; in.close(); if(flag=0) cout<<" 密码有误,请重新输入"<<endl<<endl;while(flag=0); cout<<" *"<<endl; cout<<" * 0、修改密码 *"<<endl; cout<<" * 1、进入系统 *"<<endl; cout<<" * 2、退出系统 *"<<endl; cout<<" *

    注意事项

    本文(《程序设计综合课程设计》报告-C 小区物业管理系统设计 .doc)为本站会员(来看看)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开