ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:522.38KB ,
资源ID:6399649      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6399649.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(95分C++毕业课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

95分C++毕业课程设计报告.docx

1、95分C+毕业课程设计报告(此文档为word格式,下载后您可任意编辑修改!)C+程序设计课程设计报告 题目: 个人必备三大件 院 (系) 理学院 专 业 数学与信息类 学生姓名 学 号 班级序号 任课教师 提交日期 三大件之一 股票交易管理系统 第一章 课程设计目的和实现功能 4 1.1课程设计的目的 1.2课程设计实现功能简介第二章 详细设计说明 2.1 新增函数 5 2.2 分模块函数说明与流程图 2.2.1 类的使用 6 2.2.2 新用户注册 7 2.2.3 用户登录 添加删除股票 8 挂起挂出股票 8 买卖股票 8 2.2.4 查看股票情况 9 2.2.5 退出系统 10第三章 演示

2、示例 10 第4章 调试错误与改正反思 14第六章 心得体会14 第一章 课程设计目的和实现功能1.1 课程设计的目的进一步巩固C+程序设计所学的知识,加强对数组、指针、结构体、文件数据类型的应用,熟悉面向过程的结构化和面向对象的可视化程序设计方法,加深对高级语言C+的理解,锻炼程序设计、程序调试、以及用C+语言解决实际问题的能力,为后续课程打好基础,进行此次课程设计。在调试、编译过程中,遇到error和warming,自主寻找错误根源,改正后再继续调试的过程,无疑是巩固C+基础的最好途径。1.2 课程设计实现功能简介设计一个小型的股票交易管理系统,实现: (1)系统以菜单方式工作:打开.ex

3、e可执行文件后,进入选择页面,用户 输入相应数字进入“股票交易市场”“用户登录” “新用户注册”“退出”功能;(2) 股票交易市场:从系统菜单进入,显示5个股票的代码、流通、发行、 挂出情况;(3) 用户登录: 从系统菜单进入,输入用户名和密码以登录,登录后再进 入选择菜单, 进行如下选择: 买入和卖出:用户输入股票代码和交易股数; 添加新股票:输入股票名、代码、流通数和发行价; 挂出新股票:显示所有股票,提示用户输入要挂出的股票代码; 删除已有股:显示所有股票,提示用户输入要删除的股票代码; 挂起股票: 显示所有股票,提示用户输入要挂起的股票代码; 修改代码和名称:输入原代码进行修改; 查看

4、: 显示股市信息和用户资金信息; 退出:回到原菜单; (4) 新用户注册: 显示欢迎界面,请用户输入姓名和密码(小于8位数), 设置“是否成为管理员”(对股票的挂起和删除有作用) 显示开户成功。(5) 系统退出功能:在菜单中选择0直接退出。 第二章 详细设计说明2.1 新增函数根据课程设计要求,新增以下函数: 新增加的函数 完成的情况 Input_For_New_Stock()添加新股票 先对股票数据进行读取,显示股票信息,提示输入股票代码,考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我对程序加入了一些代码,从而解决这些异常。然后调用Input_For_New_Stock(

5、),提示输入股票的名称、代码、流通股数量、发行价,同时随机生成股票上市价。最后,在Stock_File.dat的空位置插入存储新股票信息。 Delete_Stock()删除旧股票 先对股票数据进行读取,显示股票信息。然后调用Delete_Stock(),提示输入要删除的股票代码,同样考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。 Hang_Up_Stock()挂起股票,停止交易 先对股票数据进行读取,显示股票信息。然后调用Hang_Up_Stock(),提示输入要挂起的股票代码,同样考虑到输入流读取时会出现的一些错误

6、,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。 Modify_Stock()修改股票的名称、代码 先对股票数据进行读取,显示股票信息。然后调用Modify_Stock(),提示输入要修改的股票代码,同样考虑到输入流读取时会出现的一些错误,如输入回车,输入错误代码等,我加入了一些代码,从而解决这些异常。最后,存储修改后的信息。 2.2 分模块函数说明与流程图 2.2.1 类的使用此程序中共定义了两个类,类内声明类外定义。 Stock类(存放股票数据,类中方 法对股票进行各项操作) Customer类(存放用户信息,类中方 法对用户进行各项操作) 原程序

7、缺陷:程序反复声明了Stock和Customer类的同一对象,浪费了系统资源;在一些函数调用中也存在缺陷,比如存在Input_For_New_Stock()方法,但是只有在第一次使用是才会调用,Customer类中原有Switch_function()也没有调用。在用户选择登录时,无法辨别用户名,只根据密码进行登录,当遇到密码相同的用户时,就分不清楚用户。密码是显示输入的不能有效的受到保护。 2.2.2 新用户注册void Customer:Register(Customer *cust) char ch; system(cls); 执行系统命令:清屏=cls cin.get(); cout欢

8、迎进入 * 股票交易系统*endl; coutendl; cout输入用户名: ; cin.getline(customer_name,30); cout输入您的密码(少于 8 字): endl; char ch; int i=0; cout.flush(); ch=getch(); 开始while(ch!=13) passwordi+=ch; cout*; cout.flush(); ch=getch(); 欢迎界面 passwordi=0; 输入用户名 coutendl; coutzzch; shzh=0; money=zzch; cout是否设为管理员?(yn)ch; if(ch=y|c

9、h=Y) gly=1; cout已设置.; 是否设为管理员else if(ch=n|ch=N) gly=0;else cout默认为非管理员.;getch();system(cls);coutendlendl;cout注册成功.endl; 注册成功 按任意键返回cout按任意键返回.endl;getch(); 此部分主要使用 ifelse 条件判断句 对“是否设为管理员”进行选择。 2.2.3 用户登录1、登录:输入用户名和密码,使用if(strcmp(pass_word,password)=0)语句进行核对。 进入选择页面: Switch2、添加删除股票(以删除为例) 否 您无权删除股票!

10、case 5 是否为管理员 是 void Stock:Delete_Stock() 3、挂出挂起股票(以挂起为例) 代码错误 代码正确 不能挂起 4、买卖股票 (以买入为例) 2.2.4 查看股票情况 在最初的选择菜单中选择“1”进入股票交易市场,显示代码、流通数、发行价、是否挂起的信息。case 1:进入股票交易市场system(cls);coutnntt* 股票交易市场* endl;coutttendl;cout 公司tt代码 t流通股t可动股 t发行价 上市价 状态endl;coutendl;for(int x=0;x5;+x)sharex.Stock_Exchange_Market()

11、;getch();temp.Interface();break;2.2.5 退出系统 case 0:退出system(cls);cout感谢您使用 * 股票交易市场*endl;coutt再见!endl;exit(0); 第三章 演示示例 第四章 调试错误与改正反思1、c:usersdelldesktopc+课程设计c+源程序3_4_4股票交易管理.cpp(8) : error C2008: = : unexpected in macro definition 错误原因及改正:#define MAX=5 #define MAX 5 将等于号去掉2、在连接中出现错误:3_4_4股票交易管理.obj

12、 : error LNK2001: unresolved external symbol public: void _thiscall Stock:Save(class Stock * const) (?QAEXQAV1Z) 经查找,错误原因为void Stock:Save(Stock t)仅声明 未定义。3、多层括号混乱问题。4、个别词汇拼写错误 出现“undeclare”的错误5、在其他错误中,还出现了“;”的疏漏 第五章 心得体会 经过他人的帮助,终于完成了此次课程设计,收获颇丰。通过请教、编辑、调试,毋庸置疑使我在理论、操作方面都有所提高,学会了如何将所学知识应用到实际,体会到C语言的

13、强大。但由于所学知识有限、编程经验不足,课程设计进行中遭遇错误、卡壳、无从下手等困难,但正由此可见,实践对于学习C语言的重要性。因此,为了在今后必要时能熟练使用C+语言,还需时常的学习和长久的应用训练,使之成为自己的一项本领。参考文献: C+程序设计实践指导 谭浩强主编 清华大学出版社 2005年三大件之二 电话簿管理系统 第一章 课程设计目的和实现功能17 1.1课程设计的目的 1.2课程设计实现功能简介第2章 详细设计说明 2.1 主函数 18 2.2 分模块函数说明与流程图 2.2.1 类的使用 19 2.2.2 添加电话簿记录 20 2.2.3 显示电话簿内容 20 2.2.4 根据姓

14、名查询电话簿数据 21 2.2.5 根据姓名删除电话簿数据 22 2.2.6 退出系统 23 第三章 演示示例 24 第5章 调试错误与改正反思 26第五章 心得体会 26 第一章 课程设计目的和实现功能1.1 课程设计的目的进一步巩固C+程序设计所学的知识,加强对数组、指针、结构体、文件数据类型的应用,熟悉面向过程的结构化和面向对象的可视化程序设计方法,加深对高级语言C+的理解,锻炼程序设计、程序调试、以及用C+语言解决实际问题的能力,为后续课程打好基础,进行此次课程设计。在调试、编译过程中,遇到error和warming,自主寻找错误根源,改正后再继续调试的过程,无疑是巩固C+基础的最好途

15、径。1.2 课程设计实现功能简介设计一个小型的电话薄程序,实现:(1)系统以菜单方式工作:打开.exe可执行文件后,进入选择页面,用户 输入相应数字进入“添加”“显示”“查询” “删除”“退出”功能;(2)信息录入功能:系统提示输入姓名(最多20位,以0结束);回车后系 统提示输入电话号码(最多20位,回车结束);(3)信息浏览功能:同一联系人姓名与号码同行 以15个字节隔开;(4)信息查询功能:输入需要查找的姓名(以0结束),若找到,输出相应 信息,若未找到,显示错误信息并提示重新输入;(5)信息删除功能:输入需要查找的姓名(以0结束),若找到,先输出此 联系人信息,再进行删除,并提示“*的

16、资料已删除”(6)系统退出功能:将链表中的数据保存,屏幕输出“欢迎再次使用”。程序中综合、大量运用了类(类内定义类外生命)、数组、指针、引用 ifelse条件语句,while和dowhile循环语句。 第二章 详细设计说明2.1 主函数 2.2 分模块函数说明与流程图2.2.1 类的使用在此电话簿程序中,共定义了四个类,其中一个为派生类,如下: class CData 定义数据基类 class CNode 定义节点基类 class CList class CTelRecord:public CData 电话薄记录,为数据基类的共有派生类在类内定义后,类外声明如下:CNode * CList:G

17、etListNextNode(CNode *pnode) 返回链表指定节点的下一个结点void CList:AddNode(CNode *pnode) 在首部添加节点CNode *CList:DeleteNode(CNode *pnode) 删除一个指定的节点,返回该节点的指针CNode *CList:LookUp(CData &data) 查找一个指定的数据,返回该数据所在节点在链表 中的指针,若未找到返回0void CList:ShowList() 打印整个链表数据void CList:DeleteList() 删除整个链表结点 int CTelRecord:Compare(CData &

18、data) 比较姓名,供查找用,比较结果为1、0、-1void CTelRecord:Show() 打印一个结点的数据2.2.2 添加电话簿记录void AddRecord(CList &TelList) 将记录添加到链表中 CNode *pNode; CTelRecord *pTel; char szName20,szNumber20; cout输入姓名(输入0结束): ; cin.ignore(); cin.getline(szName,20); while(strcmp(szName,0) coutSetRecord(szName,szNumber); 数据类对象赋值 pNode=new

19、 CNode; 生成新的节点 pNode-InputData(pTel); 结点赋值 TelList.AddNode(pNode); 结点加入链表 cout输入姓名(输入0结束):; cin.getline(szName,20); coutendlendl; 在此模块中 调用了 SetRecord InputData TelList.AddNode 函数,使用了if条件判断句。 2.2.3 显示电话簿内容void DisplayRecord(CList &TelList) 显示全部链表数据 coutsetw(15)姓名setw(15)电话号码endl; TelList.ShowList();

20、coutendlendl; 先输出文字“姓名”、“电话号码” 换行 调用TelList.ShowList函数2.2.4 根据姓名查询电话簿数据void LookUpRecord(CList &TelList) 按照姓名查找电话簿数据 CNode *pLook; char szName20; cout输入您需要查找的姓名(输入0 结束); cin.getline(szName,20); while(strcmp(szName,0) CTelRecord tele(szName,0); 生成结点 pLook=TelList.LookUp(tele); 查找指定节点的数据 if(pLook) cou

21、t在电话簿中找到szName,内容是:ShowNode(); else cout在电话簿中查找不到szName.endl; cout输入您需要查找的姓名(输入0 结束); cin.getline(szName,20); coutendlendl; system(pause); 在此模块中 调用了 CTelRecord tel TelList.LookUp ShowNode 函数, 使用了if条件判断句和while循环句 。 2.2.5 根据姓名删除电话簿数据void DeleteRecord(CList &TelList) 在链表中删除指定结点的数据 CNode *pLook; char sz

22、Name20; cout输入您需要删除的姓名(输入0结束); cin.getline(szName,20); while(strcmp(szName,0) CTelRecord tele(szName,0); pLook=TelList.LookUp(tele); if(pLook) 删除时应先查找出结点 cout在电话簿中找到szName,内容是:ShowNode(); TelList.DeleteNode(pLook); coutszName的资料已删除endl; delete pLook; else cout在电话簿中查找不到szName.endl; cout输入您需要删除的姓名(输入0

23、结束); cin.getline(szName,20); coutendlendl;在此模块中 调用了 CTelRecord tele ShowNode TelList.DeleteNode 函数,使用了if条件判断句和while循环句 ,使用了指针和delete指针功能 2.2.6 退出系统void StoreFile(CList &TelList) 将链表中的数据保存在文件中 ofstream outfile(TELEPHONE.DAT,ios:binary); if(!outfile) coutGetData(); 返回节点指向的数据域指针 outfile.write(char *)pT

24、el,sizeof(CTelRecord); 将数据域写入文件 pnode=TelList.GetListNextNode(pnode); 取下一结点的指针 outfile.close();使用了指针、if条件判断句,while循环句,调用了GetData函数,TelList.GetListNextNode函数。 第三章 演示示例1.添加电话簿内容2.输入0结束,再进入选择菜单3. 显示电话簿内容,显示后自动回到选择菜单4.根据姓名查询电话簿数据,输入“李四”5.根据姓名删除电话簿数据,输入“李四”6.退出系统 第四章 调试错误与改正反思1、 C:UsersDELLDesktopC+课程设计C

25、+源程序3_4_1电话簿.cpp(239) : error C2059: syntax error : sizeof 错误出现在“outfile.write(char *)pTel,sizeof(CTelRecord); 将数据域写入文件”语句中,错误原因为把“,”误打成“.”。(char *)pTel和sizeof(CTelRecord)为两个实参,应用逗号分开。 2. C:UsersDELLDesktopC+课程设计C+源程序3_4_1电话簿.cpp(255) : error C2065: StoreFlie : undeclared identifier 出现undeclared错误,即知为“未定义”,出现了漏打或误打的问题,经检查,原因为file拼写错误。3. 在其他错误中,还出现了“;”的疏漏,多重括号的疏漏的问题。 通过调试,基本看到错误提示可以自行认识到错误根源,认知并一条一条改正错误的过程使得对错误的识别能力得到提高 第五章 心得体会 本次课程设计涵盖了大一C+学习的重要知识点,课程设计题目不仅要求对课本知识有较为深刻的理解,而且还具有实际性。把散的知识紧凑的运用到一起,把调试的过程一点一点落实改正,对学习掌握

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1