C++课程设计报告-大学生社会实践管理系统_第1页
C++课程设计报告-大学生社会实践管理系统_第2页
C++课程设计报告-大学生社会实践管理系统_第3页
C++课程设计报告-大学生社会实践管理系统_第4页
C++课程设计报告-大学生社会实践管理系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.机电工程学院 中 南 大 学C+程序设计基础 课 程 设 计题 目 大学生社会实践管理系统成员姓名 李建华学 号 0806121625班 级 机械1216班指导教师 樊广军学 院 机电工程学院日 期 2013年7月1日大学生社会实践管理系统一、系统设计目标及意义本系统是一个大学生社会实践管理系统,实现任意添加、删除、编辑、找与显示实践人信息及实践活动信息等功能,为学校的学生工作提供参考。二、功能介绍1、重建或建立大学生社会实践管理系统库的操作通过函数的识别,自动判断是否已经建立大学生社会实践管理系统库。若未建立,则新建一个大学生社会实践管理系统库;若已建立,则可直接使用其他功能。同时,还可以

2、重新建立一个大学生社会实践管理系统库覆盖之前的系统库。2、添加实践信息的操作:需要输入实践人的编号、姓名、性别、学校、院系、专业、年级、班级、电话、地址等完成实践人信息的添加;输入实践的实践地点、时间、事件类型及等级评价完成实践活动信息的添加;完成输入后,按任意键返回主菜单。3、显示所有实践信息的操作:会显示出所有现有的大学生社会实践管理系统库中的所有实践信息。4、 查找实践人信息的操作:通过对第几位实践人的输入,实现查看某一位实践人的所有实践信息。5、替换实践人信息的操作:通过对第几位实践人的输入,并输入新的实践信息实现替换某一位实践人的所有实践信息。6、退出系统:退出大学生社会实践管理系统

3、界面。三、系统流程图新建大学生社会实践管理系统库重建大学生社会实践管理系统库显示所有实践信息查找实践人信息替换实践人信息退出系统添加实践人信息开始判断是否已经建立系统库显示系统主界面根据输入的字母执行不同的操作NY四、类图NOTEBOOK filename20:char f:fstream p:PRACTICE<<friend>>+ NOTEBOOK(char *fs)+ creat():void+ append():bool+ display():void+ inS():void+ seek(int x):bool+ repl(int x):voidPRACTICE

4、ID20:char name20:char sex20:char major20:char university20:char college20:char cls20:char grade20:char address20:char phone20:char place20:char time20:char type20:char pingjia20:char+ srBh():void+ srXm():void+ srXb():void+ srXx():void+ srYx():void+ srZy():void+ srNj():void+ srBj():void+ srDz():void+

5、 srDh():void+ srDjd():void+ srSj():void+ srPj():void+ srXX():void五、主要运行界面图及运行结果图(1)未检测到大学生社会实践管理系统库,提示创建。(2) 输入Y,创建成功,进入系统主界面。(3)输入b,添加实践人个人信息及实践信息,输入完毕后,整体输出。(4)按任意键返回主界面,输入c,显示所有现有的大学生社会实践管理系统库中的所有实践信息。(5)按任意键返回主界面,输入d,进入“查找实践人信息”界面,根据输入第几位实践人的序号,查看其全部信息。(6)输入1,显示第1位实践人的信息如下:(7)按任意键返回主界面,输入e,进入“替换

6、实践人信息”界面,根据输入第几位实践人的序号,替换其全部信息。(7)按任意键返回主界面,输入c,就可以查看更改(替换)后的全部信息。(8)按任意键返回主界面,当需要重新建立一个大学生社会实践管理系统库时,输入a,进入“重建页面”,根据提示重建一个大学生社会实践管理系统。(9)按任意键返回主界面,输入t,退出大学生社会实践管理系统。六、系统设计过程中遇到的问题1、之前从未编过如此大的程序,刚开始的时候无从下手。2、功能还不够全面,还不能够解决更多的问题,例如:只能通过输入第几位实践人进行查找与替换。(造成了一些麻烦与不便)3、替换的之后会出错,统计记录数出错。(记录数会自动加一)七、创新点1、能

7、够先检测是否已经建立大学生社会实践管理系统库。2、提示用户“目前系统库当中已存有多少条记录”。3、能够随时的很方便的更新系统库信息,重建或更替实践信息。八、课程设计心得体会第一次很自主的对一个较大的问题用C+的思维进行分析,刚开始的时候有无从下手的感觉,通过去图书馆查阅相关书籍,上网查找相关资料,渐渐的自己也开始明白如何去解决这个问题。通过这次自己动手编这个比较大型的程序,自己也对C+的知识有了更深的了解,之前在课堂上,知识学习一些理论上的知识,而这次真正联系全部的知识,将所有知识融会贯通的运用于一个系统的编程,确实让自己提高了在书本以外的实践动手的能力,相信也会对以后的学习提供很大的帮助。这

