1、(3)显示功能:可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。(5)删除功能:主要实现对已添加的学生和课程设计题目记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。(6)统计功能:能根据多种参数进行统计。能按课程设计题目名称统计出学生选择该题目的人员的信息。(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。工作内容及时间进度安排16月4日10日:布置任务,软件设计;26月11日18日:编
2、写代码,上机调试;36月19、20、21日:软件验收,撰写课程设计报告;4各班在6月22日下午五点前将课程设计报告收齐并上交。课程设计成果1课程设计报告2源程序代码摘 要在当前的各大高校课程设计选题管理系统中,为了方便管理、查询、修改与统计相关信息,一般都会将学生、课程设计题目等信息进行编号存储,所以就必须拥有一套完善的并且适合自身特点的信息化管理系统,以实现对冗杂的课程设计题目信息与学生信息的管理目的,还可以提高效率,方便同学们选题。本文利用Microsoft的Visual C+ 6.0(类和函数,数组,对象等)编写程序,实现了用户对课程设计选题的管理操作。本系统主要有八个功能模块:包括添加
3、、查询、显示、修改、删除、统计、保存、读取等功能。已经过全面的系统测试,能够很好的运行,达到了预期设计预想。关键词:系统设计 类 函数 数组 文件操作 目录摘 要1第一章 绪论111 课程设计的目的112 课程设计的背景和意义1121 课程设计的背景1122 课程设计的意义113 课程设计环境1第二章 需求分析221 问题描述222 功能要求223 问题的解决方案2第三章 系统设计331 数据设计3311 类设计3312 函数设计332 结构设计3321 系统流程图3322 界面设计4第四章 系统实现541 类实现542 函数实现543 主函数实现14第五章 系统测试1651 模块测试1652
4、 课程设计过程中遇到的问题22总 结22致 谢22参考文献23附 录2435第一章 绪论11 课程设计的目的(1)要求学生能够熟练掌握C+语言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。12 课程设计的背景和意义121 课程设计的背景1. 理论研究基础(1)运用面向对象(类和对象)的机制来实现系统功能。(2)建立清晰的类与函数之间的关系,学会对函数调用的熟练使用。2. 技术层面的支持Microsoft Visual C+6.0Microsoft Visual studio2010122 课程设计的意义通过
5、此次课程设计,清晰的掌握C+语言的基本知识并能熟练的应用进行编程。13 课程设计环境软件:WindowsXP、windows7系统, Microsoft Visual Studio 2010, Microsoft Visual C+ 6.0编译器。硬件:戴尔 双核处理器,2G内存,512独立显卡,80G硬盘。 宏基 双核处理器,2G内存,1G独立显卡,500G硬盘。第二章 需求分析21 问题描述22 功能要求可将保存在文件中的信息读入到当前系统中,供用户进行使用23 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(
6、2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。第三章 系统设计31 数据设计311 类设计定义一个学生类Student,类中包括学号stuid,姓名stuname,性别sex,年龄age,班级clas,专业specialty,及所选课程的课程编号couid,课程名称couname,关键词keyword,实现技术technology;定义一个管理类Guanli,其成员函数包括向文件输入函数void write(int n);从文件读
7、取函数,int read();添加学生信息函数void add(),查询信息函数void search (),按学号查询函数void searchsid(),按姓名查询函数void searchsname(),按题目编号查询函数void searchcid(),按题目名称查询函数void searchcname();修改信息函数void alter() ;删除信息函数void del();统计信息函数void total();显示函数void display()以及一个数据成员Student stu50。312 函数设计void write(int n),向文件中写入数据,打开文本文档,并将数
8、据输入到文本文档中;int read(),向文件中写入数据从文件中读数据,打开文本文档,并将文本文档中的数据输出;void add(S),添加学生信息;void search()查询信息(可根据学生的学号、姓名、所选课程编号、课程名称进行信息查询);void alter(),修改学生信息;void del()删除学生信息,根据输入的学生学号通过调用函数实现;void total(),统计学生信息(根据学生所选课程名称进行统计);void display(),显示函数用来显示所有学生信息;int main()主函数,显示主菜单,调用各个函数实现所有功能。 32 结构设计321 系统流程图课程设计
9、学生选课系统设计结构图:进入功能界面后,可以进行多项功能选择,如添加、查询、显示、修改、删除、统计,将数据写入文件以及从文件读取数据等;而查询功能又可以分为按学号、姓名、题目编号、题目名称等方式进行查询。如图3-1示。主菜单退出系统显示所有记录统计所有记录删除学生信息修改学生信息 查询记录信息添加新的记录按学号查询按姓名查询按编号查询按名称查询图3-1课程设计学生选课系统设计结构图322 界面设计主界面是“欢迎使用课程设计选课系统”,下面是所要使用的功能:1.添加新的纪录2.查询记录信息3.修改学生信息4.删除学生信息5.统计所有记录6.显示所有记录0.退出系统其中,查询记录又可以弹出一个界面
10、分别有以下几个功能:(1).根据学号查询(2).根据姓名查询(3).根据编号查询(4).根据题目名称查询每实现一个功能,重新弹出主界面,进行下一个的功能选择。第四章 系统实现41 类实现class Studentpublic: int stuid; /学号 char stuname10; /姓名 char sex2; /性别int age; /年龄char clas10; /班级char specialty10; /专业 int couid; /题目编号 char couname10; /题目名称char keyword20; /关键词char technology30; /实现技术stu50
11、; /定义对象class Guanliprivate:Student stu50;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
12、 read(); /从文件中读数据;42 函数实现void Guanli:write(int n) fstream myfile;myfile.open(student.txt,ios:out|ios:binary);if(!myfile)cout该文件不能打开!endl;abort();int count=n;myfilecountendlfor(int i=0;i=count;i+)myfilestui.stuid stui.stunamestui.sexstui.agestui.classtui.specialtystui.couidstui.counamestui.keywordstu
13、i.technologycount;myfilestui.stuidstui.stunamestui.sexstui.agestui.classtui.specialtystui.couidstui.counamestui.keywordstui.technology;return count;add()int n=read();int i=0;char sign;coutstui.stuid; cout endl;int c=0;while(ci)c+;if(stui.stuid=stui-c.stuid)cout你输入的学号已经存在!请重新输入goto loop;姓名:stui.stuna
14、me; coutstui.sex;年龄:stui.age;班级:stui.clas;专业:stui.specialty;题目编号:stui.couid;题目名称:stui.couname;关键词:stui.keyword;实现技术:提示:是否继续写入学生信息?(Y/N)sign; /输入判断 i+;write(i);search()* (1)根据学号查询 * (2)根据姓名查询 * (3)根据编号查询 * (4)根据名称查询 * int c;Guanli g;请输入选择:c; switch(c)case 1: g.searchsid(); break; case 2: g.searchsnam
15、e(); case 3: g.searchcid(); break; case 4: g.searchcname(); break;default:输入错误,请重新输入!g.write(n);searchsid() int n=read();int s;查找学生信息:请输入需要查找学生的学号:s;while(stui.stuid-s)!=0&n) i+; /查找判断 if(i=n) 对不起,无法找到该学生的信息! else* coutstui. stunameendl ;stui. agestui. specialtysearchsname() char a10;请输入需要查找学生的姓名:a; for(int i=0;n;i+) if(strcmp(stui.stuname,a)=0) searchcid()int n=read();int b;请输入需要查找的题目编号:b;while(stui.couid-b)! /查找判断对不起,无法找到该信息!stui.counam
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2