计科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