8、次课程设计的时间有点紧张,从书本到实践的过程花了比较长的时间,以至于无法呈现一个更完美的大学生社会实践管理系统。不过,对C+认识的加深和动手能力的提高是自己最大的收获。九、附录源文件代码:#include <Windows.h>#include <iostream>#include <fstream>#include <iomanip>#include <cstring>#include <string>using namespace std;class PRACTICEprivate:char ID20;char nam

9、e20;char sex20;char major20;char university20;char college20;char cls20;char grade20; char address20; char phone20; char place20;char time20;char type20;char pingjia20;friend class NOTEBOOK;public:void srBh()cout<<"请输入实践人编号:"cin>>ID;cout<<endl;void srXm()cout<<"

10、;请输入实践人姓名:"cin>>name;cout<<endl;void srXb()cout<<"请输入实践人性别:"cin>>sex;cout<<endl;void srXx()cout<<"请输入实践人学校:"cin>>university;cout<<endl;void srYx()cout<<"请输入实践人院系:"cin>>college;cout<<endl;void srZy()c

11、out<<"请输入实践人专业:"cin>>major;cout<<endl;void srBj()cout<<"请输入实践人班级:"cin>>cls;cout<<endl;void srNj()cout<<"请输入实践人年级:"cin>>grade;cout<<endl;void srDz()cout<<"请输入实践人住宅地址:"cin>>address;cout<<end

12、l;void srDh()cout<<"请输入实践人电话:"cin>>phone;cout<<endl;void srSjd()cout<<"请输入实践人开展实践活动的实践地点:"cin>>place;cout<<endl;void srSj()cout<<"请输入实践人参与实践活动的时间(小时):"cin>>time;cout<<endl;void srLx()cout<<"请输入实践人参与实践活动的实践

13、类型(企业实习/便民服务/科技下乡):"cin>>type;cout<<endl;void srPj()cout<<"请输入实践人参与实践活动的评价等级(A/B/C/D):"cin>>pingjia;cout<<endl;void scXX()cout<<"您输入的实践人" <<name<< "的信息如下:"<<endl;cout<<setiosflags(ios:left)<<"编号

14、:"<<setw(20)<<ID<<endl<<"姓名:"<<setw(20)<<name<<endl<<"性别:"<<setw(20)<<sex<<endl<<"学校:"<<setw(20)<<university<<endl<<"院系:"<<setw(20)<<college<<

15、;endl<<"专业:"<<setw(20)<<major<<endl<<"年级:"<<setw(20)<<grade<<endl<<"班级:"<<setw(20)<<cls<<endl<<"电话:"<<setw(20)<<phone<<endl<<"地址:"<<address<

16、;<endl<<"实践地点:"<<place<<endl<<"实践时间:"<<time<<"小时"<<endl<<"实践类型:"<<type<<endl<<"实践评价等级:"<<pingjia<<endl;class NOTEBOOKprivate:char filename20;fstream f;PRACTICE p;public:

17、NOTEBOOK(char *fs)strcpy(filename,fs);void creat()f.open(filename,ios:out|ios:trunc);f.close();bool append()f.open(filename,ios:out|ios:app);if(!f)cerr<<"无法打开文件!"<<endl;return false;elsef<<setiosflags(ios:left)<<"编号:"<<setw(20)<<p.ID<<&qu

18、ot;姓名:"<<setw(20)<<<<"性别:"<<setw(20)<<p.sex<<"学校:"<<setw(20)<<p.university<<"院系:"<<setw(20)<<p.college<<"专业:"<<setw(20)<<p.major<<"年级:"<<setw(2

19、0)<<p.grade<<"班级:"<<setw(20)<<p.cls<<"电话:"<<setw(20)<<p.phone<<"地址:"<<setw(20)<<p.address<<"实践地点:"<<setw(20)<<p.place<<"实践时间:"<<setw(20)<<"小时"&l

20、t;<p.time<<"实践类型:"<<setw(20)<<p.type<<"实践评价等级:"<<setw(20)<<p.pingjia<<endl;p.scXX();f.close();return true;void display()char ch;fstream f1;f1.open(filename, ios:in);if(!f1)cerr<<"文件不能打开!"<<endl;elsef1.seekg(0);cou

