《C++程序设计》课程设计--基于记录的应用程序设计.docx
《《C++程序设计》课程设计--基于记录的应用程序设计.docx》由会员分享,可在线阅读,更多相关《《C++程序设计》课程设计--基于记录的应用程序设计.docx(14页珍藏版)》请在优知文库上搜索。
1、课程设计报告书C+程序设计课程设计学院数学学院专业数学与应用数学(统计方向)基于记录的应用程序设计一、选题背景本课题应解决的主要问题:编写一个应用程序实现程序化教学应达到的技术要求:该程序可以完成以下功能:向学生提问题;从学生处获得答案;根据学生的答案继续选择下一个问题。本设计的指导思想:在程序中表示教学课程所需的信息;在设计阶段,设计一个合适的数据结构;将数据文件使用的外部表示转换为程序内部表示;编写程序对内部数据库进行操作。二、方案论证(概要设计)设计原理(理念):在老师所给的参考数据结构设计及函数原型设计的基础上,略加修饰,填充函数原型的内部结构,使得函数具备所需要的功能,最终能使程序实
2、现程序化教学。例如:voidReadQuestionText(ifstrearn&infile,question?*q)这个函数将问题的文本读入问题数据结构,这必须由调用才可分配。这个问题文本结束的标志是EndMarker,即“”的标记。voidReadAnswers(ifstreaminfile,question1*q)这个函数将问题答案的文本读入答案数据结构。voidAskQuestion(intnum)这个函数用于提出问题。voidWriteQuestionText(question1*q)这个函数根据问题序号显示问题题目内容。voidFindWriteAnswer(stringans,
3、question?*q)这个函数用于查找与输入答案匹配的内容。三、过程论述(详细设计)1 .数据结构设计*类型名:answerT,这个结构提供空间给每个问题可能的答案structanswer?stringans;intnextq;;定义answer1为结构体类型,其中包括一个字符串变量ans和一个整型变量nextq,而ans用于储存一个问题的一个答案,nextq用于储存下一个问题的题号。ans的储存示意图nextq的储存示意图*类型名:questions这个结构提供空间给问题和相应的答案structquestion!stringqtextMaxLinesPerQuestion+1;answer
4、!answersMaxAnswersPerQuestion;intnAnswers;intlinenumber;定义questionT为结构体类型,其中包括字符串数组qtext、属于answerT类型的数组answers、整形变量IIAnSwerS和IinenUmber,而qtext用于储存一个问题的文本,answers用于储存一个问题的每一个答案,nAnswers用于储存一个问题相应答案的个数,IirlenUnlber用于储存每个问题所占行数的行号。qtext L n的储存示思图answers m的储存示意图结共构3共m个类型为T类型的answerT的结构体nAnswers的储存示意图1.i
5、nenumber的储存示意图*类型名:CoUrSeDB,这个结构提供空间给文件主题和问题structCourseDBstringtitle;question?questionsMaxQuestions+1;);定义courseDB为结构体类型,其中包括字符串变量title和属于question1类型的数组questons,而title用于储存题目文本,questions用于储存问题和相应的答案。courseDB的储存示意图questionsN的储存示意图有MaxAnswersPerQuestiOn个类型为answerT的结构体有N个类型为queB.onT的结构体2.外部数据文件的格式说明c+程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 C+ 程序设计 课程设计 基于 记录 应用