软课程方案任务书C.docx
《软课程方案任务书C.docx》由会员分享,可在线阅读,更多相关《软课程方案任务书C.docx(13页珍藏版)》请在冰豆网上搜索。
软课程方案任务书C
课程设计任务书
课程名称面向对象程序设计课程设计
院部名称南京国际软件学院
专业软件工程<服务外包)
班级12软件工程<1)
指导教师李尤丰
金陵科技学院教务处制
1.课程设计应达到的目的
该课程设计的目的采用面向对象的程序设计语言,开发实现一个应用程序,主要目的是使学生更好的掌握面向对象程序设计语言及其开发工具,掌握如何使用面向对象的程序设计语言设计一个小的软件系统。
通过该课程设计培养学生分析和解决实际问题的能力,培养学生综合应用基本概念,基本原理,和技术方法的能力,真正做到学以致用,使课本上抽象的理论,方法与具体的实践应用相结合。
2.课程设计题目及要求
一、题目
课程设计以实际应用中的小型题目为主,要求学生独立完成或合作完成。
要求学生能根据不同的题目,用程序开发工具解决若干个问题,具体题目如下:
1.加密解密
要求:
<1)设计算法,对文件进行基于字符变形的加密/解密。
<2)编写程序,程序运行需要口令,口令存放在一个文件中,为了避免口令文件被阅读,不能以明文形式存放,利用<1)的思路,生成一个口令密文文件,可以修改口令。
2.二叉树的遍历
输入一棵树的各个节点信息,输出各种遍历的序列<先根、后根、中根、层次)。
输入其中两种遍历序列,试图构造出该树,并输出其他两种遍历序列。
3.排序算法的动态显示
要求:
输入要排序的数据<或可以随机生成),选择排序方式<选择排序、插入排序等),把排序的过程一步一步显示出来。
4.文件备份管理程序
要求:
在备份磁盘文件<目录)时,往往需要知道备份的时间。
编写程序,选择要备份的文件<目录)、确定备份到的路径,进行备份,并且记录该备份活动供以后查询。
例如:
5.一个小型题库系统
开发一个基于文件型的题库,题型包括选择、判断、填空、问答题,自行设计题目格式,实现题目和参考答案的录入、修改、查询、命题、答题、统计等功能。
6.计算机病毒的检测
要求:
<1)基于特征串的病毒搜索<2)给可执行文件做免疫处理,生成一个校验文件,防修改,防感染。
特征串可以由用户修改。
<所用到的知识点:
计算机病毒的基本原理,文件的操作技巧,目录文件名的搜索方法,字符串的匹配算法,校验算法的设计。
)
7.人员信息资料管理
具体设计要求实现如下功能:
<1)建立人员信息数据,包括编号、姓名、性别、出生时间、岗位<部门)、参加工作时间和年龄<必须通过计算得到)等等其他信息;
<2)根据人员信息表,建立只含有姓名和年龄的信息简表<可选功能);
<3)使用继承的方法构造3个类,<即人员类——虚基类,教师类和学生类——派生类)使用相应的对象放置10个人员信息;
<4)编写同名display(>成员函数,用来输出数组的内容;
<5)按不同类别输出人员信息,比如按系输出教师信息<可选功能);
<6)要求对“<<”和“>>”运算符进行重载。
考虑到输入人员编号时,也会因不小心引入空格,而且名字中也需要有空格,所以重载“>>’’运算符时,需要满足这个要求;
<7)抽取并计算人员的平均年龄;
<8)检索<查找)指定信息<如按姓名检索、按年龄检索);
<9)显示年龄分布的图形;
参考系统界面如下:
1-增加一位人员<教师、学生)记录
2-显示全部人员记录
3-计算人员平均年龄
4-删除一个人员记录
5-按岗位<部门)输出人员信息<可选)
6-按姓名检索所有信息
7-结束程序运行
8.五子棋程序
五子棋是一种两人对弈的纯策略型棋类游戏。
只要任意一方在棋盘上其同一个回合上连为五子为胜。
五子棋游戏的规则:
黑方先走对局的第一步。
黑白双方依次落子,在棋盘上横向、竖向,以及斜向等八个方向形成相同颜色的连续五个棋子称为“五连”。
对局双方首先形成五连者为胜,在双方均认为不能形成五连时为和棋。
该游戏应使用绘图函数完成游戏界面,应具有键盘或鼠标控制功能。
棋盘:
采用像棋盘一样的棋盘。
下法:
两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子,无子的交叉又被称为空点。
输赢判断:
黑、白双方有一方的五个棋子在横、竖或斜方向上连接成一线即为该方赢。
9.程序符号匹配检查器
要求:
对C语言程序中必须成对出现的符号如“<)”、“[]”、“{}”、“/**/”等进行检测。
<1)要成对出现。
<2)不能交叉。
10.成绩管理系统
主要功能是输入学生的学号、姓名对其进行存储,在存储后可以对学生的成绩按学号和姓名进行查寻。
该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。
具体的功能:
<1)帮助;
<2)输入数据并存入文件;
<3)根据学号查询成绩;
<4)根据姓名查询成绩;
<5)输出文件内容;
<6)统计及格和优秀人数;
<7)退出。
11.影碟租凭系统
<1)设计一个的菜单将在实现的功能显示出来,并有选择提示;
<2)影碟分为三类:
CD、DVD、VCD,能够这三类影碟实现增加、删除、修改功能;
<3)影碟出租后动态的修改库存信息,并根据租用影碟的数目和天数计算打印出相关信息;
<4)要求有错误提示功能,例如输入日期,输入错误提示重新输入。
创新要求:
影碟的信息可以通过文件保存,根据出租的情况动态更新。
12.选择题考试系统
要求实现选择题考试系统,系统功能要求:
<1)用文件保存试卷库<每题包括题干、4个备选答案、标准答案);
<2)试卷录入:
可随时增加试卷到试卷库中;
<3)试卷抽取:
每次从试卷库中随机抽取N道题,N由键盘输入;
<4)答题:
用户输入自己的答案;
<5)自动判卷:
系统根据标准答案实现自动判卷,并给出成绩。
13.图书管理系统
【题目描述】
请设计一个图书登记管理程序。
该程序应该具有下列功能:
(1>通过键盘输入某本图书的信息,并能对图书进行增加、修改、删除和查找;
(2>通过键盘输入读者信息,并可以增加读者、修改读者、删除读者、查找读者和显示读者信息;
(3>实现借阅功能;
(4>实现还书功能。
【题目要求】
(1>按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;
(2>图书信息应该包含:
编号、书名、作者姓名、出版社、价格等;
(3>为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作工程。
【输入要求】
应用程序运行后,在屏幕上显示一个菜单<菜单显示外观见前面的图示)。
用户可以根据需求,选定相应的操作工程。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
【输出要求】
(1>应用程序运行后,要在屏幕上显示一个菜单;
(2>要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
14.小型企业工资管理系统
【题目描述】
请设计一个小型工资管理程序。
该程序应该具有下列功能:
(1>通过键盘输入某个员工的详细信息<名字、工号、年龄、性别、职位、工资状况);
(2>给定员工工号,显示该员工的详细信息;
(3>给定员工工号,可以对于员工数据进行修改;
(4>给定员工工号,删除该员工的信息;
(5>提供一些统计各类信息的功能<如按工资排序、年龄排序等)。
【题目要求】
(1>按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;
(2>员工信息应该包含:
名字、工号、年龄、性别、职位、工资状况等;
(3>为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作工程。
【输入要求】
应用程序运行后,在屏幕上显示一个菜单<菜单显示外观见前面的图示)。
用户可以根据需求,选定相应的操作工程。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
【输出要求】
(1>应用程序运行后,要在屏幕上显示一个菜单;
(2>要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
15.学生成绩管理系统
【题目描述】
请设计一个学生成绩的管理程序。
该程序应该具有下列功能:
(1>通过键盘输入某位学生的学生信息<包括各门课程的成绩);
(2>实现查询功能,给定某个学生的学号,查看学生的信息;
(3>实现输出功能,显示该班所有学生的信息;
(4>给定某位学生的学号,修改该学生的学生信息;
(5>给定某位学生的学号,删除该学生的学生信息;
(6>提供一些统计各类信息的功能。
【题目要求】
(1>按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;
(2>学生证应该包含的信息请参看自己的学生证;
(3>为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作工程。
【输入要求】
应用程序运行后,在屏幕上显示一个菜单<菜单显示外观见前面的图示)。
用户可以根据需求,选定相应的操作工程。
进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
【输出要求】
(1>应用程序运行后,要在屏幕上显示一个菜单;
(2>要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
16.通讯录管理系统
【题目描述】
编写一个通讯录管理程序。
有一已存在的通讯录文件,数据内容为各联系人信息。
每个联系人信息的组成部分为:
姓名、电话号码和住址等个人基本信息,并假设已有两个联系人。
要求完成以下功能:
<1)输出联系人:
打开通讯录文件并显示其中的数据;
<2)添加联系人;
<3)查找联系人:
利用字符串函数,按“姓名”查找;
<4)修改联系人:
可以修改该联系人的任一个信息;
<5)保存到文件:
将操作结果保存到已存在的通讯录文件;
<6)用子函数实现各个子功能。
【输入】程序正常运行后,屏幕上显示一个文字菜单<根据序号选定相应的操作工程),当用户选定操作工程所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
【输出】
应用程序正常运行后,要在屏幕上显示一个文字菜单;
要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
17.学籍信息管理
【题目描述】
编写一个学籍信息管理程序,以一个班级为例。
学籍信息的组成部分为:
学号、姓名、性别、出生日期、政治面貌和家庭住址等。
具体实现以下功能:
<1)添加:
学号自动加1;
<2)删除;
<3)修改;
<4)查询:
可按多个条件查询;
<5)用子函数实现各个子功能。
【输入】程序正常运行后,屏幕上显示一个文字菜单<根据序号选定相应的操作工程),当用户选定操作工程所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
【输出】<1)应用程序正常运行后,要在屏幕上显示一个文字菜单;
<2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
18.校友录管理
【题目描述】
编写一个校友录管理软件。
校友的信息包括姓名、性别、年龄、届别、系、班级、通讯地址、电话、QQ、Email等。
具体实现的功能:
能够实现数据的录入、查询<按姓名、届别、系、班级)、修改、删除、排序<按姓名、届别)。
【输入】程序正常运行后,屏幕上显示一个文字菜单<根据序号选定相应的操作工程),当用户选定操作工程所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
【输出】<1)应用程序正常运行后,要在屏幕上显示一个文字菜单;
<2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
19.银行定期存储系统
【题目描述】
设计一个银行定期储蓄系统,承担用户的定期存款和取款业务。
具体功能为:
<1)实现描述银行的类Bank:
记录系统中现有哪些定期储户。
定义生成储户的函数Append,按照账号删除储户的函数Delete,按照账号查询储户的函数Query,并显示查询结果;
<2)定义定期储户类:
具有账号、存款人姓名、期限、金额等属性,操作:
存款、取款<处理取款业务,金额不足给予提示,金额足时计算所取出金额的利息,若期限未满,利息按活期计算)、转期限<原期限未满,利息按活期计算,并以期限存入)、显示储户所有信息;
<3)可以根据菜单命令增加、删除和查询储户,以及储户存款和取款的操作。
【输入】程序正常运行后,屏幕上显示一个文字菜单<根据序号选定相应的操作工程),当用户选定操作工程所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
【输出】<1)应用程序正常运行后,要在屏幕上显示一个文字菜单;
<2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
20.职工信息管理
【题目描述】
为某小型公司编写一个职工信息管理软件。
该管理软件处理的对象:
公司、部门、职工,公司总经理1位,部门若干,部门内设有部门经理1位、职工若干位等等。
具体实现以下功能:
<1)能够查询公司的总信息、部门信息;
<2)通过键盘把某位职工添加到相应部门;
<3)能够按姓名查询职工的信息;
<4)给定某个部门的编号,显示该部门所有职工的信息;
<5)给定某位职工的总编号,修改该职工的各信息。
【输入】程序正常运行后,屏幕上显示一个文字菜单<根据序号选定相应的操作工程),当用户选定操作工程所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
【输出】<1)应用程序正常运行后,要在屏幕上显示一个文字菜单;
<2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
根据合理的进度安排,踏实的开展课程设计活动。
课程设计过程中,根据选题的具体要求,在编程实现环节中撰写相关的技术文档,最后要求提交详细的课程设计报告。
开发出可以运行的程序,通过上机检查。
在本课程设计过程中要求学生:
<1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
<2)按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;
<3)按时到计算中心上机,并接受教师的检查;
<4)认真撰写课程设计报告。
二、要求
根据合理的进度安排,踏实的开展课程设计活动。
课程设计过程中,根据选题的具体要求,在编程实现环节中撰写相关的技术文档,最后要求提交详细的课程设计报告。
开发出可以运行的程序,通过上机检查。
3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕
1.课程设计任务
完成选定的题目的开发工作,并接受程序运行检查。
要求提交报告一份。
2.在本课程设计过程中要求学生:
<1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
<2)按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;
<3)按时到计算中心上机,并接受教师的检查;
<4)认真撰写课程设计报告。
4.主要参考文献
1.根据自己选的题目,选定相应的参考书。
2.郑莉等,C++语言程序设计,清华大学出版社,2018.
3.StanleyB.Lippman,C++Primer中文版,人民邮电出版社,2006.
5.课程设计时间安排
起止日期
工作内容
12月6日-12月12日
12月13日-12月27日
12月27日-1月3日
选定题目进行系统设计分析
根据要求进行软件的程序编码
进行程序调试,并记录运行
撰写课程设计报告
6.成绩考核办法
课程设计成绩评定的依据有设计文档资料、具体实现设计方案的内容及课程设计考勤登记表,其中平时成绩占总成绩的20%,设计报告<说明书)和设计作品各占40%。
主要分以下几个等级:
优:
能圆满完成任务书所规定的各项任务,对所研究的问题分析、计算、论证能力强,在某些方面有一定的独到见解;说明书、图纸规范,质量高;完成的软硬件达到或高于规定的性能指标;语言简洁、准确、流畅,文档齐全,书写规范。
良:
能完成任务书所规定的各项任务,对所研究的问题分析、计算、论证能力较强,某些见解有一定新意;说明书、图纸符合规范,质量较高;完成的软、硬件基本达到规定的性能指标;语言准确、流畅,文档齐全,书写规范。
中:
能完成任务书所规定的各项任务,对所研究的问题表现出一定的分析、计算、论证能力;说明书、图纸质量一般;完成的软、硬件尚能达到规定的性能指标;语言较准确,文档基本齐全,书写比较规范。
及格:
基本完成了任务书所规定的各项任务,对所研究的问题能进行分析、计算、论证;说明书、图纸不够完整;完成的软、硬件性能较差;语言较准确,书写尚规范。
不及格:
未完成任务书所规定的各项任务,对所研究的问题分析、计算、论证很少;说明书、图纸质量较差或有抄袭现象;完成的软硬件性能差;内容空泛,表述不清。
提交的电子文档和产品必须是由学生自己独立完成,雷同者教师有权视其情况扣分或记零分。
教研室审查意见:
教研室主任签字:
年月日