欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    课程设计选题管理系统报告.doc

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

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

    课程设计选题管理系统报告.doc

    上 海 电 力 学 院课程设计报告面向对象程序设计(2014/2015学年第一学期) 课题名称 课程设计选题管理系统设计 院 (系) 电子与信息工程学院 专 业 通信工程 学 号 20132234 姓 名 储昊 时 间 2015年1月19日至1月23日 地 点 虚拟仿真实验室(南4教312) 指导老师 骆政屹 目 录1、总体设计3一、设计目的与任务1、本课程设计的目的 1)课程设计是实践教学环节。设置课程设计的目的是加强学生对本课程及相关课程知识的理解,培养学生综合运用理论知识分析和解决实际问题的方法与能力。有助于提高学生的创新能力和创新意识。搞好课程设计教学工作,对实现专业培养目标,提高学生全面素质有重要作用。2)通过课程设计更进一步理解 C+的基础知识。3)训练用系统的观点及软件开发的一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程中的问题分析、系统设计、程序编码、调试、测试等方面的基本方法和技能。4) 熟练掌握 C+知识在程序中的应用,了解书本知识在解决实际问题中的用途。2、本课程设计的任务(1)问题描述课程设计题目包括:编号、名称、关键词、实现技术、人员数(由几个人来完成)等信息。学生信息包括:学号、姓名、性别、年龄、班级、专业等信息。(2)功能要求 添加功能:程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。添加记录时,要求学号和编号要唯一。如果添加了重复记录,则提示数据添加重复并取消添加。 查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 显示功能:可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。 删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。 统计功能:能根据多种参数进行统计。能按课程设计题目名称统计出学生选择该题目的人员的信息。 保存功能:可将当前系统中各类记录存入文件中,存入方式任意。 读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。二、 设计方案1、总体设计 我们设计一个程序对学生课程设计选题信息进行保存,对学生的选题信息进行可执行多种操作,该程序包括以下功能模块:1)学生信息添加模块:能够输入学生基本信息并保存到文件中。2)查询模块:显示所有符合要求的课程设计信息。3)编辑模块:可对学生信息进行修改。4)删除模块:可删除相应的学生信息。5)统计模块:能根据多种参数进行统计。6)查看模块:显示所有课程设计选题的信息。7)退出系统。为了完善系统,我们还添加了一个登录界面。2、系统设计1)类设计定义一个学生类Student,类中包括学号stuid,姓名stuname,性别sex,年龄age,班级clas,专业specialty,及所选课程的课程编号couid,课程名称 couname,关键词keyword,实现技术technology;定义一个管理类Guanli,其成员函数包括向文件输入函数void write(int n);从文件读取函数,int read();添加学生信息函数void add(),查询信息函数void search (),按学号查询函数void searchsid(),按姓名查询函数void searchsname(),按题目编号查询函数void searchcid(),按题目名称查询函数void searchcname();修改信息函数void alter() ;删除信息函数void del();统计信息函数void total();显示函数void display()以及一个数据成员Student stu50。2)函数设计void write(int n),向文件中写入数据,打开文本文档,并将数据输入到文本文档中;int read(),向文件中写入数据从文件中读数据,打开文本文档,并将文本文档中的数据输出;void add(),添加学生信息;void search()查询信息(可根据学生的学号、姓名、所选课程编号、课程名称进行信息查询);void alter(),修改学生信息;void del(),删除学生信息,根据输入的学生学号通过调用函数实现;void total(),统计学生信息(根据学生所选课程名称进行统计);void display(),显示函数用来显示所有学生信息;int main()主函数,显示主菜单,调用各个函数实现所有功能。 3)系统流程图课程设计学生选课系统设计结构图:进入功能界面后,可以进行多项功能选择,如添加、查询、显示、修改、删除、统计,将数据写入文件以及从文件读取数据等;而查询功能又可以分为按学号、姓名、题目编号、题目名称等方式进行查询。如下图所示。主菜单退出系统显示所有记录统计所有记录删除学生信息修改学生信息 查询记录信息添加新的记录按学号查询按姓名查询按编号查询按名称查询4)界面设计主界面是“欢迎使用课程设计选课系统”,下面是所要使用的功能:1. 添加新的纪录2. 查询记录信息3. 修改学生信息4. 删除学生信息5. 统计所有记录6. 显示所有记录0. 退出系统其中,查询记录又可以弹出一个界面分别有以下几个功能:1. 根据学号查询2. 根据姓名查询3. 根据编号查询4. 根据题目名称查询每实现一个功能,重新弹出主界面,进行下一个的功能选择。3、系统实现1)类实现class Studentpublic: int stuid; /学号 char stuname10; /姓名 char sex2; /性别int age; /年龄char clas10; /班级char specialty10; /专业 int couid; /题目编号 char couname10; /题目名称char keyword20; /关键词char technology30; /实现技术stu50; /定义对象class Guanliprivate:Student stu50;public:void add(); /添加学生信息void search(); /查询信息void searchsid(); /按学号查询信息void searchsname(); /按名字查询信息void searchcid(); /按题目编号查询信息void searchcname(); /按题目名称查询信息 void alter(); /修改信息void del(); /删除信息void total(); /统计信息void display(); /显示信息void write(int n); /向文件中写入数据int read(); /从文件中读数据;2)函数实现 void Guanli:write(int n) fstream myfile;myfile.open("student.txt",ios:out|ios:binary);if(!myfile)cout<<"该文件不能打开!"<<endl;abort();int count=n;myfile<<count<<endl<<endl;for(int i=0;i<=count;i+)myfile<<stui.stuid<<" "<<stui.stuname<<" "<<stui.sex<<" "<<stui.age<<" "<<stui.clas<<" "<<stui.specialty<<" "<<stui.couid<<" "<<stui.couname<<" "<<stui.keyword<<" "<<stui.technology<<" "<<endl;myfile.close();int Guanli:read() fstream myfile;myfile.open("student.txt",ios:in|ios:binary);if(!myfile)cout<<"该文件不能打开!"<<endl;abort();int count;myfile.seekg(0);myfile>>count;for(int i=0;i<=count;i+)myfile>>stui.stuid>>stui.stuname>>stui.sex>>stui.age>>stui.clas>>stui.specialty>>stui.couid>>stui.couname>>stui.keyword>>stui.technology;cout<<endl;myfile.close();return count;void Guanli:add()int n=read();int i=0;char sign;cout<<endl<<"请输入增加的学生的相关信息: "<<endl; while(sign!='N') loop:cout<<"学号:" cin>>stui.stuid; cout << endl;int c=0;while(c<i)c+;if(stui.stuid=stui-c.stuid)cout<<"你输入的学号已经存在!请重新输入"<<endl;goto loop;cout<<"姓名:"cin>>stui.stuname; cout<<endl; cout<<"性别:" cin>>stui.sex;cout<<endl;cout<<"年龄:"cin>>stui.age;cout<<endl;cout<<"班级:"cin>>stui.clas; cout<<endl; cout<<"专业:"cin>>stui.specialty;cout<<endl;cout<<"题目编号:"cin>>stui.couid;cout<<endl;cout<<"题目名称:"cin>>stui.couname; cout<<endl;cout<<"关键词:"cin>>stui.keyword;cout<<endl;cout<<"实现技术:"cin>>stui.technology;cout<<endl;cout<<"提示:是否继续写入学生信息?(Y/N)" cin>>sign; /输入判断 i+;write(i);void Guanli:search()int n=read();cout<<"* (1)根据学号查询 *"<<endl; cout<<"* (2)根据姓名查询 *"<<endl; cout<<"* (3)根据编号查询 *"<<endl; cout<<"* (4)根据名称查询 *"<<endl;cout<<endl; int c;Guanli g; cout<<"请输入选择:"cin>>c; switch(c)case 1: g.searchsid(); break; case 2: g.searchsname(); break; case 3: g.searchcid(); break; case 4: g.searchcname(); break;default:cout<<"输入错误,请重新输入!"<<endl;g.write(n);void Guanli:searchsid() int n=read();int s; int i=0;cout<<endl<<"查找学生信息:"<<endl;cout<<"请输入需要查找学生的学号:"<<endl; cin>>s; while(stui.stuid-s)!=0&&i<n) i+; /查找判断 if(i=n) cout<<"提示:对不起,无法找到该学生的信息!"<<endl; elsecout<<"*"<<endl; cout<<"学号: "<<stui.stuid<<endl; cout<<"姓名: "<<stui. stuname<<endl; cout<<"性别: "<<stui.sex<<endl ; cout<<"年龄: "<<stui. age<<endl; cout<<"班级: "<<stui.clas<< endl; cout<<"专业: "<<stui. specialty<<endl; cout<<"题目编号: "<<stui.couid<<endl; cout<<"题目名称: "<<stui.couname<<endl; cout<<"关键词: "<<stui.keyword<<endl;cout<<"实现技术: "<<stui.technology<<endl;void Guanli:searchsname() int n=read();char a10; cout<<"请输入需要查找学生的姓名:"<<endl; cin>>a; for(int i=0;i<n;i+) if(strcmp(stui.stuname,a)=0) cout<<"*"<<endl;cout<<"学号: "<<stui.stuid<<endl; cout<<"姓名: "<<stui. stuname<<endl; cout<<"性别: "<<stui.sex<<endl ; cout<<"年龄: "<<stui. age<<endl ; cout<<"班级: "<<stui.clas<<endl; cout<<"专业: "<<stui. specialty<<endl; cout<<"题目编号: "<<stui.couid<<endl; cout<<"题目名称: "<<stui.couname<<endl;cout<<"关键词: "<<stui.keyword<<endl;cout<<"实现技术: "<<stui.technology<<endl; void Guanli:searchcid()int n=read();int b; int i=0;cout<<"请输入需要查找的题目编号:"<<endl; cin>>b; while(stui.couid-b)!=0&&i<n) i+; /查找判断if(i=n) cout<<"提示:对不起,无法找到该信息!"<<endl; elsecout<<"*"<<endl; cout<<"学号: "<<stui.stuid<<endl; cout<<"姓名: "<<stui. stuname<<endl; cout<<"性别: "<<stui.sex<<endl ; cout<<"年龄: "<<stui. age<<endl ; cout<<"班级: "<<stui.clas<< endl; cout<<"专业: "<<stui. specialty<<endl; cout<<"题目编号: "<<stui.couid<<endl; cout<<"题目名称: "<<stui.couname<<endl; cout<<"关键词: "<<stui.keyword<<endl;cout<<"实现技术: "<<stui.technology<<endl;void Guanli:searchcname()int n=read();char c10; cout<<"请输入需要查找的题目名称:"<<endl; cin>>c;for(int i=0;i<n;i+) if(strcmp(stui.couname,c)=0) cout<<"*"<<endl; cout<<"学号: "<<stui.stuid<<endl; cout<<"姓名: "<<stui. stuname<<endl; cout<<"性别: "<<stui.sex<<endl ; cout<<"年龄: "<<stui. age<<endl ; cout<<"班级: "<<stui.clas<< endl; cout<<"专业: "<<stui. specialty<<endl; cout<<"题目编号: "<<stui.couid<<endl; cout<<"题目名称: "<<stui.couname<<endl; cout<<"关键词: "<<stui.keyword<<endl;cout<<"实现技术: "<<stui.technology<<endl; void Guanli:alter() int n=read();int s; int i=0;cout<<endl<<"修改学生信息:"<<endl;cout<<"请输入需要修改学生的学号:"<<endl; cin>>s; while(stui.stuid-s)!=0&&i<n) i+; /查找判断 if(i=n) cout<<"提示:对不起,无该学生的信息!"<<endl; /输入失败信息 elsecout<<"该学生的信息:"<<endl; cout<<"学号"<<stui.stuid<<'n'<<"姓名"<<stui.stuname<<'n'<<"性别"<<stui.sex<<'n'<<"年龄"<<stui.age<<'n'<<"班级"<<stui.clas<<'n'<<"专业"<<stui.specialty<<'n'<<"题目编号"<<stui.couid<<'n'<<"题目名称"<<stui.couname<<'n'<<"关键词"<<stui.keyword<<'n'<<"实现技术"<<stui.technology<<'n'<<endl;cout<<"请重新输入该学生的信息"<<endl;cout<<"学号:" cin>>stui. stuid ; cout<<endl; cout<<"姓名:" cin>>stui. stuname; cout<<endl; cout<<"性别:" cin>>stui.sex; cout<<endl; cout<<"年龄:" cin>>stui.age; cout<<endl; cout<<"班级:" cin>>stui.clas ; cout<<endl; cout<<"专业:" cin>>stui. specialty; cout<<endl; cout<<"题目编号:" cin>>stui.couid; cout<<endl; cout<<"题目名称:" cin>>stui.couname; cout<<endl;cout<<"关键词:" cin>>stui.keyword; cout<<endl; cout<<"实现技术:" cin>>stui.technology; cout<<endl; char c; cout<<"是否保存数据?(y/n)"<<endl; cin>>c; if(c='y')cout<<"修改成功!"<<endl;write(n);void Guanli:del() int n=read();int s; int i=0,j;cout<<endl<<"删除学生信息:"<<endl;cout<<"请输入需要删除学生的学号:"<<endl;cin>>s; while(stui.stuid-s)!=0&&i<n) i+; /查找判断 if(i=n) cout<<"提示:记录为空!"<<endl; /返回失败信息 elsefor(j=i;j<n-1;j+) /删除操作 stuj.stuid=stuj+1.stuid; strcpy(stuj.stuname,stuj+1.stuname); strcpy(stuj.sex,stuj+1.sex);stuj.age=stuj+1.age;strcpy(stuj.clas,stuj+1.clas); strcpy(stuj.specialty,stuj+1.specialty); stuj.couid=stuj+1.couid; strcpy(stuj.couname,stuj+1.couname); strcpy(stuj.keyword,stuj+1.keyword); strcpy(stuj.technology,stuj+1.technology); cout<<"提示:已成功删除!"<<endl; /返回成功信息 cout<<"你要删除的信息如下:"<<endl; cout<<"姓名:"<<stui.stuname<<endl;cout<<"学号:"<<stui.stuid<<endl; cout<<"性别:"<<stui.sex<<endl;cout<<"年龄:"<<stui.age<<endl; cout<<"班级:"<<stui.clas<<endl;cout<<"专业:"<<stui.specialty<<endl; cout<<"题目编号:"<<stui.couid<<endl; cout<<"题目名称:"<<stui.couname<<endl;cout<<"关键词:"<<stui.keyword<<endl; cout<<"实现技术:"<<stui.technology<<endl; write(n-1); void Guanli:total()int n=read();char c10; cout<<"请输入需要查找的题目名称:"<<endl; cin>>c;for(int i=0;i<n;i+) if(strcmp(stui.couname,c)=0) cout<<"你要统计的信息如下:"<<endl;cout<<"姓名:"<<stui.stuname<<endl;cout<<"学号:"<<stui.stuid<<endl;cout<<"性别:"<<stui.sex<<endl;cout<<"年龄:"<<stui.age<<endl;cout<<"班级:"<<stui.clas<<endl;cout<<"专业:"<<stui.specialty<<endl;cout<<"题目编号:"<<stui.couid<<endl;cout<<"题目名称:"<<stui.couname<<endl;cout<<"关键词:"<<stui.keyword<<endl;cout<<"实现技术:"<<stui.technology<<endl; elsecout<<"没有此条记录!"<<endl;void Guanli:display() int n=read(); cout<<endl<<"显示全部学生信息:"<<endl;if(!stu)cout<<"没有记录"<<endl; elsefor(int i=0;i<n;i+) /循环输入 cout<<"学号"<<stui.stuid<<'n'<<"姓名"<<stui.stuname<<'n'<<"性别"<<stui.sex<<'n'<<"年龄"<<stui.age<<'n'<<"班级"<<stui.clas<<'n'<<"专业"<<stui.specialty<<'n'<<"题目编号"<<stui.couid<<'n'<<"题目名称"<<stui.couname<<'n'<<"关键词"<<stui.keyword<<'n'<<"实现技术"<<stui.technology<<'n'<<endl; 3)主函数实现int main()char choice;cout<<"nnt *欢迎使用课程设计选题管理系统*nn" cout<<"t 1.*添加新的记录*n" cout<<"t 2.*查询记录信息*n" cout<<"t 3.*修改学生信息*n" cout<<"t 4.*删除学生信息*n" cout<<"t 5.*统计所有记录*n" cout<<"t 6.*显示所有记录*n" cout<<"t 0.* 退出系统 *n"cout<<"t 请输入您的选择:" cin>>choice; Guanli g;if(choice='0')cout<<"ntt 谢谢您使用本系统!nn"<<endl;exit(0);else if(choice='1') g.add();system("pause");main();else if(choice='2')g.search();system("pause");main();else if(choice='3') g.alter();system("pause");main();else if(choice='4') g.del();system("pause");main();else if(choice='5') g.total();system("pause");main();else if(choice='6') g.display();system("pause");main();elsecout<<"t 输入错误,请重新输入您的选择:" main();return 0;、系统测试)添加功能添加学生信息界面如下图所示:)查询功能查询学生信息的界面如下图所示:根据学生学号进行查询:根据学生姓名进行查询:根据题目编号进行查询:根据题目名称进行查询:)修改功能修改学生的相关信息,界面如下图所示:)删除功能删除指定学生的信息,界面如下图所示:)统计功能根据题目名称统计学生的信息,界面如下图所示:)显示功能显示全部学生的信息,界面如下图所示:)退出系统退出使用系统,界面如下图所示:三、心得体会本课程设计中,我终于成功地实现了一个学生课程设计选题系统的程序,一个一开始看来很难完成的任务。在做这个课程设计之前,我对课程设计都有一种笼统的恐怕与抗拒,但在通过查阅资料,有了大概的纹路,一步步开展我们自己的课程设计时,我们发现看上去的困难并不那么无法攻略,只要有耐心,细致往下做,悉心请教同学与老师,我们能够完成看似无从下手的设计。 在课程设计之前对 C+程序的认识仅停留在看的阶段, 而对编程实现的认识很模糊, 只知道大概的意思, 在课程设计期间才知道离独立编程还有很远的距离。 通过这次课程设计,一点点解决所碰到的问题,我们学到了很多在课堂和书本上学不到的知识。而且,我们对面向对象编程、类、数组,指针等一系列概念也都有了更进一步的认识,也初步意识到所学知识在实际应用中的作用。因为本人水平有限,在做课程设计是参考了很多资料,并在一些书籍中找到了解决问题的方法,在查阅书籍的同时进行学习,经过多次的修改与调试,最后交出了一份自己比较满意的答卷。通过这次课设,让我进一步掌握了C+程序设计语言,更好的理解了面向对象的程序设计思想。我相信这会对以后的学习有帮助作用。在以后的学习中应当继续努力。

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开