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

更新时间:2024-05-25 02:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计科2013《程序设计基础》课程设计报告文档格式及要求

文档的结构及格式如下:

1.课程设计题目与要求 1.1 设计题目 1.2 设计要求 2.总体设计 2.1 总体功能框架 2.2 数据结构概要设计 3.详细设计

3.1 数据结构详细设计 3.2 系统功能详细设计

包括(1)函数原型 (2) 函数功能 (3)函数形参说明4.运行结果 5.课程设计总结

5.1 编程中的问题及解决方法 5.2 小结 5.3 心得体会 5.4 程序设计方法 参考文献

文档格式:

大标题:四号、仿宋、加粗 小标题:小四、仿宋、加粗 正文:小四、仿宋 行间距:20磅 段前段后各0.5行

图名:小五、居中。如: 图3-1 图名 文档带页码,且自动生成目录。

4)函数算法流程图 ( 计科2013《程序设计基础》课程设计题目及要求

C++题目1:通讯录管理程序

问题描述

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

基本要求

程序应提供的基本基本管理功能有: 1) 添加:即增加一个人的记录到通信录中 2) 显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。 3) 存储:即将通讯录信息保存在一个文件中。 4) 装入:即将文件中的信息读入程序。 5) 查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。 6) 修改:可修改一个人的除姓名外其它信息。 测试数据

程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。 实现提示

程序可用一个结构体数组、单向链表或对象数组来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个结构体或类实现。

C++题目2:商品销售统计程序

问题描述

编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。

基本要求

程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。此时,程序计算出应付钱款数并显示。

测试数据

程序应输入不少于10种商品的信息,并进行模拟运行。 实现提示

本程序的商品信息可用一个结构体数组或链表进行管理。 至少要有文本菜单实现。

C++题目3:研究生初试录取程序

问题描述

研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。

基本要求

程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。这些原始数据应保存到一个文件中。然后输入:录取的总分要求,各课程的最低分数要求。输出要求:过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。

测试数据

程序应输入不少于10名考生的信息,其中应届生和历届生分别有若干名,并且都有合格和不合格的情况。

实现提示

考生信息可用一个结构体数组来管理。

C++题目4:足球联赛积分程序

问题描述

足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。

基本要求

设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。

测试数据

可选择我国当年的甲A或甲B联赛的数据输入,并检查与报章公布的数据是否一致。 实现提示

定义一个球队结构体类型,定义一个该类型的结构体数组用来存放每个球队信息。由于联赛中参赛的队伍数是固定的,因此可用链表结构或数组来实现。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。

C++题目5:银行账户管理程序

问题描述

设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。

基本要求

程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。

测试数据

程序应输入不少于10人的账户信息,应考虑到人员同名的情况。 实现提示

通过结构体数组管理账户的信息;实现相应的开户,存款等操作;至少要有一个文本菜单。

C++题目6:计算器程模拟序

问题描述

设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。

基本要求

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

测试数据

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

C++题目7:排课程序设计

问题描述

每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2…,n,其中1位最高的期望值。课程也有优先级,1,2…,n,用来决定将课程分给教师的顺序,其中1时最高的优先级。设计一个程序针对某些课程给某些教师进行排课。

基本要求

程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。

测试数据

程序应能实现对不少于10门课和5个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。

实现提示

可定义一个教师结构体类型存放教师信息,所有教师的信息可以用链表或数组存储;定义一个课程结构体类型存放课程信息,所有课程的信息可以用链表或数组存储;定义一个排课结构体类型进行排课,排课结构体变量可以访问课程和教师信息。注意理清各类型成员间的关系。

选作内容

对两个同类班级安排一学期(20周)的课程,程序应能处理某些限制,如一个老师不能同时给两个班上课。

C++题目8:电煤气管理系统

问题描述

设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。

基本要求

? 实现对用户信息的录入 ? 实现水电煤气数据的录入 ? 计算并查询用户应缴费用 ? 查询未缴纳费用名单 测试数据:

