《软件设计》课程设计题目表.docx
《《软件设计》课程设计题目表.docx》由会员分享,可在线阅读,更多相关《《软件设计》课程设计题目表.docx(16页珍藏版)》请在冰豆网上搜索。
《软件设计》课程设计题目表
2013级电子软件技术课程设计题目
学生可选择以下题目中的一个或自拟题目完成该课程设计任务,但自拟题目必须通过指导老师的审查,自拟题目时间为一天
PartI必做题。
以下题目要求每位学生任选其中10道题独立完成,该部分题目占总成绩的40%,时间8周。
一、数据结构类
题目1:
设计出链表结构的相关函数库,以便在程序设计中调用,要求
(1)包括线性表的各种基本函数以及常用函数(自已确定函数、函数形式及理由);
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来
(3)给出若干例程,演示通过调用自已的库函数来实现相关问题的求解。
题目2:
设计出顺序表结构的相关函数库,以便在程序设计中调用,要求
(1)包括线性表的各种基本函数以及常用函数(自已确定函数、函数形式及理由);
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来
(3)给出若干例程,演示通过调用自已的库函数来实现相关问题的求解。
题目3:
设计程序以实现任意两个高次多项式的加法和乘法运算,要求:
(1)所设计的数据结构应尽可能节省存储空间;
(2)程序的运行时间应尽可能少。
题目4:
设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。
题目5:
设计出树结构的相关函数库,以便在程序设计中调用,要求:
(1)包括树结构的存储结构及各种基本函数以及常用函数(自已确定函数、函数形式及理由);
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来
(3)给出若干例程,演示通过调用自已的库函数来实现相关问题的求解。
题目6:
设计程序完成如下功能:
对给定的图结构,实现求解最小生成树的Kruskal算法,并给出求解过程的动态演示。
题目7:
给出一组实验来比较下列排序算法的时间性能:
快速排序、堆排序、希尔排序、冒泡排序、归并排序(其它排序也可以作为比较的对象),要求:
(1)时间性能包括平均时间性能、最好情况下的时间性能、最差情况下的时间性能等;
(2)实验数据应具有说服力,包括:
规模范围要大(如从100到10000);
数据的初始特性类型要多,因而需要具有随机性;
实验数据的组数要多,即同一规模的数组要多选几种不同类型的数据来实验。
二、C/C++编程类
1、日期处理、时间处理
要求:
能实现以不同格式显示日期,日期的加减运算,判断闫年,日期型数与字符型数之间的转换等操作,可以对日期时间型数据进行各种处理。
(具体分析由设计人自己完成)程序代码行不低于500行。
2、字符串处理
要求:
自己编程实现C++中字符处理各种函数的功能,包括字符连接、复制、大小比较、求字符型长度、左取字符符串、右取字符串、中取字符串、将数字符串转换成数值型数据、取字符串中第一个字符的ASCII码等(所有字符串处理函数封装在类中)。
3、编写矩阵加、减、乘、转置的程序(2人)
要求:
用面向对象的思想编写;
加、减、乘、转置用重载运算符的方法实现;
4、小学生测验
面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。
功能要求:
(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;
(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;
(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;
(5)总成绩90以上显示“SMART”
80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”
5、运动会比赛计分系统
要求:
初始化输入:
N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数
各项目名次取法有如下几种:
取前5名:
第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:
第一名得分5,第二名得分3,第三名得分2;
功能要求:
(1)系统以菜单方式工作
(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩
(4)查看参赛学校信息和比赛项目信息等。
6、进制转换
编一程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出。
(提示:
算法采用模拟人工法。
)
注:
计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。
7、判断一个数是否是数组中的成员(用二分法查找)
已知数据a中一共有10个已排序的整数(由小到大排列)。
现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置来,否则打印“找不到“。
(提示:
①设待查找的数为x,设三个位置变量l、m、h分别代表查找范围的顶部、中间位置和底部,m=(l+h)/2,把数分成以a[m]为中点的两段范围。
②判断x是否等于a[m],若是,则找到。
③若大于a[m],则x必在后半段范围,即在a[m+1]至a[h]。
则舍弃前半段,再在后半段重新划分两段范围,定出l、m和h,重复以上步骤,逐步缩小查找范围。
)
8、位数大小排序(掌握数值排序算法)
程序说明:
输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数,并输出这个整数。
要求:
用函数调用。
9、请编写函数fun
函数的功能是求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
(数组维数用宏定义)
10、求所有不超过200的N值
N的平方是具有对称性质的回文数。
回文数就是将一个数从左向右读是一样的,如满足题意要求的数有:
N=11,112=121。
PartII分组协作编程题
以下题目要求学生任选1题,按照规定人数组成团队。
每个团队必须有分工。
每个题目要求写出设计方案、功能模块、算法流程、测试报告和运行结果。
学生也可自拟题目,但须经任课老师审核方可实施。
本部分占总成绩60%,时间8周
1、学籍管理系统(2人)
要求完成以下功能:
1.能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。
2.能够将指定的信息从文件中删除。
3.能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。
4.可以统计全部学生的总成绩,及其在班上的排名。
5.能够统计各科的平均成绩及及格率。
6.要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
7.如果检索不到相应的信息应提示用户。
2、公司人员管理系统(2人)
问题描述(功能要求):
某小型公司,主要有四类人员:
经理、兼职技术人员、销售经理和兼职推销员。
现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。
要求:
1.其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2.程序对所有人员有提升级别的功能
3.月薪的计算方法是:
经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成,销售经理既拿固定月薪也领取销售提成。
4.能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。
5.用文件处理方式实现。
3、球员管理系统(2人)
要求:
1.能实现基本数据的输入、输出、查询、统计等操作;
2.用文件的方式等操作;
3.需求由设计者自己分析。
4、高校图书管理(2人)
要求:
1、能实现基本数据的输入、输出、查询、统计等操作;
2、用文件的方式等操作。
3、需求由设计者自己分析。
5、宾馆客房管理(2人)
1、能实现基本数据的输入、输出、查询、统计等操作;
2、用文件的方式等操作。
3、需求由设计者自己分析。
6、学生成绩管理系统设计与开发(2人)
要求完成以下功能:
1.教务管理员能录入、删除和修改学生、教师和课程的信息。
2.教师能能按学期、按班级完成对学生成绩的录入、修改。
3.系统能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序。
4.学生能查看自己的成绩和排名信息。
5.教务管理员能生成不及格科目及其学生名单。
教务管理员能按班级生成学生成绩单。
7、订票系统的设计与开发(2人)
要求完成以下功能:
1.管理员能录入航班或车次信息。
2.客户能查询航班或车次信息,包括但不限于编号、出发地、目的地、时刻信息及票价。
3.客户能录入自己的信息,包括但不限于姓名、身份证号。
4.客户能根据已查询到的信息购买相应的票;购票信息应包括航班或车次编号、座位信息、乘坐日期、订票张数等。
5.客户能通过输入票号和乘客信息退去已购买且未失效的票。
实际支付功能不作要求。
8、酒店客房管理系统设计与开发(2人)
要求完成以下功能:
1.能对前台员工进行管理,如权限、密码等主要信息的管理。
2.管理员能对客房信息进行新增、删除和修改操作,并能查询客房信息。
3.前台员工能进行入住信息的录入、修改,且能实时查询客房信息。
4.前台员工在退房是能进行结算操作。
管理员能对账目进行查询。
9、企业仓储进销存管理系统设计与开发(2人)
要求完成以下功能:
1.操作人员管理:
对各部门员工的权限划分。
2.基本资料管理:
货物基本信息、供应商信息、客户信息等。
3.进货管理:
根据基本资料进货,同时也可以删除、修改进货信息;系统应自动确保系统数据与存储一致。
4.销售管理:
记录每一次的销售信息,同时也可以删除、修改销售信息。
查询账单报表:
汇总各类出库入库信息,生成报表,打印统计账单信息等。
10、水电费收费系统设计与开发(2人)
要求完成以下功能:
1、管理员能对客户、计量装置、抄表员和收费员进行信息和权限的管理;其中客户信息包括:
客户代码、名称、楼号,单元,门牌号码,电话,信誉度等;计量装置信息包括:
水/电表编号、型号、位数等;计费信息包括:
上月读数,本月读数、实用度数/吨数,水/电价,本月应交金额等;账目信息包括:
客户代码,年月,应交金额,实交金额,交款日期等。
a)管理员能设定水电单价;查询账目信息及相关账目统计信息。
b)管理员能生成欠费客户名单。
抄表员能录入读数信息;收费员能查询客户的欠费信息并能做收费操作。
11、图书馆馆藏管理系统设计与开发(2人)
要求完成以下功能:
1.系统管理员能对读者及馆员的相关信息进行权限划分。
2.新书入库:
登记,条形码管理,新书分类管理
3.图书借阅:
图书登记,预约,续借等
图书归还:
图书的损坏,超期,遗失等
12、职工工资管理系统(2人)
功能设计要求:
1.输入记录:
将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录(系统应能建立一个新的数据文件或给已建立好的数据文件增加记录)。
2.显示记录:
根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
3.修改记录:
可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.查找记录:
可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5.删除记录:
可删除数据文件中的任一记录。
6.统计:
(按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。
7.保存数据文件功能。
例如:
职工工资信息表
ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资
01张望12867941981091352034
02李明1185628135941141740
03王小民8954389864731294
04张效章13508682101161502162
05彭山7453988461681098
各项平均工资1092.2625.214588.8108
13、课程信息管理系统(2人)
假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息。
设计一个课程信息管理系统,使之能提供以下功能:
(1)系统应显示这样的菜单:
请选择系统功能项:
a课程基本信息录入
b课程基本信息显示
c课程基本信息保存
d课程基本信息删除
e课程基本信息修改
f课程基本信息查询(按学分查询)
g退出系统
(3)执行一个具体的功能之后,程序将重新显示菜单。
(4)将课程基本信息保存到文件中。
14、学生选课系统(限2人)
设计要求:
(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)写出课程设计报告,具体要求见相关说明文档
功能要求:
假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。
试设计一个选修课程系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)课程信息和学生选课信息录入功能(课程信息用文件保存)
(3)课程信息浏览功能
(4)查询功能
(5)按学分查询
(6)某门课程学生选修情况
15、车票管理系统(限最多3人完成)
设计要求:
(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)写出课程设计报告,具体要求见相关说明文档
功能要求:
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
如
班次发车时间起点站终点站行车时间额定载量已订票人数
18:
00太原广汉24530
26:
30太原成都0.54040
37:
00太原成都0.54020
410:
00太原成都0.5402
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:
可按班次号查询,,可按终点站查询
(4)售票和退票功能
A:
当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:
退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
16、个人小管家(2人)
个人小管家应用系统给家庭提供了一个管理个人财务的平台,主要用于对家庭成员收入、支出进行添加、查询、删除、修改以及打印的操作,使得家庭财务收支状况一目了然。
主要功能包括:
(1)主菜单。
主要包括收入管理、支出管理和退出;
(2)添加收入记录;
(3)查询收入记录;
(4)删除收入记录;
(5)修改收入记录;
(6)打印收入记录;
(7)添加支出记录;
(8)查询支出记录;
(9)删除支出记录;
(10)修改支出记录;
(11)打印支出记录;
(12)退出系统。
17、排班系统(2人)
题目要求:
学校实验楼有7名保安人员:
赵、钱、孙、李、周、吴、陈。
由于工作需要进行轮休制度,一星期中每人休息一天。
预先让每一个人选择自己认为合适的休息日。
请编制程序,打印轮休的所有可能方案。
当然使每个人都满意,例如每人选择的休息日如下:
钱:
星期一、星期六
赵:
星期二、星期四
孙:
星期三、星期日
李:
星期五
周:
星期一、星期四、星期六
吴:
星期二、星期五
陈:
星期三、星期六、星期日
运行结果:
Solution:
1
赵钱孙李周吴陈
=============================================================
星期四星期一星期三星期五星期六星期二星期日
Solution:
2
赵钱孙李周吴陈
=============================================================
星期四星期一星期日星期五星期六星期二星期三
Solution:
3
赵钱孙李周吴陈
=============================================================
星期四星期六星期三星期五星期一星期二星期日
Solution:
4
赵钱孙李周吴陈
=============================================================
星期四星期六星期日星期五星期一星期二星期三
18、会员卡计费系统(2人)
设计一个会员卡计费管理系统。
功能要求:
(1)新会员登记。
(将会员个人信息及此会员的会员卡信息进行录入。
)
(2)会员信息修改。
(3)会员续费。
(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。
此时可以进行续费,续费后,提示成功,并显示更新后的信息。
)
(4)会员消费结算。
(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。
提示成功,并显示更新后的信息。
)累计消费满1000元,及自动升级为VIP会员。
之后每次消费给予9折优惠。
(4)会员退卡。
(收回会员卡,并将余额退还,删除该会员信息。
)
(5)用菜单进行管理
(6)统计功能。
能够按每个会员的缴费总额进行排序。
在排序的最后一行显示所有会员的缴费总额,以及消费总额。
能够按累计消费总额进行排序。
在排序的最后一行显示所有会员的缴费总额,以及消费总额。
19、电子英汉词典
实现简单电子英汉词典的功能,具体管理操作包括单词的添加、显示、查找、删除、修改和保存等。
功能要求:
1、采用结构体数组,每个数据的结构应当包括:
单词的英文拼写,单词的中文释义。
2、系统功能:
a. 词条录入:
即添加单词记录。
b. 信息显示:
将所有的单词按字母顺序显示。
c. 词条修改:
对已经输入的单词信息进行修改。
d. 词条删除:
删除某个单词记录。
e. 单词查询:
输入单词英文拼写,输出该单词的中文释义。
f. 信息保存:
将单词信息保存到文件。
g. 退出系统
3、系统使用说明:
执行一个具体的功能之后,程序将重新显示功能菜单。
系统的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。
测试数据:
要求被选用的词条有30个左右,简单单词为主。
20、飞机订票系统(2人)
功能:
本飞机共有80个坐位,分20排,每排4个位子。
编号为A,B,C,D。
如10D
表示10排D座。
A和D靠窗,19到20排为吸烟区。
本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。
定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:
建立一个小系统,包括5排座位,两个区域,能供乘客选择;
3、进一步要求:
完成全部功能的系统。
要求:
1、用C语言实现系统;
2、函数功能要划分好(结构化程序设计);
3、界面友好(良好的人机交互),加必要的注释;
4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运
行起来,不能运行的程序是没有价值的。