C课程设计题目_第1页
C课程设计题目_第2页
C课程设计题目_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、作者:Pan Hon glia ng仅供个人学习基本题目(每人都做)实验目的1 掌握类的定义和使用。2 掌握类的定义和对象的声明。3复习具有不同访问属性的成员的访问方式。4 观察构造函数和析构函数的执行过程。5学习类的聚集使用方法。6 使用VC+的Debug调试功能观察程序流程,跟踪观察类的构造函数,析构 函数、成员函数的执行顺序。7.使用VC+的debug调试:单步执行、设置断点、观察变量值。1. 实验任务1 .定义一个CPU类,包含等级(rank)、频率(frequency),电压(voltage)等属性, 有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义

2、 为 enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7 frequency 为单位是 MHz 的 整型数,voltage为浮点型的电压值。观察构造函数和构构函数的调用顺序。2. 定义一个简单的Computer类,有数据成员芯片(cpu),内存(ram)、光驱(cdrom) 等等,有两个公有成员函数 run、stop。cpu为CPU类的一个对象,ram为 RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。3. (选做)设计一个用于人事管理的 People人员)类。考虑到通用性,这里只抽 象出所有类型人员都具有的属性;number(编号)、sex(性别

3、)、birthday(出生 日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子 对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、聚集。2. 实验步骤1 .首先定义枚举类型 CPU_Rank,例女口 enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7,再定义 CPU 类,包含等级(rank)、频率(frequency), 电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息, 在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造

4、与析构顺序,以及成员函数的调用。程序名:Iab4_1.cppo2. 使用debug调试功能观察程序Iab3_1.cpp的运行流程,跟踪观察类的构造函 数、析构函数、成员函数的执行顺序。参考程序如下:lab3_1.cpp#i nclude <iostream.h>enum CPU_Ra nk P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CPU_Ra nk rank;int freque ntcy;float voltage;public:CPU (CPU_Ra nk r, int f, float v)ran k=r;freque ntcy=f;

5、voltage=v; cout<< 构造了一个 CPU” <<endl;CPU( ) cout« 析构了一个 CPU” <<endl; CPU_Ra nk GetRa nk ( ) const return ran k; int GetFreque ncy ( ) const retur n freque ntcy; float GetVoltage ( ) const return voltvage; void SetRa nk (CPU_Ra nk r) ran k=r; void SetFreque ncy (int f ) freque n

6、tcy=f; void SetVoltage (float v ) voltage=v void Run ( ) cout <<”开始运行! ” <<endl;void Stop ( ) cout <<停止运行! ” <<endl;void mai n ()CPU a (P6,300,2.8);a. Run ();a. Stop ();3. 调试操作步骤如下:(1) 单击Build | Start Debug | Step Into命令,或按下快捷键 F11,系统进入单 步执行状态,程序开始运行,一个 DOS窗口出现,此时Visual Studi

7、o中 光标停在main ()函数的入口处;(2) 从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序 准备执行CPU对象的初始化;(3) 单击Step In to,程序准备执行CPU类的构造函数;(4) 连续单击Step Over,观察构造函数的执行情况,直到执行完构造函数, 程序回到主函数;(5) 此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run () 成员函数,连续单击Step Over,直到回到main ()函数;(6) 继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造 函数、析构函数、成员函数的执行顺序的认

8、识;(7) 再试试Debug菜单栏中别的菜单项,熟悉 Debug的各种方法。4. 首先定义CPU类(可使用第2题中的CPU类)、RAM类、CDROM类。再 定义Computer类;定义私有数据成员cpu、ram、cdrom,定义公在成员函数 run> stop,可在其中输出提示信息。在主程序中定义 一个Computer的对象, 调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用。程序名:Iab3_2.cppo5. 使用debug调试功能观察lab3_2.cpp程序的运行流程,跟踪观察类的构造函 数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构 顺

9、序。6. 使用debug调试功能观察lab3_2.cpp程序的运行中数据成员的值。3. 思考题(1) 不同访问属性的成员访问方式。说明构造函数和析构函数的调用顺序。从下列题目中每人选1题。供选择的C+语言程序课程设计题目题目1:年历显示。功能要求:(1) 输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在 1940-2040 年之间。(2) 输入年月,输出该月的日历。(3) 输入年月日,输出距今天还有多少天,星期几,是否是公历节日。题目2:小学生测验面向小学12年级学生,随机选择两个整数和加减法形成算式要求学生解答。功能要求:(1) 电脑随机出10道题,每题10分,程序结束时显示学生

10、得分;(2) 确保算式没有超出12年级的水平,只允许进行50以内的加减法,不允许 两数之和或之差超出050的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得 10分,第二次输入正确答案得7 分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“ SMART”,80-90显示 “GOOD”,70-80 显示 “OK”,60-70显示 “PASS',60 以下 “TRY AGAIN ”。题目3运动会比赛计分系统要求:初始化输入:N-参赛学校总数,M-男

11、子竞赛项目数,W-女子竞赛项目数 各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第 五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。题目4:学生学籍管理系统(2人)系统主要功能描述(可自己增加或修改部分功能):1、设计一个学生类Student,包括姓名,学号,性别,籍贯,年龄,出生日期和住址,其中"出生日期"定义为一个&qu

12、ot;日期"类(具有属性:year(年),month(月),date(日)内嵌子对象。2、具有数据的录入、显示、保存、查询(按学号或姓名查询)、修改和删除功能。3、对Student类重载"=H运算符和"=H运算符,”="运 算符判断两个Student类对象的id属性是否相等;"二"运算符实 现Student类对象的赋值操作。4、对给出的程序源代码要给出各部分的详细注释。5、自己根据能力及需要添加相应功能模块,增强模拟系统功能。更高要求:用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找, 统计,学籍变化等操作。功能

13、要求:(1)系统以菜单方式工作。(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已 知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目5:排班系统学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行 轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。 请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的 休息日如下:钱:星期一、星期六赵:星期二、星期四孙:星期三、星期日李:星期五周:星

14、期一、星期四、星期六吴:星期二、星期五陈:星期三、星期六、星期日运行结果:Solutio n: 1赵钱孙李周吴陈 星期四星期一星期三星期五星期六星期二星期日Solutio n: 2赵钱孙李周吴陈星期四星期一星期日星期五星期六星期二星期三Solutio n: 3赵钱孙李周吴陈 星期四星期六星期三星期五星期一星期二星期日Solutio n: 4赵钱孙李周吴陈 星期四星期六星期日星期五星期一星期二星期三题目6:通讯录程序设计设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯, 电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电 话号码可由字符和数字组成。实现功能

15、:(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能题目7:学生选课系统假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时, 实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。试设计一个选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2)课程信息和学生选课信息录入功能(课程信息用文件保存)(3)课程信息浏览功能(4)查询功能(5)按学分查询(6)某门课程学生选修情况(可选项)题目&机房收费管理系统(1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间

16、。(2) 计算功能:计算每个下机学生的上机费用,每小时1元。(上机费用=上机时间* 1.0/h,不足一小时按一小时计算)(3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。(4)机器使用情况的显示(显示方式不限但要一目了然)题目9:班级成绩管理系统(2人)对一个有N个学生的班级,每个学生有 M门课程。该系统实现对班级成绩 的录入、显示、修改、排序、保存等操作的管理。功能要求:(1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。(2)本系统显示这样的菜单:请选择系统功能项:a成绩录入b、成绩显示c、成绩保存d、成绩排序e成绩修改(要求先输入密码)f、成绩统

17、计1)显示每门课程成绩最高的学生的基本信息2)显示每门课程的平均成绩3)显示超过某门课程平均成绩的学生人数g、退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生成绩保存到文件中。题目10:机房机位预定系统20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定 一个时间段。功能要求:(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5) 查询是否有等待信

18、息,若有则提供最优解决方案(等待时间尽量短),若无 则显示提示信息。题目11:班级档案管理系统对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录 入、显示、修改、删除、保存等操作的管理。功能要求:(1)本系统采用一个包含 N个数据的结构体数组,每个数据的结构应当包括: 学号、姓名、性别、年龄、备注。(2)本系统显示这样的菜单:请选择系统功能项:a 学生基本信息录入b 学生基本信息显示c 学生基本信息保存d 学生基本信息删除e 学生基本信息修改(要求先输入密码)f学生基本信息查询(1)按学号查询(2)按姓名查询按性别查询(4)按年龄查询g.退出系统(3)执行一个具体的功能之后,程

19、序将重新显示菜单。(4)将学生基本信息保存到文件中。(5)进入系统之前要先输入密码。题目12:职工工资管理系统功能设计要求1. 输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津 贴、医疗保险、公积金的数据作为一个记录。 ?该软件能建立一个新的数据文件 或给已建立好的数据文件增加记录。2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的 各项工资和平均工资。3修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记 录内容进行显示。4查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记 录内容进行显示。5. 删除记录:可删除数据文件中的任一

20、记录。6. 统计:(A)计算各项工资平均工资及总工资,(B)?统计符合指定条件(如职工 工资前三项之和在 3000元以上、30002000元、20001000元)以内的工资职工 人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及 平均工资(?包括各项总的平均工资)。7 保存数据文件功能。例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民895438986473129404张效章1350868210116150216205彭山74539884616

21、81098各项平均工资 1092.2 625.2 145 88.8 108题目13:工资纳税系统个人所得税每月交一次,底线是 1600元/月,也就是超过了 1600元的月薪才开 始计收个人所得税。个人所得税税率表一(工资、薪金所得适用)级数全月应纳税所得额税率()1 不超过500元的52 超过500元至2000元的部分103 超过2000元至5000元的部分154 超过5000元至20000元的部分205 超过20000元至40000元的部分256 超过40000元至60000元的部分307 超过60000元至80000元的部分358 超过80000元至100000元的部分 409 超过100

22、000元的部分45表中的应纳税所得额是指以每月收入额减除1600元后的余额。例如:计算为:2500-1600=900应纳个人所得税额=500X5%+400< 10% =65再比如:我们用一个大额工资计算,25000元应纳税所得额=25000-1600=23400应纳个人所得税税额=500 >5%+1500X10%+3000X15%+15000X20%+3400X25%=4475要求:输入工资计算出纳税金额。题目14:歌手比赛系统对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、 姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉 最低分)。

23、2、显示主菜单如下:1)输入选手数据2)评委打分3)成绩排序(按 平均分)4)数据查询 5)追加学生数据6)写入数据文件7)退出系统。题目15:用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一 位数字由对应的英文单词给出。具体的输入输出格式规定如下:输入格式:测试输 入包含若干测试用例,每个测试用例占一行,格式为 "A + B =",相邻两字符串有一个空格间隔。 当A和B同时为zero时输入 结束,相应的结果不要输出。输出格式:对每个测试用例输出1行,即A+B的值。输入样例:one + two =three four +five

