c++三级项目设计.docx
- 文档编号:29920682
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:31
- 大小:48.94KB
c++三级项目设计.docx
《c++三级项目设计.docx》由会员分享,可在线阅读,更多相关《c++三级项目设计.docx(31页珍藏版)》请在冰豆网上搜索。
c++三级项目设计
一、三级项目设计的目的与要求
目的:
1、培养学生应用面向对象程序设计方法及思想解决实际问题的能力。
2、培养学生掌握使用面向对象程序设计语言C++和面向对象开发平台VisualC++。
3、培养学生调查研究,查阅技术文献、资料、手册以及编写技术文献的能力。
要求:
1、要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
2、要求在设计的过程中,建立清晰的类层次;
3、在系统的设计中,至少要用到面向对象的一种机制。
4、创新要求:
在基本要求达到后,可进行创新设计,如扩展程序功能等。
5、项目设计完成后,每位同学必须提交项目设计报告。
(设计报告参见下面范例的形式)
二、书写格式
1、项目设计报告要求用A4纸打印成册;
2、标题为:
一级、二级标题为黑体小三号,三级标题为黑体小四号;
正文为:
宋体小四号。
三、评分标准:
序号
评定标准
分值
评定结果
1
项目设计报告符合规范,条理清晰,重点突出
20%
2
程序实现设计方案,软件可靠性好,程序代码注释清晰
60%
3
项目设计有自己的收获、体会、感受,等等
10%
4
有一定的创新性,难易程度
10%
合计
成绩:
教师签字:
评定日期:
注意事项
项目设计采用分组的方式进行,每组人数3人,,同组同学做同一个题目,可以互相讨论,但必须独立完成,每位同学的实现方式应不同。
(共10个题目,每组1题,不得重复)。
请大家按小组编号建立各个的文件夹,在文件夹内要:
(1)一个WORD文档,说明小组成员及小组的选题和系统特色及创新之处。
(2)程序源代码(每人用一个子文件夹存放,文件夹名字为“学号+姓名”)
(3)课程设计报告。
(每人一份,用一个子文件夹存放,文件夹名字为“学号+姓名”)
班长或学委将这些文件夹统一刻录在光盘上于考试前(具体时间另行通知)上交光盘。
过时不收,按没完成处理。
三级项目设计题目
题号
A01
仓库管理系统
总体需求
编写一个仓库管理程序管理仓库内货物的信息。
仓库中货物信息的组成部分为:
货物编号、货物名称、货物单价、货物数量等。
功能需求
1)增加或删除货物信息
2)按编号或名称查询货物信息
3)显示库存量不足一定值(由用户从键盘输入)的货物信息
4)显示所有货物的信息
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)将货物信息定义为一个结构体;货物编号应唯一,不可重复。
3)采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A02
学生成绩管理系统
总体需求
编写一个班级的学生成绩管理程序
学生信息的组成部分为:
学号、姓名、学生所学课程的成绩数组、课程平均分等。
设每个学生学习的课程数目为4(语文、数学、英语、物理)
功能需求
1)增加或删除学生信息(除平均分外)
2)求每个学生的课程平均分。
3)输出个人平均分超过90分的学生的信息,包括学号、姓名和平均分。
4)按学生课程平均分的成绩进行排序(由高到低或由低到高),并输出排序结果。
5)修改学生信息。
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)将学生信息定义为一个结构体;采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A03
火车票订票管理
总体需求
编写一个简单的火车票订票管理程序
完成查找、订票和修改、查询等,每张车票包含车次、出发城市、目的城市、发车时间、到达时间、票价和票数信息。
功能需求
1)录入火车车票信息。
2)实现查找功能,按车次或目的城市显示相应记录
3)实现订票功能,即输入目的城市显示所有相关信息,可根据自己情况选择相应车次,此时会显示剩余票数,输入个人信息(ID和姓名)及订票数即可完成订票。
4)实现修改功能,即输入车次号,若该车存在即可以对其所有信息进行修改。
5)实现所有车票显示信息。
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)将车票信息定义为一个结构体;
3)采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A04
通讯录管理
总体需求
编写一个通讯录管理程序
有一已存在的通讯录文件,数据内容为各联系人信息。
每个联系人信息的组成部分为:
姓名、电话号码和住址等个人基本信息。
假设已有两个联系人
功能需求
1)输出联系人:
打开通讯录文件并显示其中的数据
2)添加联系人
3)查找联系人:
利用字符串函数,按“姓名、电话号码”查找等、
4)修改联系人:
可以修改该联系人的任一个信息
5)保存到文件:
将操作结果保存到已存在的通讯录文件
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序
2)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
3)将联系人信息定义为一个结构体;采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A05
图书管理
总体需求
编写一个图书管理程序
图书信息的组成部分为:
书号、书名、作者名、出版社、出版时间、价格等。
功能需求
1)新书上架:
添加图书信息
2)图书浏览:
输出所有图书信息
3)图书查询:
可按书号、书名或作者名查询(按书号查询时,因书号唯一,结果仅为一条记录;按书名或作者名查询时,结果可能为多条记录)
4)图书下架:
删除指定图书信息,如按书号
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序
2)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
3)将图书信息定义为一个结构体;书号应唯一,不可重复;采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A06
影碟管理系统
总体需求
编写一个影碟管理程序
影碟信息的组成部分为:
碟片名称、国家、类型、借阅状态(可借阅、已借出),数量等
功能需求
1)新片上架:
添加碟片信息
2)碟片查询:
按片名查询某片是否可借阅,结果有三种(可借阅、已借出、无此片)。
按类型查询等
3)碟片下架:
删除碟片信息
4)碟片状态修改:
借阅状态
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定操作项目),当用户选定操作项目对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)影碟信息可定义为一个结构体;关键在于考虑出租信息的表示,这将决定实现借阅和归还操作的算法。
采用文件保存数据。
题号
A07
商品销售管理
总体需求
编写一个商品销售管理程序
商品信息的组成部分为:
商品编号、商品名称、商品单价、生产商、库存量等。
销售单信息的组成部分为:
商品编号、商品名称、商品单价、购买数量、应付金额等。
功能需求
1)商品上架:
添加商品信息2)商品浏览:
输出商品信息
3)商品销售:
输入商品编号和购买数量,通过商品编号,获得商品名称和单价,修改该商品的库存量,计算该商品应付金额。
一个销售单可包含多个商品,操作结束时应给出整个销售单应支付的金额。
4)商品查询
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)商品信息可定义为一个结构体;采用文件保存数据。
题号
A08
学生选课信息管理
总体需求
在程序中定义选课和学生信息。
假设开设有数学、物理、计算机、英语4门课程,每生至多选修4门课。
功能需求
1)输入学生基本信息及所选课程、课程成绩
2)根据学生姓名和选课名称修改课程成绩
3)查询所有学生的所有选课信息
4)根据名字查询某个学生的选课信息及所有选课的总平均成绩。
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)将课程和学生的信息定义为结构体;每个人和每门课的编号应唯一,不可重复。
3)采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A09
员工信息管理
总体需求
编写一个员工信息管理系统。
员工信息包括:
工号姓名性别职务年龄电话基本工资等。
功能需求
1)员工信息的添加和删除
2)员工信息的修改
3)显示所有员工的信息
4)根据名字查询某个员工或根据职务查询该职务所有员工。
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
题号
A10
小型超市商品管理
总体需求
设计一个小型超市商品管理系统。
某小型超市销售的商品有四类:
食品、化妆品、生活用品和饮料。
每类商品都有商品名称、编号、进价、售价等。
每类商品还有区别于其他类的特殊信息,如食品有进货日期,保质期,化妆品有品牌,生活用品有类别(服装、鞋帽、清洁用品等),饮料有生产厂家等。
功能需求
1)可按类别输入商品的基本信息或删除信息
2)根据商品名称或类别查询商品信息
3)修改商品信息
4)计算并显示商品利润
用户界面
输入:
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
输出:
1)应用程序正常运行后,要在屏幕上显示一个文字菜单
2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等
提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2)每种商品编号应唯一,不可重复。
3)采用文件保存数据,关于文件的读写方法请参见教材的“文件”章节。
东莞理工学院
三级项目设计报告
课程:
高级语言程序设计
学号:
姓名:
班级:
教师:
年月日
目录
第一章系统概述2
1.1功能简介2
1.2设计思路2
第二章系统功能的分析和设计3
2.1初始录入功能3
2.2添加函数3
2.3删除函数3
2.4修改函数3
2.5查询函数4
2.5.1按学号查询4
2.5.2按姓名查询4
2.6显示函数4
2.7退出系统4
第三章调试及运行结果5
3.1主菜单5
3.2显示功能5
3.3增加功能5
3.4删除功能6
3.5修改功能6
3.6查询功能6
第四章总结8
4.1遇到的问题及解决方法8
4.2收获和体会8
附录:
详细的程序代码
第一章系统概述
1.1功能简介
本软件是一个简单的学校学生信息管理系统,软件窗口为DOS页面。
学生信息管理系统的功能主要是实现学校学生的信息化管理。
通过学生信息管理系统,教学管理人员可以实现对学生信息的增加、删除、修改和查询等操作。
本系统最大的优点就是操作简便快捷等。
1.2设计思路
将学生信息定义为一个student类,在类中包含私有数据成员intnum、stringname、stringsex、stringpolitic、stringaddress,分别表示学号、姓名、性别、政治面貌、家庭住址。
公有成员函数包括set(),add(),del(),change(),research(),show(),分别用来实现对学生信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据功能。
然后定义了一个menu()菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作。
主函数是一个程序必不可少的,在主函数中,使用一个switch语句来选择调用主菜单中的各个功能函数。
第二章系统功能的分析和设计
在本章中,主要是介绍各个功能函数的设计思路和实现方法。
2.1初始录入功能
此函数实现的功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何数据,可以通过次函数输入任意个学生的信息,在输入时通过一个if条件语句来实现控制循环,当输入的姓名是“0”时,使用break语句就跳出循环,即停止输入学生信息。
在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt文件,使输入的学生信息都写入文件。
2.2添加函数
此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息。
在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。
2.3删除函数
此函数实现的功能主要是,删除一个学生的信息。
在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人的信息,关闭文件。
再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。
2.4修改函数
此函数实现的功能主要是,修改一个学生的信息。
此函数的设计方法和删除函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。
2.5查询函数
在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查询和按姓名查询。
使用if语句来选择查询条件。
2.5.1按学号查询
根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定的,所以并使用break语句跳出循环。
当无查询结果时,会输出一条提示信息“无此人信息!
”。
2.5.2按姓名查询
根据提示信息输入姓名后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名学生。
当无查询结果时,会输出一条提示信息“无此人信息!
”。
2.6显示函数
此函数实现的功能主要是,显示所有学生的信息。
先是从文件中读取学生信息,然后在输出到显示窗口中。
用一个for循环语句,来把所有学生的信息都输出。
2.7退出系统
当输入“0”时,就能退出系统,这是通过while语句来控制实现的。
第三章调试及运行结果
3.1主菜单
主菜单显示如下:
图3-1主菜单
3.2显示功能
按6则显示全部信息,如图3-2:
图3-2显示功能
3.3增加功能
进入主菜单后选择2,进入增加功能,按要求输入学生信息,增加数据前显示如图3-2:
增加后显示如图3-3:
图3-3增加后
3.4删除功能
进入主菜单后选择3,进入删除功能,按要求输入要删除的学生信息,删除数据前显示如图3-3:
删除数据后显示如图3-4:
图3-4删除后
3.5修改功能
进入主菜单后选择4,进入修改功能,按要求输入要修改的学生信息,修改数据前显示如图3-4:
修改后如图3-5:
图3-5修改后
3.6查询功能
进入主菜单后选择5,进入查询功能,如图3-6:
图3-6选择查询条件
按学号查询如图3-7:
按姓名查询如图3-8:
图3-7按学好查询:
图3-8按姓名查询
第四章总结
4.1遇到的问题及解决方法
写出程序设计、调试过程中遇到的问题及思考解决的过程、结果等。
4.2收获和体会
个人感受
附录:
程序代码
#include
#include
#include
#include
usingnamespacestd;
#defineM200//可以存信息总量
intN=0;//学生总量
classstudent
{
public:
student();
voidset();//初始化信息,第一次对信息的录入
voidadd();//添加学生信息
voiddel();//删除某学生信息
voidchange();//修改某学生信息
voidsearch();//查询某学生信息
voiddisplay();//显示全部学生信息
private:
staticintnum;
stringname,sex,politic,address;
};
intstudent:
:
num=110;
student:
:
student(){}
voidstudent:
:
set()
{
inti;
stringsetname,setsex,setpolitic,setaddress;
ofstreamoutfile;
outfile.open("f1.txt",ios:
:
out);//----打开文件----
if(!
outfile)
{
cerr<<"openerror"< exit (1); } //----依次录入相应个数的学生信息---- for(i=0;i { cout<<"当姓名输入为'0'时,停止输入! ! ! "< cout<<"请输入姓名: "< cin>>setname; name=setname; if(setname=="0")break; if(setname! ="0") { N++; num++; outfile< outfile< cout<<"请输入性别: "< cin>>setsex; sex=setsex; outfile< cout<<"请输入政治面貌: "< cin>>setpolitic; politic=setpolitic; outfile< cout<<"请输入家庭住址: "< cin>>setaddress; address=setaddress; outfile< } } outfile.close();//----关闭文件---- } voidstudent: : add() { stringaddname,addsex,addpolitic,addaddress; //----以追加的方式录入信息,直接将信息追加到以前文件的末尾---- ofstreamoutfile("f1.txt",ios: : app); if(! outfile) { cerr<<"openerror"< exit (1); } N=N+1; //----依次输入相应的数据,并且追加到之前的文件中去---- cout<<"请输入您
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 三级 项目 设计