计科2013《程序设计基础》课程设计题目及要求(4)

2019-04-23 20:04

C++题目41:通用排序程序 要求:

编一通用排序程序,程序可以对任意类型的数值常数或字符串构成的行进行排序,通过人机对话选择程序是按数值进行排序还是按字符顺序进行排序。排序是针对数据文件的。例如 初始数据为:12,24,9,128,3,76,345

按数值大小排序应为:3,9,12,24,76,128,345 按字符串大小排序应为:12,128,24,3,345,76,9

C++题目42:通用数据转换函数集 要求:

编一函数(过程)集, 可分别将整数、实数、布尔值转换成相应的字串,及将以字串表示的整数、实数、布尔值转换成相应类型的值。(整数->字串,实数->字串均应规定位宽)。 至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目43:排序方法比较 要求:

编一程序对至少三个排序方法进行比较,比较方法是生成一组数据(≥400),用选定的排序方法进行排序。输出每种方法数据比较或交换的次数。最后输出所花费的时间。 注:此题要用到VC++函数库中time()函数 time_t time(time_t *timeptr) 参数说明:time_t *timeptr 指向存放自格林威治标准时间1970年1月1日00:00:00:至现在经过多少秒数,类型为time_t的指针变量。

功能描述:函数读取当前时间,然后计算自格林威治标准时间1970年1月1日00:00:00:至现在经过多少秒数,结果被放在类型为time_t的指针变量所指向的地址变量中。

函数返回值:返回自格林威治标准时间1970年1月1日00:00:00:至现在经过多少秒数 头文件:time.h

至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目44:学生籍贯信息记录簿 要求:

编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: (1)创建信息链表并以磁盘文件保存;

(2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯;

(4)按籍贯查询并输出该籍贯的所有学生; (5)能添加、删除和修改学生的籍贯信息;

(6)显示输出四川籍和非四川籍学生的信息并可分别存盘。 (7)至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目45:成绩管理系统 要求:

现有学生成绩信息,内容如下

姓名 学号 语文 数学 英语

张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47 …. .. .. .. …

编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面: (1)信息维护:

要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息 (2)信息查询:

要求:查询时可实现按姓名查询、按学号查询 (3)成绩统计:

要求:输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。 (4)排序:

能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序者,加分) (5) 至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目46:手机通信录管理系统 要求:

设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 功能要求:

(1)查看功能:选择此功能时,列出下列三类选择。

A 办公类 B 个人类 C 商务类 ,当选中某类时,显示出此类所有数据中的姓名和电话号码)

(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件)。例如 杨春 13589664454 商务类 Chuny@126.C++om

当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改

(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

(6) 至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目47:学籍管理系统(限2人完成) 要求:

使用下面的数据,用C++设计一个简单的学籍管理系统,实现出最基本的功能。

学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具

直接生成

学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756122 … …. .. … ……….. 学生成绩基本信息文件(B.TXT)及其内容:

学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 … …. ………. .. .. … 功能要求及说明:

(1)数据录入功能:对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。

综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% .

实得学分的计算:采用等级学分制.

综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80%

综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60%

综合成绩在60以下 ,应得学分=学分*0%

(2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询:

A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。 A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。 B:成绩查询:

B1:输入一个学号时,查询出此生的所有课程情况,格式如下: 学 号:xx 姓 名:xxxxx

课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx … … … … ……… … … 共修:xx科,实得总学分为: xxx

(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。 (4 )排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

(5)至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目48:简单图形处理程序 要求:

设某图形处理程序只考虑点、直线、圆三种基本图形。对于点,给出点的横纵坐标;对于直线,给出直线方程ax+by+c=0的三个系数a,b,C;对于圆,给出圆心坐标和半径。 试说明图形的几何形状类型,并编写输入和输出图形数据、求两点矩离、求两直线交点、已知点和半径形成圆、已知两点形成直线等函数。

至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目49:图形绘制程序 要求:

1)横向绘制余弦曲线

在屏幕上用”*”横向显示0~360度的cos(x)曲线。此题关键在于余弦曲线在0~360度的范围内,一行要显示两个点。考虑到cos的对称性,将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形是左右对称的。若将图形的总宽度定义为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就应为62-m。程序中利用反余弦函数acos计算坐标(x,y)的对应关系。 2)绘制余弦曲线和直线

在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*(x-1)+31的迭加图形。其中cos图形”*”表示,f(x)用”+”表示,在两个图形交叉点处则用f(x)图形的符号。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判定图形的交点,再分别控制打印不同的图形。 3)绘制正弦曲线 4)绘制任意曲线