21、t<<"*"<<endl;while(!f1.eof()f1.get(ch);cout<<ch;if(ch='n') cout<<"*"<<endl;f1.close();void inS()p.srBh();p.srXm();p.srXb();p.srXx();p.srYx();p.srZy();p.srNj();p.srBj();p.srDz();p.srDh();p.srSjd();p.srSj();p.srLx();p.srPj();bool seek(int x)fst

22、ream f;char ch;f.open(filename, ios:in);if(!f)cerr<<"文件不能打开!"<<endl;return false;elsef.seekg(0);int i=1;while(!f.eof() && i<=x)f.get(ch);if(ch='n')i+;if(i=x)cout<<ch;cout<<endl;if(f.eof()cout<<"没有这条记录!"<<endl;return false;f.c

23、lose();void repl(int x)fstream f1,f2;int i=1;char ch;char cmd256;bool inputed=false;f1.open(filename,ios:in);f2.open("tmp.txt",ios:out|ios:trunc);p.srBh(); p.srXm(); p.srXb(); p.srXx(); p.srYx();p.srZy(); p.srNj(); p.srBj();p.srDz(); p.srDh(); p.srSjd();p.srSj(); p.srLx(); p.srPj();while(!

24、f1.eof()f1.get(ch);if(i!=x) f2.put(ch);if(ch='n') i+;if(f1.eof()break;if(i!=x && inputed)inputed=false;f2.put(ch);if(i=x && !inputed)f2<<setiosflags(ios:left)<<"编号:"<<setw(20)<<p.ID<<"姓名:"<<setw(20)<<<<

25、"性别:"<<setw(20)<<p.sex<<"学校:"<<setw(20)<<p.university<<"院系:"<<setw(20)<<p.college<<"专业:"<<setw(20)<<p.major<<"年级:"<<setw(20)<<p.grade<<"班级:"<<se

26、tw(20)<<p.cls<<"电话:"<<setw(20)<<p.phone<<"地址:"<<setw(20)<<p.address<<"实践地点:"<<setw(20)<<p.place<<"实践时间:"<<setw(20)<<"小时"<<p.time<<"实践类型"<<setw(2

27、0)<<p.type<<"实践评价等级"<<setw(20)<<p.pingjia;inputed=true;f1.close();f2.close();strcpy(cmd,"");strcat(cmd,"del ");strcat(cmd,filename);system(cmd);strcpy(cmd,"");strcat(cmd ,"ren tmp.txt ");strcat(cmd,filename);system(cmd);bool f

28、ileExist(char *fn)/检测文件是否存在fstream f;f.open(fn,ios:in);if(!f)f.close();return false;elsef.close();return true;int recCount(char *fn)/检测文件中存了多少条记录int cnt=0;char ch;fstream f;f.open(fn,ios:in);if(!f)return 0;elsewhile(!f.eof()f.get(ch);if(ch='n') cnt+;f.close();return cnt=0?0:-cnt;void main()H

29、ANDLE hd = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbInfo; GetConsoleScreenBufferInfo(hd, &csbInfo); SetConsoleTextAttribute(hd, 10 |(csbInfo.wAttributes&0x0F); NOTEBOOK b("practice.txt");char w;int x;if(!fileExist("practice.txt") cout<<"目前

30、您还未建立大学生社会实践管理系统库,是否创建?"<<endl;cout<<"输入Y ->创建,输入其它 -> 不创建"<<endl;cin>>w;if(w='Y')b.creat();while(1)cout<<" *"<<endl;cout<<" 大学生社会实践管理系统 "<<endl<<endl;cout<<" 操作选择 "<<endl<

31、<endl;cout<<" a."<<(fileExist("practice.txt")?"重建":"建立")<<"大学生社会实践管理系统库 "<<endl;cout<<" b.添加实践人信息 "<<endl;cout<<" c.显示实践人信息 "<<endl;cout<<" d.查找实践人信息 "<<endl

32、;cout<<" e.替换实践人信息 "<<endl<<endl;cout<<" t.退出程序 "<<endl;cout<<" *"<<endl;cout<<" 提示:现在大学生社会实践管理系统库"<<(fileExist("practice.txt")?"已经":"还未")<<"创建! "<<endl;c

33、out<<" 目前大学生社会实践管理系统库内已有"<<setw(3)<<recCount("practice.txt")<<"条记录。 "<<endl;cout<<"输入您想要的操作:"cin>>w;switch(w)case 'a':system("cls");cout<<"提示:该操作会删除您原先建立的大学生社会实践管理系统库文件,您确定要重建当前大学生社会实践管理系统库吗?"<<endl;cout<<" 输入Y -> 确认 输入其它 -> 返回主菜单 "<<endl;cout<<"输入您想要的操作:"cin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论