《软件设计基础》程序设计题目及要求-2017-综合Z

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件基础课程设计》综合应用报告文档格式及要求
文档的结构及格式如下:
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 程序设计方法
参考文献
文档格式:
(1)报告封面:题目:《软件基础课程设计》程序设计报告(黑体小二)标注选题号及分组号;班级、学号、姓名:(宋体小三)
(2)报告目录:一级标题:四号、黑体、加粗;二级标题:小四、黑体、加粗(3)报告正文:
◆一级标题:四号、黑体、加粗
◆二级标题:小四、黑体、加粗
◆正文:小四、宋体
◆正文页眉:五号宋体,内容举例:基础实验一:顺序、分支、循环结
构程序设计、数组的应用——等级:中;综合实验:2-5
◆行间距:20磅
◆段前段后各0.5行
◆图名:小五、居中。

如:图3-1 图名
◆文档带页码,且自动生成目录。

《软件基础课程设计》综合应用题目及要求
题目1:通讯录管理程序
问题描述
编写一个简单的通讯录管理程序。

通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。

基本要求
程序应提供的基本基本管理功能有:
1)添加:即增加一个人的记录到通信录中
2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。

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

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

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

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

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

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

题目2:商品销售统计程序
问题描述
编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。

所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。

客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。

基本要求
程序分为两个部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。

程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。

第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码(如-1)表示本次购物结束。

此时,程序计算出应付钱款数并显示。

测试数据
程序应输入不少于10种商品的信息,并进行模拟运行。

实现提示
本程序的商品信息可用一个结构体数组或链表进行管理。

题目3:研究生初试录取程序
问题描述
研究生考试课程为4门,其中数学、外语、政治为统一命题,而专业基础课则根据不同的专业由招生学校自行命题。

国家对初试录取分数有总分要求(如某一年要求4门课总分应达到310分),另外还有对每门课的最低分数要求(如总分为100的试卷最低应达到40分,总分为150的试卷最低应达到65分)。

编程统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。

基本要求
程序运行时首先要求输入:考生姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩。

这些原始数据应保存到一个文件中。

然后输入:录取的总分要求,各课程的最低分数要求。

输出要求:过线考生的姓名,准考证号,报考专业,是否应届生,4门课程(政治、数学、外语、专业基础课)成绩及总分,这些信息应存放到另一个文件中。

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

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

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

试编一程序统计最近一轮比赛后,各队积分及排名。

基本要求
设积分表结构如下:队名(不超过15个字符),已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。

积分表放在正文文件中。

最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。

程序应根据此轮结果修改各队的积分和名次,所得的最新记分表仍在原积分文件中并同时在屏幕上显示。

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

实现提示
定义一个球队结构体类型,定义一个该类型的结构体数组用来存放每个球队信息。

由于联赛中参赛的队伍数是固定的,因此可用链表结构或数组来实现。

每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。

题目5:排课程序设计
问题描述
每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2…,n,
其中1位最高的期望值。

课程也有优先级,1,2…,n,用来决定将课程分给教师的顺序,其中1时最高的优先级。

设计一个程序针对某些课程给某些教师进行排课。

基本要求
程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。

为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。

最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。

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

实现提示
可定义一个教师结构体类型存放教师信息,所有教师的信息可以用链表或数组存储;定义一个课程结构体类型存放课程信息,所有课程的信息可以用链表或数组存储;定义一个排课结构体类型进行排课,排课结构体变量可以访问课程和教师信息。

注意理清各类型成员间的关系。

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

程序设计要求:
1.在实现题目要求的基础上,考虑程序的易用性、易扩充性、流畅性、
界面美观及效率。

2.运行程序的最低要求是不能有任何报错。

3.因设计时间有限,除基本功能外,可以针对题目中的某个功能做完善、
做出特色。

4.若两组、多组程序基本相同或撰写的报告基本相同,经比较查证属互
相抄袭的,抄袭者和被抄袭者均按“0”分计。

上机时间:第7周周一、周四,第8周周一
演示讲解和提交报告时间:第9周周一、第9周周四
注意:
1.第7周确定选题并上报选题号,相同题目同次课演示讲解,上报选题号
的先后顺序为每个题目内的演示讲解顺序。

2.具体演示讲解时间将根据选题情况,于第8周周一公布。

3.请自带笔记本电脑演示讲解程序,以避免演示时出现意外,可以多人使
用一台笔记本电脑,但请提前调试好。

4.根据公布的演示讲解时间,请于课前到机房按照顺序就座(以窗教师机
为起点,S型排序),避免耽误时间。

5.相同题目的讲解时间相同,不可超时(大约3~4分钟)。

6.未按时上报选题号或未按时到场演示讲解,扣除10分(满分30分)。

7.源代码和课程设计报告以“软件基础课程设计**组”命名压缩包,发送
至邮箱exreport@,课程设计报告打印上交。

提交纸介质报告和发送压缩包的截至时间为第9周周四9:50。

相关文档
最新文档