24、six =zero seve n + eight nine = zero + zero =输出样例:threenine zeronine six题目16:万年历查询程序。功能要求:(1) 提供菜单方式选择(2) 输入年份、月份、日期,计算得到的是这一天据今天有多少天,星期几;(3) 输入公历的年月日,输出农历年月日。(4) 输入农历节气,输出当年农历的年月日及公历年月日。可以假定只涉及年 份是1940年到2040年。题目17: C语言关键字中英翻译机。要求输入中文的名词和关键字,可以将其翻译成英语,如输入“基本整形”+回车,得到int;输入英文的单词int,则可以翻译成中文“基本整形”。可模拟

25、 文曲星来实现。可多次查询,输入 bye时退出。题目18:用C语言设计一个简单的计算器,要求能够对输入的数1进行+,-,*,/,运算;2. 可以带括号();3. 不限定运算式的输入长度.题目19:多项式乘法的实现,已知如下两个多项式P(x)=PX+ PX+.+PX+PQ(x)=qX+qX+.+qX+q求它们的乘积多项式S(x)=sX+.+sX+s。可以定义两个一维数组 p, q,按照次数从高到低存储两个多项式的系数,定义 一维数组来s来存储结果;利用函数来完成对结果多项式各项系数的计算,最后在屏幕上计算结果。题目20:实现带有括号的四则运算。输入是一个带有括号的四则运算表达式,输出是计算得出的