5)至少要用文本菜单界面

C++题目50:模拟人工洗牌程序 要求:

编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。

使用结构card 来描述一张牌,用随机函数来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。

对每个人的牌要按桥牌的规则输出。即一个人的牌要先按牌的花色(顺序为梅花、方块、红心和黑桃)进行分类,同一类的牌要再按A、K、Q、J、…、3、2牌的大小顺序排列。另发牌应按四个人的顺序依次分发。

注:C++随机数函数有: void srand(unsigned seed)

功能:函数可以设置rand函数所用得到随机数产生算法的种子值。任何大于1的种子值都会将rand随机数产生函数所产生的虚拟随机数序列重新设置一个起始点。

int rand(void)

功能:此函数可以产生介于0到32767间的虚拟随机数,所谓虚拟随机数的意思就是因为当只设置相同的启动种子值,所产生的数值序列都是可预测的。要产生不可预测的数值序列,必须通过srand函数不断改变随机数的启始种子值,已产生最佳的随机数。

头文件:stdlib.h

C++题目51:棋盘游戏程序 要求:

编一棋盘游戏程序,人为一方,计算机为一方,人下时字符 * 将放在所指定的位置,而计算机下时字符 @ 将放在某一空格位置。行、列、或两对角线有连续三个相同字符一方为胜方,也有平局情况。要求能动态演示。

* @ * @ * *

C++题目52:卡布列克运算程序 要求:

任意一个四位数,只要它们各个位置上的数字是不全相同的,就有这样的规律: (1)将组成这个四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; (2)将组成这个四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数字中含有0,则得到的数不足四位); (3)求两个数之差,得到一个新的四位数。

(4)重复以上过程,最后得到的结果总是6174。 模拟实现上述过程,并输出结果。

C++题目53:输出指定图形程序 要求:

(1)输出正M边型

编写程序输出边长为N的空心正M边型(N,M由用户输入),其边由’*”组成。 (2)输出空心圆

编写程序在屏幕上输出一个由”*”围成的空心圆。由于屏幕是25行×80列,故将园心定在屏幕中心40列的位置,将半径定为10行,这样可保证整个图形显示在一屏中。利用圆的方程X2+Y2=R2(R=10)可求出坐标(X,Y),然后用对称性算出右侧对应点的坐标。 (3)利用菜单选择实现上述图形的输出。

C++题目54:猜物游戏的设计及实现 要求:

用户猜测藏物位置:计算机在n行n列(行号为0到n-1,列号为0到n-1)的“棋盘”的某一位置处“藏放一物件”(具体位置通过使用“rand()”来随机产生);用户通过输入行列号来“寻找”该物件;若没猜对时计算机要告诉用户与藏放物件的位置有多远(取整后的近似距离),并告诉用户藏物的方向信息;另外在猜对结束时,还需告诉用户共猜了几次。

要有简单图形界面的显示。

C++题目55:公司人事管理程序 要求:

公司人员人事信息包括:工资号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一公司人事管理系统,使之能提供以下功能: (1)系统以菜单方式工作

(2)人员信息录入功能(人员信息用文件保存)---输入 (3)人事信息浏览功能---输出 (4)查询、排序功能---算法 按工资号查询 按姓名查询

按年龄排序,并能分年龄段显式及统计人数

(5)人员信息的删除与修改(如地址、电话、E-mail等,但姓名、工资号、年龄等信息不能修改)


计科2013《程序设计基础》课程设计题目及要求(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015~2020年中国城镇污水处理厂拟在建项目汇编

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: