欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    教材管理系统 - 报告.doc

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

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

    教材管理系统 - 报告.doc

    合肥学院计算机科学与技术系 课程设计任务书20102011学年第二学期课程C+课程设计课程设计名称教材管理系统学生姓名丁鹏勇学号专业班级10计科系网络工程(2)班指导教师何立新、陈艳平 20 11 年 6月一、 课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程C+程序设计语言的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。(6)熟练掌握C+语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。二、 课程设计名称及内容课程设计名称:教材管理系统设计内容:编写一个简单的教材管理程序,帮助管理教材信息。要求具有教材信息管理的功能。其中包括教材信息的录入、删除、查询和修改等功能。还应包括对课程信息管理的功能。其中包括对课程信息的录入、删除、修改和查询等功能。三、 任务和要求运用面向对象的程序设计方法,要求选择动态数组类模板或链表类模板,任务中要运用I/O流对象对文件进行读写操作。本题程序应提供的基本管理功能有:1) 添加:即增加一条信息到教材信息中,或增加一条信息到课程信息中;2) 显示:即在屏幕上显示所有教材或课程信息;3) 存储:即将教材信息和课程信息分别保存在文件中;4) 装入:即将文件中的信息读入程序;5) 查询:可根据教材名称或编号查找相关信息,若找到,显示在屏幕上;也可根据课程编号或名称查找相关信息并显示; 6) 修改:可修改教材信息,或对课程信息进行修改。7) 程序应输入不少于5个课程信息。并录入不少于5个教材信息。四、 设计方案提示l 创建教材信息类,每条教材信息都用该类来实现,包含教材编号,教材名称,出版社,刊号,征定学期,课程编号等。用动态数组来存储教材信息。将这些类对象存储在数组元素中。通过对数组的操作来处理每个类对象。l 创建课程信息类,每条课程信息都用该类来实现,包含课程编号,课程名称,开课学期,主讲教师等。用动态数组来存储课程信息。将这些类对象存储在数组元素中。通过对数组的操作来处理每个类对象。五、 主要知识点 l 面向对象程序设计方法l 界面制作,switch的应用。l 类和对象。l 动态数组(链表)类模板。l 文件的读写。l 程序设计可在Microsoft VC+6.0、Borland C+ Builder环境下进行六、 需求分析信息的飞速发展,使得大家(特别是老师)手头的资料越来越。添加、遗失、查找、修改等等,非常不方便。所以为了帮助老师管理教材信息,以及工作的高效进行。建立一个简单的教材管理系统,开发出一款比较易用且方便的软件是非常必要的。教材管理系统已实现以下主要功能:因为系统为老师设计,所以包括了课程管理的功能。教材管理部分:教材信息的录入(包括:教材的编号、教材名称、教材出版社、教材刊号、教材征订学期、课程编号等。)、教材信息的删除、教材信息的查询(通过教材名称和编号查询和删除)、以及教材信息的修改等功能。还包括对课程信息管理的功能。其中包括对课程信息的录入、删除、修改和查询等功能。大致与教材管理相同。七、 算法设计由以上需求设计两个类,一个是teaching_meterial类,另一个是course类。分别来定义教材及课程的属性及方法。当然因为教材不止一个,为了更方便的管理,还创建了一个数组类模板。用动态数组来储存教材及课程信息。1、 程序结构(UML图)2、 主要算法思想设计teaching_meterial类及course类,运用面向对象的设计对象的设计思想,实现对类的封装及成员的保护。运用数组类方便的存储多个教材和课程的信息。通过指针灵活的进行各函数间的地址传递及调用。运用文件保存信息,分别用teaching_meterial.txt保存教材的信息,用course.txt保存课程的信息。3、 属性和方法的定义类名成员类型类型类型名功能描述teachingmeterial属性stringmeteial_num教材编号stringISSN_num刊号stringthe_fixed_term征订学期stringcourse_num课程编号stringmeterial_name教材名称stringbook_concern_name出版社名称方法stringget_meterial_num()返回教材编号stringget_ISSN_num()返回刊号stringget_the_fixed_term()返回征订学期stringget_course_num()返回教材编号stringget_meterial_name()返回教材名字stringget_book_concern_name()返回出版社名字voidset_book_concern_name(string tmp_book_concern_name)修改出版社名字voidset_meterial_num(string tmp_meterial_num)修改教材编号voidset_ISSN_num(string tmp_ISSN_num)修改刊号voidset_course_num(string tmp_course_num)修改课程编号voidset_meterial_name(string tmp_meterial_name)修改教材编号voidset_the_fixed_term(string tmp_the_fixed_term)修改征订学期istreamOperator >> (istream & in ,teaching_meterial & p)对>>重载,对教材信息的录入ostreamoperator << (ostream & out ,const teaching_meterial & p)对<<重载,对教材信息的输出类名成员类型类型类型名功能描述course属性stringcourse_number课程编号stringcourse_name课程名称stringschool_begin_term开课学期stringspeaker_teacther主讲教师方法stringget_course_number()返回课程编号stringget_course_name()返回课程名称stringget_school_begin_term()返回开课学期stringget_speaker_teacther()返回主讲教师voidset_course_number(string tmp_course_number)修改课程编号voidset_course_name(string tmp_course_name)修改课程名字voidset_school_begin_term(string tmp_school_begin_term)修改开课学期voidset_speaker_teacther(string tmp_speaker_teacther)修改主讲教师istreamistream & operator >> (istream & in ,course & p)重载>>对课程信息的录入ostreamostream & operator << (ostream & out ,const course & p)重载<<对课程信息的输出类名成员类型类型类型名功能描述ArrayTemplate(class T)类模板属性T *listT类型指针intsiae数组大小方法Array(int sz=50)构造函数Array(const Array<T> &a)复制函数Array()析构函数Array<T>&operator=(const Array<T>&rhs)重载=T &operator (int i)重载,增加普通数组功能const T &operator (int i) const""运算符针对const的重载operator T *()重载到T *类型的转换constoperator const T *()到T*类型转换操作符针对const的重载constgetSize() const取数组的大小voidresize (int sz)修改数组的大小4、 实现注释本系统实现了任务中提出的各项实现要求,其中包括教材信息的录入、删除、查询和修改等功能。还包括对课程信息的录入、删除、修改和查询等功能。在完成基本的要求的基础上,还实现了以下功能:可有用户自己输入想输入的信息个数。每进入另一个功能后的清屏功能。进入下一个菜单后的返回和退出功能等。5、 详细算法设计表示:首先进入调试的执行程序首先对教材信息还是对课程信息的管理的选择。for(int i=0; ; ) cout<<endl<<endl<<"t请输入您的选择:"cin>>a;switch (a)case '1': /进入教材管理系统case '2': /进入课程管理系统case '3': /退出break;default: /这种情况不会发生if(a='3')break;void menu:menu_1() cout << endl << endl << endl << "= 教材管理系统 =" << endl << endl << endl;cout << " tt 1、对教材信息的管理t" << endl << endl;cout << " tt 2、对课程信息的管理t" << endl << endl;cout << " tt 3、退出" << endl << endl << "-" << endl << endl;若选“1”:则进入void menu:menu_2() cout << endl << endl << endl << "= 欢迎使用教材管理系统 =" << endl << endl << endl;cout << " t a、教材信息的录入t" << "t b、教材信息的删除" << endl << endl;cout << " t c、教材信息的查询t" << "t d、教材信息的修改" << endl << endl;cout << " t e、返回" << endl << endl << "-" << endl << endl;若选“2”:则进入因两个管理系统功能类似,故选课程管理系统举例详细介绍:a、课程信息的录入:case '2': /进入课程管理系统system("cls");menu_3(); cout<<"t请输入您的选择:"cin>>c;switch(c)case 'a':case 'A':/课程信息的录入cout <<endl<< "t请问你要输入几个课程的信息?"<<"t"cin >> num_2;for(i=0;i<num_2;i+)cout <<endl<< "t请输入第"<<i+1<<"个课程信息!"<<endl<<endl;cin>>t_ci;cout << endl;cout <<endl<< "t录入完成!"<<endl;system("pause"); /暂停break;b、课程信息的删除case 'b':case 'B':/课程信息的删除cout <<endl<< "t请输入您想要删除的课程名称或课程编号:t"string course_temp;cin>>course_temp;for(i=0;i<10;i+)if(course_temp=t_ci.get_course_number() | (course_temp=t_ci.get_course_name()cout<<t_ci;cout <<endl<< "已成功删除以上信息!"dot_ci=t_ci+1;i+;while(i<10);system("pause");elsecout<<endl<<"t没有找到你书写的课程信息!"system("pause");break;c、课程信息的查询case 'c':case 'C':/课程信息的查询for(i=0;i<10;i+)cout<<t_ci;system("pause");break;在课程信息查询这里有一个不好的地方就是:屏幕上一下子显现出好多信息,无法用截屏工具把它完全截下来。它也只是将txt文档中的信息直接打印在屏幕上。所以在这里就不显示了。d、课程信息的删除case 'd':case 'D':/课程信息的修改cout << "t请输入课程名称或课程编号查找:"string kecheng;cin >> kecheng;for (i=0;i<10;i+)if (kecheng=t_ci.get_course_number() | (kecheng=t_ci.get_course_name()cout <<"t您要修改的是:"<< endl <<t_ci;menu_5();cout << "t"cin >> n;switch (n)case 'a':case 'A':/对课程编号的修改cout << "t请输入你要修改的课程编号:"string kecheng_num;cin >> kecheng_num;t_ci.set_course_number(kecheng_num);cout << "t修改成功!"<< endl;system("pause");break;case 'b':case 'B':/对课程名称的修改cout << "t请输入你要修改的课程名称:" ;string kecheng_name;cin >> kecheng_name;t_ci.set_course_name(kecheng_name);cout << "t修改成功!"<< endl;system("pause");break;case 'c':case 'C':/对开课学期的修改cout << "t请输入你要修改的开课学期:"string kecheng_term;cin >> kecheng_term;t_ci.set_school_begin_term(kecheng_term);cout << "t修改成功!"<< endl;system("pause");break;case 'd':case 'D':/对主讲教师的修改cout << "t请输入你要修改的主讲教师:"string kecheng_teacher;cin >> kecheng_teacher;t_ci.set_speaker_teacther(kecheng_teacher);cout << "t修改成功!"<< endl;system("pause");break;case 'e':case 'E':/返回break;default:cout << " t输入有误!"system("pause");continue;elsecout << "t您的输入有误!没有找到!"<<endl;system("pause");break;接着弹出要修改信息的页面void menu:menu_5()cout << endl << endl << endl<< "= 请选择你要修改的项目 =" << endl << endl << endl;cout << " t a、对课程编号的修改t" << "t b、对课程名称的修改" << endl << endl;cout << " t c、对开课学期的修改t" << "t d、对主讲教师的修改" << endl << endl;cout << " t e、返回" << endl << endl << "-" << endl << endl;以上是部分代表性函数及其功能的实现。另外还有安全退出系统界面,以及对教材的一些编辑管理的界面等功能没有一一写明。6、 用户使用说明书1、 教材管理系统1、 教材信息的输入2、 教材信息的修改3、 教材信息的删除4、 教材信息的增加5、 教材信息的查看6、 管理完毕,安全退出2、 课程管理系统1、 课程信息的输入2、 课程个数的输入3、 课程信息的修改4、 课程信息的删除5、 课程信息的查看6、 课程信息的增加7、 安全退出7、 调试与测试1、 在测试过程中进行数据输入时,首先会提示要输入多少个信息最多只能输入十个。因为刚开始只申请了十个。如果申请多了,查询时会弹出太多空的信息。改成动态申请就很好的解决了。2、 在修改、删除中都要用到遍历与修改开始用的算法如果不能找到用户不正确显示错误信息而是出现系统错误,经过改动成用算法问题得到解决。3、 在完成设计初步时只能通过信息名称来查找,在经过改动之后可以同时通过名称和编号查找。只要输入名称或编号。都能找到所需信息。使程序更加实用。4、 在测试过程中,有些信息一闪而过,经过查询得知停止操作函数 system(“pause”)。得以执行暂停操作。5、 由于步骤较多,不采取清屏操作,使操作显得较为冗杂,经过查询得知清屏操作函数system(“cls”),得以执行清屏操作。8、 小结本系统虽说实现了较全的功能但是也存在着一些不足,比如利用文件的读取与写入数据不易过多,各子模块的返回功能,另外本系统没有考虑安全问题,存在着安全隐患,在本系统中存在许多细节上的不足,比如在输入信息时不能输入空格,因为我是定义的是字符型。不能跳跃修改已经在文本文档中的信息,在运行时才能安全运行等。以上问题在我用c#编的windows窗口程序中有的已经解决。在本系统中,是我加深了对面向对象思想的理解,使自己更好的掌握了c+编程语言及vc6.0开发工具的使用技巧,并提高了自己对数组类的深刻认识及对编程本身的深刻认识,提高了自己用所学知识解决实际问题的能力八、 参考资料1 郑莉 等编著C+语言程序设计(第三版)北京:清华大学出版社2 郑莉 等编著C+语言程序设计(第三版)学生用书北京: 清华大学出版社3 刘振安 等编著C+程序设计课程设计 机械工业出版社4 吴乃陵 等编著C+程序设计北京:高等教育出版社5 李春葆 等编著C+程序设计学习与上机实验指导 北京:清华大学出版社6 范辉 等编著Visual C+6.0程序设计简明教程 高等教育出版社【7 李龙澍C+程序设计实训教程北京:清华大学出版社 8 洪国胜 等编著 C+ Builder程序设计轻松上手北京:清华大学出版社9 宁正元数据结构(c语言) 南京:东南大学出版社。2000年6月第1版10 严蔚敏等 数据结构(c语言版) 北京:清华大学出版社,1997年4月第1版。11 胡学钢等数据结构算法设计指导北京:清华大学出版社,1999年 第1版。12 刘大有数据结构(面向21世纪课程教材) 北京:高等教育出版社。2001年6月第1版。13 明日科技 编著Visual C+程序开发范例宝典北京:人民邮电出版社14 游洪跃等编著C+面向对象程序设计实验和课程设计教程北京:清华大学出版社.2009.2附录:/菜单头文件#include <iostream>#include <string>#ifndef menu#define menuvoid menu_1();void menu_2();void menu_3();void menu_4();void menu_5();#endif menu/菜单的实现#include "menu.h"#include <iostream>#include <string>using namespace std;void menu:menu_1() cout << endl << endl << endl << "= 教材管理系统 =" << endl << endl << endl;cout << " tt 1、对教材信息的管理t" << endl << endl;cout << " tt 2、对课程信息的管理t" << endl << endl;cout << " tt 3、退出" << endl << endl << "-" << endl << endl;void menu:menu_2() cout << endl << endl << endl << "= 欢迎使用教材管理系统 =" << endl << endl << endl;cout << " t a、教材信息的录入t" << "t b、教材信息的删除" << endl << endl;cout << " t c、教材信息的查询t" << "t d、教材信息的修改" << endl << endl;cout << " t e、返回" << endl << endl << "-" << endl << endl;void menu:menu_3() cout << endl << endl << endl << "= 欢迎使用课程管理系统 =" << endl << endl << endl;cout << " t a、课程信息的录入t" << "t b、课程信息的删除" << endl << endl;cout << " t c、课程信息的查询t" << "t d、课程信息的修改" << endl << endl;cout << " t e、返回" << endl << endl << "-" << endl << endl;void menu:menu_4()cout << endl << endl << endl<< "= 请选择你要修改的项目 =" << endl << endl << endl;cout << " t a、对教材编号的修改t" << "t b、对教材刊号的修改" << endl << endl;cout << " t c、对征订学期的修改t" << "t d、对课程编号的修改" << endl << endl;cout << " t e、对教材名称的修改t" << "t f、对出版社名称的修改"<<endl << endl;cout << " t g、返回" << endl << endl << "-" << endl << endl;void menu:menu_5()cout << endl << endl << endl<< "= 请选择你要修改的项目 =

    注意事项

    本文(教材管理系统 - 报告.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开