26、正确计算结果。例如:输入:123+213-67*34+345/23*45*(34+34-345+245+567)回车,然后程序计算得出结果为:359183题目21:线性方程组求解,输入是 N ( N<256)元线性方程组Ax=B,输出是方 程组的解,也可能无解或有多组解。可以用高斯消去法求解,也可以采用其它方 法。题目22: n阶方阵求逆。输入是一个n (*256)阶方阵A,输出是它的逆矩阵, 要求还要再将得到的逆矩阵与原来的矩阵相乘,验证其结果是单位矩阵。题目23:大整数的四则运算。大整数指超过十位的十进制整数,这里为简便, 假定不超过五十位。这类大整数在C语言系统中因超界溢出,是不能

27、直接表达和计算的。可以用数组来表示大整数,在此基础上编写出实现大整数加、减、乘、 除的程序,并努力加以优化。题目24:编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、加、减、乘、除、求倒数、比较、显示和输入。分类数的定义如下:class fracti onint above;/分子int below;/ 分母void reductio n();/ 约分void makeCom mon d(fract ion);/ 通分public:fraction(int=0;int=1);/ 构造函数fraction add(fractio n);/ 两个分数相加 fraction

28、 sub(fractio n);/ 两个分数相减 fraction mul(fractio n);/ 两个分数相乘 fraction div(fraction);/ 两个分数相除 fracti on reciprocal。;/ 求倒数 bool epual(fracti on);等于运算 bool greaterTha n( fracti on);/大于运算 bool lessTha n( fracti on);void display。;void in put();【要求】完成以上所有成员函数并进行检查题目25:课程设计选题管理系统设计学生类;课程设计题目类(序号,题目,人数,描述);每个题

