信管2015《程序设计基础》课程设计报告文档格式及要求文档的结构及格式如下:1.课程设计题目及要求1.1 设计题目1.2 设计要求2.总体设计2.1 总体功能框架2.2 数据结构概要设计3.详细设计3.1 数据结构详细设计3.2 系统功能详细设计包括(1)函数原型(2)函数功能(3)函数形参说明(4)函数算法流程图4.运行结果5.课程设计总结5.1 编程中的问题及解决方法5.2 小结5.3 心得体会5.4 程序设计方法参考文献文档格式:大标题:四号、仿宋、加粗小标题:小四、仿宋、加粗正文:小四、仿宋行间距:20磅段前段后各0.5行图名:小五、居中。
如:图3-1 图名文档带页码,且自动生成目录。
信管2015《程序设计基础》课程设计题目及要求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.22 lintao 8.9 8.2 8.6 8.8 8.5 9.1 9.33 guojian 8.9 8.4 8.7 8.6 8.6 8.4 8.64 maling 7.9 8.3 8.5 8.6 8.5 8.9 8.35 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.982 lintao 9.3 8.2 43.9 8.783 guojian 8.9 8.4 42.9 8.584 maling 8.9 7.9 42.2 8.445 liuyifan 9.8 8.9 46.3 9.26----------------------------------------------------------思考:可进一步考虑找出比赛的第1至第k名,也在屏幕以及f2.txt 中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,则有效分(即已删除原来的最高分后)中最高分高者名次优先)。