面向对象程序设计课程设计_第1页
面向对象程序设计课程设计_第2页
面向对象程序设计课程设计_第3页
面向对象程序设计课程设计_第4页
面向对象程序设计课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

程设计任务书课程名称面向对象程序设计课程设计课程代码设计题目课程设计选题共24个(见附件)设计时间2014年6月16日2014年6月20日院(系)电子信息学院专业计算机科学与技术班级一、课程设计任务1了解并掌握中小型综合应用程序的一般设计方法,具备初步的独立分析和设计能力;2初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;5课题的代码要求达到一定工作量,并具有一定的深度和难度;6根据课题程序的分析和设计过程,撰写课程设计报告。二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)课程设计结束应提交程序源代码、课程设计报告的电子稿和打印稿,以作为整个课程设计评分的书面依据和存档材料。课程设计报告以规定的格式书写、打印并装订,排版及图、表要清楚、工整。课程设计报告的内容如下1封面题目、班级、学号、姓名、指导教师和完成日期。2正文包括以下内容(1)需求分析以无歧义的陈述说明课题的目的及要求,重点描述清楚程序要做什么。(2)概要设计根据程序需要完成的功能分析主程序的流程,并划分出各个功能模块、完成各程序模块之间的层次调用关系设计。(3)详细设计实现概要设计中划分出的各个模块。撰写报告时,对每个模块先用文字(可结合流程图)描述其实现思路,重点描述清楚程序要怎么做,再贴出关键部分的实现代码。(4)测试列出测试结果,包括输入和输出。测试数据应该完整和严格。(5)总结和体会程序编写和调试过程中遇到了哪些问题,是如何解决的,以及对设计与实现过程的回顾和分析;经验和体会等。(6)参考文献列出参考的网址、期刊和书籍等相关资料。(7)考核根据课程的出勤情况、课题的实现及答辩质量、课设报告的严谨和规范性等方面进行考核,注重过程考核和综合能力的测评,以确保教学质量。成绩平时成绩占(含出勤)20课程设计报告成绩占40课程设计作品成绩占40三、课程设计工作进度计划1布置任务与要求052整体设计和详细设计13编代码24调试和测试055设计论文书写056演示软件和答辩05共计5四、主要参考资料1沈学东等C面向对象程序设计实用教程M上海交通大学出版社,20122谭浩强等C程序设计M北京清华大学出版社,2011指导教师(签名)系主任(签名)2014年5月20日年月日附课程设计题目1有理数运算问题描述有理数是一个可以化为一个分数的数,例如2/3,533/920,12/49都是有理数,而就为无理数。在C中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。基本要求定义并实现一个有理数类,通过重载运算符、/对有理数进行算术运算,通过重载运算符实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。测试数据在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。实现提示设有两个有理数A/B和C/D,则有(1)有理数相加分子ADBC;分母BD(2)有理数相减分子ADBC;分母BD(3)有理数相乘分子AC;分母BD(4)有理数相除分子AD;分母BC优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。选做内容重载插入()运算符,使得对有理数可以直接输入输出。设有理数输入格式为整数1整数2/整数1为分子,整数2为分母有理数输出格式为分子/分母2通讯录管理问题描述编写一个简单的通讯录管理程序。通讯录记录有姓名,地址省、市县、街道,电话号码,邮政编码等四项。基本要求程序应提供的基本管理功能有1)添加即增加一个人的记录到通信录中2)显示即在屏幕上显示所有通信录中的人员信息,应能分屏显示。3)存储即将通讯录信息保存在一个文件中。4)装入即将文件中的信息读入程序。5)查询可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。6)修改可修改一个人的除姓名外其它信息。测试数据2程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。实现提示程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类CPERSON来实现,作为链表的值指针指向这些CPERSON类对象,通过链表的遍历可以操作这些数据。选做内容为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。3商品销售统计问题描述编写商品销售统计程序,商品的信息有商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位如重量,件数等,根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。基本要求程序分为两个部分第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如1)表示本次购物结束。此时。程序计算出应付钱款数并显示。测试数据程序应输入不少于10种商品的信息,并进行模拟运行。实现提示本程序的商品信息管理可采用与课程设计题目二类似的数据结构,既定义一个商品类,每种商品作为商品类的实例(对象)存储在链表节点中。选做内容程序在营业结束时统计每种商品的销售量,销售金额及总营业额。因此第二部分应有营业结束的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额。注意,商品类的数据成员应增加有商品的销售量和销售金额。总营业额是所有商品的营业额之和,可用静态数据成员实现。或可由原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。4研究生初试录取问题描述研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。基本要求程序运行时首先要求输入考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。这些原始数据应保存到一个文件中。然后输入录取的总分要求,各课程的最低分数要求。输出要求过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。测试数据程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,并且都有合格和不合格的情况。实现提示可定义一个考生类存放有关信息和实现相应的操作。分数线数据(总分要求和各门课程的要求)可定义另外的类来存放,但应能被考生类及其派生类直接访问。选做内容初试合格的考生应经过复试才能决定是否录取,复试成绩合格(大于给定分值)可以录取,否则被淘汰。而录取的顺序假设是按照专业基础课和复试成绩的平均值来确定的(因为这涉及到是计划内还是委培问题)。因此,应首先输入初试合格考生的复试成绩及复试的合格线分数,然后按上面要求排序输出并标明被淘汰的学生。5足球联赛积分问题描述足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编程序统计最近一轮比赛后,各队积分及排名。基本要求设积分表结构如下队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。测试数据可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。实现提示定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。选做内容篮球联赛(如NBA)往往采用胜率来决定名次,胜率就是取胜的场数比赛场数之比。若胜率相同,再由净胜球及进球数来决定名次,通过继承性完成上述要求。6银行账户管理程序问题描述设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。基本要求程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。测试数据程序应输入不少于10人的账户信息,应考虑到人员同名的情况。实现提示可定义一个账户类存放账户信息以及执行相应的操作,可以用一个链表类来管理账户。选做内容在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。7模拟计算器程序问题描述设计一个程序来模拟一个简单的手持计算器。程序支持算术运算、/、以及C(清除)、A(全清除)操作。基本要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入符号后,窗口显示出结果。测试数据程序输入不少于5种不同的表达式进行测试。实现提示可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。选做内容如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。8设计一个排课程序问题描述每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2,N,其中1位最高的期望值。课程也有优先级,1,2,N,用来决定将课程分给教师的顺序,其中1时最高的优先级。设计一个程序针对某些课程给某些教师进行排课。基本要求程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。测试数据程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。实现提示可定义一个教师类存放教师信息,所有教师的信息可以用链表存储;定义一个课程类存放课程信息,所有课程的信息可以用链表存储;定义一个排课类进行排课,排课类可以访问课程和教师信息。选做内容对两个同类班级安排一学期(20周)的课程,程序应能处理某些限制,如一个老师不能同时给两个班上课。9设计一个DATABASE类问题描述设计一个DATABASE类。DATABASE类是一个表的集合,而表又由行和列组成。例如,下面的雇员信息表包含三个记录,每个记录有四个字段(EMPLOYEE、NAME、DEPARTMENT和BOSS)。雇员姓名部门部门经理111111234CRUZACCWARDER213445649JOHNSTONMISMICHAELS321887895TOMFINBEARSKIN基本要求能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一个或多个表中查找相关信息。测试数据可以选取高校人员(教师、学生、职工等)数据库作为测试数据实现提示DATABASE类的公有接口包含如下数据成员创建一个表。通过增加或删除字段修改表结构。删除一个表。在表中增加一个记录。从表中删除记录。用适当的查询语言从一个或多个表中查找信息。选做内容高校人员信息通常保存在文件里面,可以从文件里面读取人员信息;然后完成上面操作。10电煤气管理系统问题描述设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。基本要求实现对用户信息的录入实现水电煤气数据的录入计算并查询用户应缴费用查询未缴纳费用名单测试数据可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。实现提示用户基本信息类,教工用户信息类,学生用户信息类收费标准类,该类存储水电煤气标准单位的收费标准,如煤气,10元/立方米;不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。在实现的时候考虑继承和多态技术的合理使用。选做内容实现用户查询系统能够找出该用户半年之内的交费记录和本次应交费的数据。11赛事管理系统参赛选手N人(N1),评委M人(M2),评委给每一选手打一个分数SCORE(分数SCORE为小于等于10的一个正实数)。选手的最后得分LASTSCORE计算方法为(1)M运算符输出集合;(5)分别实现集合的交、并、差运算。16实现字符串类MYSTRING设计一个简单的字符串类MYSTRING,它包含设置字符串、返回字符串长度和显示内容等功能。能对字符串进行插入、替换、删除、查找和连接等操作。程序要求(1)对字符串的操作采用下列菜单形式1生成字符串2显示3求字符串长度4字符串插入5字符串替换6字符串删除7字符串查找8字符串的连接0返回(2)调试1生成字符串S”ABCDBCEFGHTH”2求长度LENS123字符串的插入T”XYZ”INSSTRS,3,T”ABXYZCDBCEFGHTH”4字符的替换将字符串S中的所有P”BC”替换为T”LMN”REPLS,P,T”ALMNDLMNEFGHTH”5字符串的查找P”BC”INDEXS,P26字符串的连接将字符串P“12345678”的字符串S连接STRCATS,P”ABCDBCEFGHTH12345678”17线性表操作定义一个线性表类采用类模板,实现下列操作(1)生成线性表。(2)做元素的插入、删除操作。(3)元素的查找。(4)线性表输出。(5)二个多项式合并一个多项式。设计一个选择式菜单,以菜单方式选择上述操作。18考勤管理考勤管理信息记录了学生的缺课情况,它包括缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一个考勤管理系统,使之能提供以下功能(1)录入学生的缺课记录;(2)修改某个学生的缺课记录;(3)查询某个学生的缺课情况;(4)统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;(5)统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;(6)系统以菜单方式工作19学生成绩统计管理主要功能1)输入一个班级的学生的基本信息(包括学好,姓名,性别,5门课程成绩)。2)按姓名或者学号查找、修改、删除和保存各个学生的信息。3)计算每个学生各门功课总分和平均分,按学号或总分排序输出每个学生的基本信息及总分、平均分和名次。4)计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩。5)显示每门科目中,成绩在90分以上的学生信息,以及每门科目中不及格的学生信息。6)设置系统登陆密码,只有正确输入密码方可进入管理系统;可更改和保存登录密码。20用模板类实现中缀表达式转后缀并求值1设计目的(1)掌握栈“后进先出”的特点。(2)掌握栈的典型应用中缀表达式转后缀、并利用后缀表达式求值。(3)掌握串或者数组的相关操作。(4)掌握C模板类和STL的使用。2主要内容(1)中缀表达式转换为后缀。(A)定义一个运算符栈,并输入一个中缀表达式(运算对象存在多位整数,运算符为、/、及括号),然后从中缀表达式中自左至右依次读入各个字符。(B)如果是第一次读入运算对象,则直接输出到后缀表达式;如果不是第一次读入运算对象,并且前一个读入的字符是运算对象,也是直接输出到后缀表达式;如果不是第一次读入运算对象,并且前一个读入的字符是运算符,则先输出逗号作为分隔符,然后再将该运算对象输出到后缀表达式。(C)如果读入的是运算符,并且运算符栈为空,则将该运算符直接进栈;如果栈不为空,则比较该运算符和栈顶运算符的优先级。若该运算符高于栈顶运算符的优先级,则将该运算符直接进栈;若该运算符低于或等于栈顶运算符的优先级,则将栈中高于或等于该运算符优先级的元素依次出栈,然后再将该运算符进栈。每出栈一个运算符时,先输出一个逗号到后缀表达式作为分隔符,然后再将出栈运算符输出到后缀表达式。(D)如果读入的是开括号“(”,则直接进栈;如果读入的是闭括号“)”,则一直出栈并输出到后缀表达式,直到遇到一个开括号“(”为止。开括号“(”和闭括号“)”均不输出到后缀表达式。(E)重复(B)(C)(D)步,直到中缀表达式结束,然后将栈中剩余的所有运算符依次出栈。每出栈一个运算符时,先输出一个逗号到后缀表达式作为分隔符,然后再将出栈运算符输出到后缀表达式。(F)给后缀表达式加上0作为字符串结束标志。(2)后缀表达式求值。(A)定义一个DOUBLE型的运算数栈,将中缀表达式转换得到的后缀表达式字符串自左向右依次读入。(B)如果读入的是运算对象,则将该运算对象串(下一个逗号分隔符前的部分所构成的数字字符串)转换为对应的多位整数值,然后将该整数值(将自动类型转换为DOUBLE型)直接进入运算数栈。(C)如果读入的是运算符,则立即从运算数栈中弹出两个运算数,计算两个运算数运算后的值(运算时先出栈的元素放在运算符后面,后出栈的元素放在运算符前面),并将计算结果存回运算数栈。(D)重复(B)(C)步,直到后缀表达式结束,最后栈中保存的那个数即为该后缀表达式的计算结果。(E)和手工计算的结果进行比较,检验程序运行结果的正确性。假设输入中缀表达式为715/42/815/321转换后的后缀表达式为,后缀表达式求得的值为523设计要求(1)运算对象存在多位整数。(2)遇到除数为0的情况,应能给出相应提示,并提醒重新输入中缀表达式。(3)运算符左右遇到非整数时,应能自动对其进行取整;运算符左右遇到负数时,应能给出相应提示,并提醒重新输入中缀表达式。(4)如果一个班级中有两个同学同时选中该课题,则要求学号在前的同学用模板类的方式自定义栈;学号在后面的同学要求使用STL中提供的栈来实现。21马的遍历及其复杂性分析1设计目的(1)掌握栈的本质,灵活使用栈解决实际问题。(2)掌握求解问题时使用的回溯策略。(3)比较一般回溯方法和贪心算法的异同点,并尝试分析其时间和空间代价。2主要内容编写程序实现马对棋盘方格的遍历。一个棋盘有八行八列共64个方格,输入马的起始方格位置,从起始方格出发,一个马的移动必须跨越两行一列或是两列一行。设起始方格的次序为1,马跳过的下一个方格的次序是上一个方格的次序加1。马必须经过每个方格且仅经过一次,并且马的移动不能超越棋盘边界,求出马经过这64个方格的次序。例如,图1225显示了坐标(5,3)位置上马的所有合法移动位置(即K0K7)。图1225位置K上马的八个合法移动位置简化问题表述则为从坐标(ROW,COLUMN)出发,依次尝试(ROW2,COLUMN1)、(ROW1,COLUMN2)、(ROW1,COLUMN2)、(ROW2,COLUMN1)、(ROW2,COLUMN1)、(ROW1,COLUMN2)、(ROW1,COLUMN2)、(ROW2,COLUMN1)这八个方向。先将整个棋盘(实质就是一个二维数组)的所有方格初始化为1。回溯法解决马遍历棋盘的步骤(1)从起始位置开始,可将马的每次跳动抽象为一个栈结点,当马跳到下一个方格时就将起跳方格的信息压栈,并在棋盘中标记好马经过该起跳方格的次序。(2)当马跳到某个方格发现无处可跳时,就出栈一个结点(相当于跳回到上一步,即回溯),并将该方格的次序恢复为初始值1,然后尝试出栈结点对应方格的下一个跳跃方向。提示某个方格无处可跳意味着该方格的八个方向要么是已经尝试过的“死路”,要么就是超出棋盘边界的,此时只能通过出栈方式回跳到上一个方格,从而进一步尝试上一个方格的其它方向是否存在遍历通路。(3)当某个方格次序为64时,代表所有方格都遍历完。(4)输出所有方格中的次序。栈结点的结构可以设置如图1226图1226栈的结点结构其中ROWNO保存起跳方格的行号,COLNO保存起跳方格的列号,DIRECTION保存起跳方格的方向(INT型,取值为07,对应K0K7这八个方向)。通过当前方格位置及方向即可计算出下一个方格的行号和列号,便可进一步判断该方格是否越界或者马是否已经过该方格了。注意对于用回溯法编出的程序,只能输入(0,0)等少数坐标进行测试,如果输入其它坐标作为马的起始位置,因为回溯次数太多,可能程序运行很久也得不到运行结果。假设输出马的起始位置为(0,0),则马遍历整个棋盘方格的次序如1227所示。图1227初始位置为(0,0)的遍历次序图1228初始位置为(5,3)的遍历次序若用贪心算法实现该程序,假设马的起始位置为(5,3),则马遍历整个棋盘方格的次序如图1228所示。3设计要求(1)用回溯法编程,输入马的初始坐标为(0,0),输出马对整个棋盘的遍历次序。(2)输入马的初始坐标为其它方格坐标值,观察程序的运行时间并分析之。(3)查阅参考资料,了解贪心算法策略,并改用贪心算法实现该程序,输入马的初始坐标为棋盘64个坐标中的任意坐标,检验程序的运行结果,观察程序的运行时间。(4)分析一般回溯方法和贪心算法解决该问题的特点及其时间复杂度。(5)如果一个班级中有两个同学同时选中该课题,则要求学号在前的同学用模板类的方式自定义栈;学号在后面的同学要求使用STL中提供的栈来实现。22WIN32连连看游戏程序设计1设计目的(1)掌握WIN32程序的实现方法。(2)参照视频提高自学能力。(3)熟悉C开发实际项目的过程和方法。2课题要求用VC60实现一个连连看游戏程序。23WIN32扫雷游戏程序设计1设计目的(1)掌握WIN32程序的实现方法。(2)参照视频提高自学能力。(3)熟悉C开发实际项目的过程和方法。2课题要求用VC60实现一个类似于WINDOWS附件中自带的扫雷游戏程序。24WIN32计算器程序设计1设计目的(1)掌握WIN32程序的实现方法。(2)参照视频提高自学能力。(3)熟悉C开发实际项目的过程和方法。2课题要求用VC60实现一个类似于WINDOWS附件中自带的计算器程序。INCLUDEDEFINESIZE20INCLUDE“STDIOH“INCLUDE“STDLIBH“INCLUDE“STRINGH“TEMPLATECLASSSEQLISTTYPEELEMENT/顺序表的存储数组INTMAXSIZE/表的最大允许长度INTLAST/表中最后元素下标INTCURRENT/游标迭代子,指示表中当前元素最近处理的元素的位置,初始化为1PUBLICSEQLISTINTMAXSIZESIZE/构造函数SEQLISTDELETEELEMENT/析构函数INTLENGTHCONSTRETURNLAST1/计算顺序表的长度(元素个数)INTINSERTTYPE/插入X在表的第I个位置处,并置为当前位置INTISINTYPE/判断X是否在表中INTDELETETYPE/删除表中第一个值为X的元素,返回该元素的位置INTFINDTYPE/查找,返回表中第一个与X相等的元素的位置TYPEGETELEMINTICURRENTIRETURNILASTNULLELEMENTI/取第I个元素的值TYPEL

温馨提示

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

评论

0/150

提交评论