可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。 实现提示

? 用户基本信息类:教工用户信息类,学生用户信息类

? 收费标准类,该类存储水电煤气标准单位的收费标准,如:煤气,1.0元/立方米; ? 不同类型人员水、电、煤气信息类,这些类可以包括水表,电表,煤气表ID,抄表

时间,上次抄表时间,本次抄表时间,上次抄表度数,本次抄表度数,本次使用度数,费用,是否缴费标记等信息。

C++题目9:比赛选手分数计算程序

对参赛结果分数进行处理:参赛选手n人(n>1),评委m人(m>2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。选手的最后得分lastScore计算方法为

(1)m<9时,去掉一个最高分和一个最低分后另m-2个得分的平均值。 (2)m≥9时,去掉两个最高分和两个最低分后另m-4个得分的平均值。

假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、姓名(一个字符串)以及m个评委给出的得分。

请编制程序,依次从数据文件f1.txt中读入n个选手的有关信息,而后按上述规定方法计算出每一个选手的最后得分,而且往屏幕上以及另一个text型文件f2.txt中同时输出如下形式的结果信息。

假设参赛选手人数n=5,评委人数m=7,磁盘文件f1.txt中的初始数据为: 1 zhangjin 8.8 9.3 7.9 8.7 8.9 9.7 9.2

2 lintao 8.9 8.2 8.6 8.8 8.5 9.1 9.3 3 guojian 8.9 8.4 8.7 8.6 8.6 8.4 8.6 4 maling 7.9 8.3 8.5 8.6 8.5 8.9 8.3 5 liuyifan 9.5 9.1 9.8 9.2 9.0 9.5 8.9

那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为: ---------------------------------------------------------- 参赛号 姓 名 最高分 最低分 累积分 最后得分 ---------------------------------------------------------- 1 zhangjin 9.7 7.9 44.9 8.98 2 lintao 9.3 8.2 43.9 8.78 3 guojian 8.9 8.4 42.9 8.58 4 maling 8.9 7.9 42.2 8.44 5 liuyifan 9.8 8.9 46.3 9.26 ----------------------------------------------------------

思考:可进一步考虑找出比赛的第1至第k名,也在屏幕以及f2.txt中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,则有效分(即已删除原来的最高分后)中最高分高者名次优先)。

C++题目10:学生成绩管理系统

设计一个结构体CStudent,包含一个学生的基本数据如下: 编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。

并假设编号为整数,且从1号往后连续编码;姓名为字符串,性别为字符。如: 1 LiPing m 18 89 98 94 要求完成以下功能:

(1) 从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。

(2) 按编号对学生信息进行检索并将检索结果显示在屏幕上。 (3) 按姓名对学生信息进行检索并将检索结果显示在屏幕上。 (4) 计算某编号学生的总成绩与平均成绩。

(5) 列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从键盘输入)。 (6) 用文本菜单实现上述操作的选择。

思考:可进一步对上述程序进行扩充,如,添加学生基本数据(籍贯,专业,班级,其他各门成绩,奖惩记录等),并添加所需要的其他相关处理函数(如可通过咨询教学办公室管理人员后确立),进而将其编制成为一个简单而实用的小型学籍与成绩管理软件。

C++题目11:日期时间显示程序

(1)定义一个时间结构体类型time,能提供时、分、秒组成的时间,并提供时间增加的方法(按秒)。

(2)定义一个日期结构体类型Date,记录年、月、日,并提供日期增加的方法(按天)。 (3)定义个日期时间结构体类型DateTime,除具有年、月、日、时、分、秒外,还增加国名和与格林威治时间的差。

编一应用程序,输入年、月、日、时、分、秒,在屏幕上模拟显示一电子计时器,不断

输出下一秒的时间和日期,以及格林威治的日期和时间。

