C 课程设计题目

发布 2022-10-02 03:51:28 阅读 7509

c++课程设计题目。

下面四道题中第题中选一道题完成,第题中选一道题完成。也可以自拟题目,但是自拟题目的难度必须大于这4道题,且编写的c++**量不低于1500行,需事先告知老师。

交实验报告(包括程序思路,具体实现,源码说明)、源程序和可执行程序(源程序和可执行程序以**形式提供,要求能调试通过,能正常运行)。可以都用控制台的形式显示信息,但是更鼓励以图形用户界面的方式显示信息(可以使用qt或mfc来实现)。

课程设计的时间为两周。

1. 编写一个复数类,这个类能完成复数运算。

问题描述。复数是一个包含实部和虚部的数,例如1+3i,2+5i等。在c++中,没有预先定义复数,需要时可以定义一个复数类,将实部和虚部分别存放在两个浮点数中。

对复数的各种操作都可以用重载运算符来实现。

基本要求。定义并实现一个复数类,通过重载运算符加、减、乘、除,对复数进行算术运算,通过重载运算符==判断两个复数是否相等。通过定义函数,计算乘方、开方、幅值、幅角的功能。

测试数据。在应用程序中,创建若干复数对象,通过带参数的构造函数使得各复数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。

选做内容。重载插入(<<和提取(>>运算符,使得对复数可以直接输入输出。设复数输入格式为:

浮点数1 浮点数2 (说明:浮点数1为实部,浮点数2为虚部)

浮点数输出格式为:

浮点数1 + i*浮点数2

2. 编写一个有理数类,这个类能完成有理数运算。

问题描述。有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在c++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。

对有理数的各种操作都可以用重载运算符来实现。

基本要求。定义并实现一个有理数类,通过重载运算符+、-对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。

此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。

测试数据。在应用程序中,创建若干有理数对象,通过带参数的构造函数使得各有理数对象值各不相同,然后分别进行各类运算,输出运算结果,检验其正确性。

实现提示。设有两个有理数a/b和c/d,则有:

1) 有理数相加分子=a*d+b*c;分母=b*d

2) 有理数相减分子=a*d-b*c;分母=b*d

3) 有理数相乘分子=a*c; 分母=b*d

4) 有理数相除分子=a*d; 分母=b*c

优化函数在创建有理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储的有理数随时都是最优的。对于判断两个有理数是否相等,由于在对有理数进行各种运算后都对其进行优化,所以判定两个有理数是否相等只需判定它们两个的分子和分母分别相等即可。

选做内容。重载插入(<<和提取(>>运算符,使得对有理数可以直接输入输出。设有理数输入格式为:

整数1 整数2 (说明:整数1为分子,整数2为分母)

有理数输出格式为:

分子/分母。

3. 通讯录管理

问题描述。编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),**号码,邮政编码等四项。

基本要求。程序应提供的基本基本管理功能有:

1) 添加:即增加一个人的记录到通信录中。

2) 显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。

3) 存储:即将通讯录信息保存在一个文件中。

4) 装入:即将文件中的信息读入程序。

5) 查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、**号码和邮政编码。

6) 修改:可修改一个人的除姓名外其它信息。

测试数据。程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。

实现提示。程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,**号码和邮政编码用一个类person来实现,作为链表的值指针指向这些person类对象,通过链表的遍历可以操作这些数据。

选做内容。为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。

虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。

4. 模拟计算器程序。

问题描述。设计一个程序来模拟一个简单的手持计算器。程序支持算术运算以及c(清除)、a(全清除)操作。

基本要求。程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。

测试数据。程序输入不少于5种不同的表达式进行测试。

实现提示。可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。

选作内容。如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。

C 课程设计题目

课程设计。一 题目 在下列题目中,任选一题 1.掷骰子游戏设计。2.用c 语言设计求解线性规划的单纯形法3 采用面象对象技术实现一个货币系统4.制作一个电子课程表。5.实现一个电梯实时状况模拟程序6.学生成绩管理系统7.图书管理系统。二 文档要求。1 需求分析 要求实现的功能和实现方式 2 系统总框...

C课程设计题目

面向对象的程序设计 c 课程设计题目。姚远2011 12 16 使用专业 班级 计科10 信管10 计网 计应 软件10级。说明 以下各题的实现技术不包括任何数据库访问技术,如等。部分题目需要通过各种集合类完成数据在内存中的存储 集中管理。每题采用分层架构模式来完成。均需自行设计类,windows窗...

C 课程设计题目

一 学生学籍信息管理系统设计 难度2 1 需求分析。学生基本信息 学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作 查询功能要求提供查找和显示操作 删除功能要求实现删除操作 排序功能要求实现排序操作 另外还应该提供键盘式选择菜单以实现功能选择。2 总体设计。整个系统可以设计为数据录入模块...