29、目限两个人 选;要求使用面向对象编程进行模拟课程设计选题。主要包括下列模块:1. 新增、修改、删除课程设计题目;2. 新增、修改、删除学生信息;3. 查询课程设计内容;4. 课程设计选题; 题目26:简单电话簿请用面向对象方法设计并实现一个简单电话簿,包括如下功能: 能设置并以文件保存若干姓名、联系电话和电邮地址。根据输入的姓名,在已经保存的文件中查询相应的联系电话和电邮地址,并 显示查询结果。根据输入的电话号码,在已经保存的文件中查询相应的联系人姓名,并显示 查询结果。题目27:列车车次管理系统(2人)实现简单的列车车次管理系统,可以对列车的车次进行简单的增加、删除、修改、 查找等功能,乘客

30、还可以预订车票,管理员还可以查找乘客的信息等等功能。 基本功能描述:乘客:1. 查询车次情况(按照车次号、发车时间、到站时间等)。2. 根据已有的车次预定车票。3. 显示全部车次情况。管理员:1. 查询车次情况(按照车次号、发车时间、到站时间等)。2. 增加,修改,删除车次情况,显示全部车次情况。3. 删除乘客的信息,查找乘客信息(按照身份证),显示全部乘客的信息。 题目28:使用类实现对三角形的种类和面积求解,具体内容如下:1)设计菜单实现功能选择;2)输入三角形的三个顶点坐标;3)判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不 能构成三角形);4)计算并输出三角形的面

31、积5)对输入数据和输出结果均用文件实现题目29:考勤信息系统设计(2人)考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺 课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能:1 录入学生的缺课记录;2 修改某个学生的缺课记录;3 查询某个学生的缺课情况;4 统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序;5 统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6.系统以菜单方式工作。题目30:学校档案管理系统1. 需求分析:使用的类定义及其程序实现方法,利用继承性与派生类来管理学生教师档案:由pers on

32、(人员)类出发(作为基类),派生出student (学生)及teacher (教师)类;而后又由student(学生)类出发(作为基类),派生出graduateStudent (研究生)类。可假定这几个类各自具有的数据成员为:person (人员)类:姓名、性别、年龄;student (学生)类:姓名、性别、年龄、学号、系别;teacher (教师)类:姓名、性别、年龄、职称、担任课程;graduateStudent (研究生)类:姓名、性别、年龄、学号、系别、导师。2. 程序的基本功能:1、增加修改删除本科学生、研究生以及教师资料。2、按条件查询显示本科学生、研究生以及教师资料(条件有按编号、姓名、性别以及年龄 等)。题目31:简单仓库管理系统1、需求分析:本系统实现简单的仓库管理功能,可以对仓库及产品信息进行登记、修改、删除等。2、程序的基本功能:1.增加、修改、删除一个仓库资料。2 增加、修改、删除一个产品资料。3按条件显示仓库资料(条件有按编号、名称等)。4. 按条件显示产品资料(条件有按编号、名称等)。5. 查找指定产品的数量。版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人所有This article in eludes someparts, in cludi ng text, pictures, and desig n. Copyr

温馨提示

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

评论

0/150

提交评论