注意,当对日期增加1天后,会涉及所谓的“进位”问题:首先算出本“日”所在的月份具有的天数N,若加1之后的“日”数值超过所在的月份具有的天数N时,“进位”到月,而月份若超过12时还要“进位”到年。

思考:可对该类增加你所考虑到的其他功能,如,对日期进行输入,计算二日期的间隔天数,计算某日期为星期几,打印对象当前数据的y年m月的月历,一次增加若干天,对两个日期进行其他比较运算等。

C++题目12:商品进销存管理程序

某商场有如下的几种货品:衬衣、鞋子、帽子、裤子、冰箱、电视、立柜、壁橱、沙发。每一种货物都有详细的说明信息。

衬衣:布料、尺寸、单价、产地、库存量、所属货柜; 鞋子:皮料、尺寸、单价、产地、库存量、所属货柜;

帽子:布料、样式(平顶或尖顶)、尺寸、单价、产地、库存量、所属货柜; 裤子:布料、尺寸、单价、产地、库存量、所属货柜;

冰箱:制冷类型、样式(二门或三门)、颜色、尺寸、单价、产地、库存量、重量、所属货柜;

电视:样式(彩色或黑白)、颜色、尺寸、单价、产地、库存量、重量、所属货柜; 立柜:木料、颜色、尺寸、单价、产地、库存量、所属货柜; 壁橱:木料、颜色、尺寸、单价、产地、库存量、所属货柜;

沙发:木料、皮料、颜色、尺寸、单价、产地、库存量、所属货柜; 对这些商品的操作有: 新商品的录入,商品的进库,商品的出库,商品的调价,所属货柜的管理,库存的统计,总价格的计算,产地的统计。用菜单实现上述操作的选择。

要求自行设计数据结构,用结构体将上述的货品表示出来。在上一步的基础上,将上述的商品管理计算机化,完成操作要求的功能。

C++题目13:图书信息管理系统

1.问题描述(功能要求):

图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作

(2)图书信息录入功能(图书信息用文件保存)--输入 (3)图书信息浏览功能--输出

(4)查询和排序功能:(至少一种查询方式)--算法 按书名查询 按作者名查询

(5)图书信息的删除与修改(可选项)

2.问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次;

(3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试;

(7)完成系统总结报告以及系统使用说明书。 3.其它要求:

(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块

C++题目14:学生成绩管理系统

要求

1. 有工作界面.

2. 以班级为单位,进行学生成绩的录入,包括学号、姓名、班级、高数、英语、总成绩等字段;总成绩字段需计算填入;所录入的数据存入一个文本文件中;能根据情况调出数据。

3. 具有按学号排序功能。

4. 具有对学生数据进行插入功能,并按其学号插入排序,使数据仍然有序。 5. 具有删除学生记录功能。 6. 具有查询功能

(1)按学生学号或姓名进行查询。

(2)按分数段查询学生情况(每隔10分为一个分数段)。 7. 统计出每门功课的总分和平均分。 8. 能在屏幕上输出所有学生的信息。

C++题目15:动态演示汉诺塔问题解题

要求

1. 在图形模式下,能将每一次盘子的移动用动画演示出来。 2. 可自己设计一个动画程序,画面、颜色自定

C++题目16:足球俱乐部会员管理系统

要求

1. 有工作界面(采用菜单或按钮方式)。

2. 进行会员信息的录入,包括编号、用户名、性别、年龄、职业、资金、入会时间字段;所录入的数据(至少包括6条)存入一个文本文件中;能根据情况调出数据。 3. 编号必须唯一。

4. 具有对新会员信息插入功能,并按其编号插入排序,使数据仍然有序。 5. 具有删除功能。

6. 具有修改功能,统一减少所有会员资金或增加某一会员资金。 7. 具有查询功能

(1)按序号查询会员资金情况。

(2)按用户名查询用户相关信息(如有同名,则必须将所有记录全部显示)。 8. 具有统计功能:

(1)统计不同年龄段的人数。

(2)根据入会时间统计不同时间段的资金情况。 9.能在屏幕上输出所有会员的信息。

C++题目17:职工信息管理系统 要求:

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作

(2)职工信息录入功能(职工信息用文件保存)--输入 (3)职工信息浏览功能--输出

(4)查询和排序功能:(至少一种查询方式)--算法 按工资查询 按学历查询等

(5)职工信息删除、修改功能

C++题目18:学生信息管理系统设计 要求:

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

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

(5)学生信息的删除与修改

C++题目19:学生选修课程系统设计 要求:

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能: (1)系统以菜单方式工作

(2)课程信息录入功能(课程信息用文件保存)--输入 (3)课程信息浏览功能--输出

(4)查询功能:(至少一种查询方式)--算法 按学分查询 按课程性质查询 (5)学生选修课程

C++题目20:销售管理系统 要求:

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 1)销售员的代号 2)产品的代号

3)这种产品的当天的销售额

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。 1)计算上个月每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)

3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额) 4)输出统计报表

销售统计报表

产品代号 销售之和 销售员代号 1 2 3 4 5 1 2 3 4

每种产品之和 总和 5)以文本菜单实现上述操作的选择。

C++题目21:万年历程序 要求:

要求:模仿现实生活中的挂历。

当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。 当系统日期变到下一月时,系统自动翻页到下一月。

C++题目22:学生成绩管理程序 要求:

(1)能按学期、按班级完成对学生成绩的录入、修改

(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序

(3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单

(5)至少采用文本菜单界面(如果能采用图形菜单界面更好) (6)学生可自动增加新功能模块

C++题目23:一元多项式简单的计算器 要求:

(1)输入并建立多项式; (2)输出多项式;

(3)两个多项式相加,建立并输出和多项式; (4)两个多项式相减,建立并输出差多项式。 实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。

要求:一元多项式简单计算器的基本功能

C++题目24:图书借阅管理系统 要求:

(1)新进图书基本信息的输入 (2)图书基本信息的查询 (3)对撤消图书信息的删除 (4)为借书人办理注册

(5)办理借书手续(非注册会员不能借书) (6)办理还书手续

信息描述:有关该系统基本信息的描述,如:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。

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

C++题目25:简单的行编缉器程序 要求:

(1)设置一个简单的行编缉器,每行以回车结束。 (2)数据以文件形式存储

(3)编辑器具有查找、替换、修改数据的功能。

C++题目26:成绩记录簿 要求:

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

(2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录;

(5)修改指定姓名或学号的学生的成绩并可存盘;

(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。 (7)至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目27:校际运动会管理系统 要求:

(1)初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数; (2)各项目名次取法有如下几种:

取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; 取前3名:第1名得分 5,第2名得分 3,第3名得分2; 用户自定义:各名次权值由用户指定。

(3)由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。

(4)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。

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

C++题目28:某公司的库存管理系统 要求:

某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。

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

C++题目29:车票管理系统 问题描述

一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如

班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 1 8:00 郫县 广汉 2 45 30 2 6:30 郫县 成都 0.5 40 40 3 7:00 郫县 成都 0.5 40 20 4 10:00 郫县 成都 0.5 40 2 …

功能要求:

用c++设计一系统,能提供下列服务:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据

(2)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询 ,可按终点站查询 (4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新

已售票人数

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数 (5)至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目30:职工工作量统计系统 要求:

编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次。按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)。要求程序用有序链表存储数据信息。

C++题目31:单项选择题标准化考试系统 要求:

(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案) (2)试题录入:可随时增加试题到试题库中

(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入) (4)答题:用户可实现输入自己的答案

(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。 (6)至少采用文本菜单界面(如果能采用图形菜单界面更好)

C++题目32:酒店管理系统 要求:

(1)屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,如不同级别房间价格的查询、修改、删除等。

(2)对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。

(3)月底进行结算,实收多少,应收多少

C++题目33:学生考勤管理系统 要求:

考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续多节课用 begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能:

(1)录入学生的缺课记录:从键盘输入数据(提示:为避免重复从键盘输入数据,测试时可将数据存储在文件中,利用输入重定向功能读入),输入格式为: 缺课日期 第几节课 课程名称 学生姓名 缺课类型 每行一条纪录。 例如:

2008-04-29 3-4 C++程序设计实验 张三 迟到 2008-04-28 3-4 C++程序设计 李四 旷课

(2)修改某个学生的缺课记录:可以对缺课纪录的任意部分进行修改,然后显示一下修改后的纪录。

(3)查询某个学生的缺课情况:查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序。

(4)统计某段时间内(以天为单位),旷课学生姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学生按姓名升序排序;

(5)统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序,旷课人次相同的课程按课程名称升序排序; (6)系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能)

C++题目34:飞机订票系统 要求:

假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务: (1)航班信息录入功能(航班信息用文件保存)--输入 (2)航班信息浏览功能--输出

(3)查询航线:(至少一种查询方式)--算法 ●按航班号查询 ●按终点站查询

(4)承办订票和退票业务(可选项)

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

C++题目35:课程设计选题管理系统 要求:

主要包括下列模块:

(1)新增、修改、删除课程设计题目; (2)新增、修改、删除学生信息; (3)查询课程设计内容; (4)课程设计选题;

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

C++题目36:杂志订阅管理系统 要求:

使用计算机对杂志进行管理,每个订户的信息包括:姓名,性别,电话号码,杂志单位,订阅数,订阅期限(某年某月) 要求有以下功能:

(1)增加新订户,即将新订户的全部信息输入到文件中

(2)根据当天的日期对新订户全部信息进行查询,删除已到期的订户记录 (3)统计本期杂志订户数并打印运算结果 如: 本期订信息

订户名 订阅数 单价 全额 李平 2 5.5 11.0 黄海 1 5.5 5.5 合计 3 1.0 16.5

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

C++题目37:Fibonacci数列 要求:

Fibonacci数列的计算公式如下: fib(1) = 1; fib(2) = 1;

fib(n) = fib(n-1) + fib(n-2);

(1)简单变量“数据平移”方法计算Fibonacci数列的第n项(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。

(2)使用数组求出Fibonacci数列的第n项(正整数n通过键盘输入)并显示在屏幕上:说明数组f用来存放Fibonacci数列的各项之值,且仅初始化前两个元素f[0]=1,f[1]=1,而后通过f[i]=f[i-2]+f[i-1];依次计算出f[2]到f[n-1](注意f[n-1]恰为所要求出的第n项)并将该值显示在屏幕上。

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

C++题目38:ATM取款机模拟程序 要求:

(1)软件用途:ATM取款

(2)功能概述:模拟ATM取款机 登陆、取款、查询

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

C++题目39:猫抓老鼠游戏模拟 1.问题描述

在一个迷宫内,猫正在追老鼠,猫总是选择在迷宫中到老鼠最近的路线走,而老鼠也选择远离猫的路线逃离.模拟猫抓老鼠的动态过程. 2.功能要求

1) 设计一个迷宫:猫,老鼠的位置随机生成; 2) 猫,老鼠每移动一次,都重新计算最短路径.

3) 分别模拟猫的速度大于老鼠,猫的速度等于老鼠两种情形. 4) 迷宫可用数组表示,最短路径可用队列表示. 3.功能扩展(自己定制) 可增加猫的数量;

可随机生成迷宫墙壁的位置;

设计老鼠应该用何策略才有可能逃脱被抓的命运

C++题目40:数制转换程序 要求:

定义一个数制转换器,要求能够实现二进制、十进制、八进制、十六进制间的相互转换。 提示:将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value上,最后输出该value。 至少采用文本菜单界面(如果能采用图形菜单界面更好)

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等,但姓名、工资号、年龄等信息不能修改)

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

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

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

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

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

本文来源:https://www.bwwdw.com/article/gjb7.html

Top