版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学与信息技术学院面向对象课程设计报告网上购书系统设计班 级 08计算机(2) 学 号 姓 名 王 磊 指导教师 郭 晓 梅 完成日期:2009年11月23日摘 要该网上购书系统是用C+语言来写的,主要用到了C+中的类,链表,文件流知识。其能实现网站后台图书、会员信息管理和前台用户购书操作。网站后台管理主要包括两个模块:1、网站图书信息管理 2、网站注册会员信息管理。各模块实现功能,包括增加图书(会员)信息、修改图书(会员)信息、删除图书(会员)信息、打印所有图书(会员)信息、并把所有图书(会员)信息保存到相关txt文件中其实现方法都采用c+中的类,链表,文件流操作。 网站前台主要实现:用户网
2、上选书、完善客户资料、确认订单、提交订单等功能。 关键字:C+;类;链表;文件流;网上购书;图书信息管理;会员信息管理目 录1 设计目的、意义.42 设计任务.43 系统总框架.5 3.1 系统框架图.5 3.2 系统开发环境.6 3.3 系统功能模块.64 程序模块详细分析.75 程序开发与调试.116 分析与讨论.20 6.1 程序创新.20 6.2 编程中遇到的问题.227 编程体会、心得.248 参考文献.241、设计目的、意义1、加深对C+面向对象语言课程所学知识的理解,进一步巩固C+面向对象语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C+语言程序,从而具备解决综合性实际
3、问题的能力。 2、熟悉和学习软件开发的过程和方法,增强软件开发的能力。3、熟悉课程设计报告的格式、规范,获取制作课程设计报告的能力。4、设计一个网上购书系统,实现网站后台图书、会员信息管理及网站前台用户购书功能。2、设计任务网上购书系统要求:用C+语言编写,使用类,链表,文件流知识来设计系统。实现功能:一、 网站后台:1、管理员登录 2、网站图书信息管理 3、网站注册会员信息管理。网站图书信息管理:1增加图书信息 2修改图书信息 3 删除图书信息 4 打印图书信息网站注册会员信息管理:1 增加会员信息 2 修改会员信息 3 删除会员信息 4 打印会员信息二、 网站前台:用户网上购书1 网上选书
4、 2 用户登录 3 完善客户信息 4 确认订单 5 提交订单 3、系统总框架3.1 系统框架图网上购书网站后台管理网站前台购书管理员登录图书信息管理会员信息管理会员消费说明购书流程说明开始网站购书联系我们网上选书客户端登录完善订单信息提交订单退出增加图书修改图书信息删除图书打印图书信息增加会员修改会员信息删除会员打印会员信息完成购书退出3.2 系统开发环境 项目运行的软、硬件环境: Windows操作系统以及相应的软硬件 Microsoft Visual C+ 6.0 3.3 系统功能模块 1、 homepage.cpp: 系统主界面2、 pass.cpp:系统管理员登录界面3、 backst
5、age.cpp:后台管理主界面4、 bsbook.cpp、bsbook.h:图书信息管理系统5、 bspeople.cpp、bspeople.h:会员信息管理系统6、 frontstage.cpp:网站前台购书主界面7、 fsshopping.cpp、person.h:网上购书系统8、 wait.cpp:虚拟网站管理员登录等待状态9、 quit.cpp:系统退出4、程序模块详细分析模块一、homepage.cpp: 系统主界面 实现: 采用 switch case 语句、do while 语句及调用wait()、quit()、pass()、frontstage()函数实现其功能。 知识点: s
6、witch case 语句、do while 语句、system(cls)语句、system( color). system(colar 02);是表示黑背景绿色字 颜色属性由两个十六进制数字指定 - 第一个为背景,第二个则为前景。 每个数字可以为以下任何值之一: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 湖蓝色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色 6 = 黄色 E = 淡黄色 7 = 白色 F = 亮白色.模块二、pass.cpp:系统管理员登录界面登陆成功,进入网站后台操作,若三次输入姓名和密码
7、不相匹配,系统将会自动退出!实现:for循环,字符串比较知识点:strcmp(string1,string2);模块三、backstage.cpp:后台管理主界面 实现: 采用switch case 、do while 语句及调用bsbook()、bspeople()、wait()、quit()函数实现其功能。 知识点: switch case 语句、do while 语句。模块四、bsbook.cpp、bsbook.h:图书信息管理系统实现: 定义book类,采用switch case 语句、do while语句、链表、文件流操作及调用函数backstage()实现其功能。 book类成员:
8、Booknumber、Bookname、BookID、Bookauther、Bookpublisher、Bookprice 增加图书信息调用insert()函数 修改图书信息调用revise()函数 删除图书信息调用del1()、del2()函数 打印图书信息调用print()函数 图书信息保存调用save()函数 从文件BookInformation.txt中读取信息,并转化成链表调用change()函数 知识点: 类定义、链表、文件流、switch case语句、do while 语句、cerr、getch()函数1.cerr与cout的区别: cerr与cout的主要区分就是,cout输
9、出的信息可以重定向,而cerr只能输出到标准输出(显示器)上。 例如下面程序编译后生成test.exe / test.cpp #include int main() cout hello world-cout endl ; cerr hello world-cerr cout.txt 运行结果是: 在生成的cout.txt文件中输出了hello world-cout,同时在显示器上输出了helloworld-cerr 也就是说cout的输出可以重定向到一个文件中,而cerr必须输出在显示器上。2.conio.h头文件 conio.h不是C标准库中的头文件。 conio是Console Inpu
10、t/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作, 比如getch()函数等等。 包含的函数 cgets(char *); cprintf(const char *, .); cputs(const char *); cscanf(const char *, .); inp(unsigned short); inpw(unsigned short); getch(void); getche(void); kbhit(void); outp(unsigned short, int); outpw(unsigned
11、short, unsigned short); putch(int); ungetch(int); void _Cdecl clreol (void); void _Cdecl clrscr (void); void _Cdecl delline (void); 模块五、bspeople.cpp、bspeople.h:会员信息管理系统实现: 定义people类,采用switch case 语句、do while语句、链表、文件流操作及调用函数backstage()实现其功能。 people类成员:Peoplenumber、Peoplename、Password、grade 增加会员信息调用ri
12、nsert()函数 修改会员信息调用rrevise()函数 删除会员信息调用rdel1()、rdel2()函数 打印会员信息调用rprint()函数 会员信息保存调用rsave()函数 从文件PeopleInformation.txt中读取信息,并转化成链表调用rchange()函数 知识点: 类定义、链表、文件流、switch case语句、do while 语句、cerr模块六、frontstage.cpp:网站前台购书主界面实现: 采用swith case 语句、do while 语句及调用wait()、quit()、fsshopping()、函数实现其功能。 知识点: swith ca
13、se 语句、do while 语句。模块七、fsshopping.cpp、person.h:网上购书系统实现: 定义person类、Tbook类、Tpeople类,采用switch case 语句、do while 语句及调用wait()、quit()函数来实现其功能。 buyer类成员:name、buyerID、address、phonenumber、postnode 定义buyer为基类,另外定义layfolk类及member类分别继承基类buyer,基类中display()和setpay()采用抽象方法。 Tbook类成员:Booknumber、Bookname、BookID、Booka
14、uther、Bookpublisher、Bookprice 定义Tbook类用来打开文件BookInformation.txt文件,读入网站图书信息并将客户所购图书写到其定义的一个链表中 Tpeople类成员:Peoplenumber、Peoplename、Password、grade 定义Tpeople类用来打开PeopleInformation.txt文件,读入会员信息 知识点: 类、链表、文件流操作,switch case 语句、do while 语句、fflush(stdin)函数。 fflush(stdin)函数 清除前面信息. 例如 gets(a); fflush(stdin);
15、gets(b); 如果没有用fflush(stdin); 那么gets(b); 就会默认把上一次输入后的回车作为结果输给b;stdin就是标准输入std即standard(标准),in即输入,合起来就是标准输入。 一般就是指键盘输入到缓冲区里的东西。模块八、wait.cpp:虚拟网站管理员登录等待状态知识点: 采用函数: sleep() 作用: 延时,程序暂停若干时间z。时间,就是他的参数,单位是毫秒。需调用windows.h 例如: Sleep (500) ; 就是到这里停半秒,然后继续向下执行。 b 表示退一格 b表示退一格 表示转义字符 而-、/、|即表示-、/、|块九、quit.cpp
16、:系统退出 当管理员或购书用户退出系统时将出现此界面5、程序开发与调试1. 网上购书系统主界面 2.1管理员登陆成功界面 2.2 三次输入姓名和密码有误系统登录失败界面 3网站后台登陆成功主界面 3.1 网站图书信息管理主界面3.2 增加图书界面3.3网站图书修改主界面3.4 网站图书删除主界面3.5 按编号删除图书界面3.6 按书名删除图书界面3.7 打印所有图书信息界面 4 网站前台登录主界面4.1 会员消费说明界面4.2 购书流程说明4.3_1 网上购书开始选书界面4.3_2 继续购书界面4.3_3 网上选书流程结束4.3_4 确认购买书目界面4.3_5 购书人账号登录界面4.3_5_1
17、 svip会员登录完善信息界面4.3_5_2 普通会员登录完善信息界面4.3_6 确认订单信息界面4.3_7 选择付款方式界面4.3_8 提交订单,购书成功退出网上购书系统4.4 联系我们界面 6、分析与讨论6.1、程序创新 1、改变以往界面色调,采用函数system(colar ) system(colar 02);是表示黑背景绿色字 颜色属性由两个十六进制数字指定 - 第一个为背景,第二个则为前景。 每个数字可以为以下任何值之一: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 湖蓝色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 =
18、紫色 D = 淡紫色 6 = 黄色 E = 淡黄色 7 = 白色 F = 亮白色. 以往风格: 采用system(colar )函数后窗口界面:2、后台管理员登录时,若三次输入姓名与密码不想匹配,系统将会自动退出3、虚拟管理员成功登陆等待状态4、编写程序采用分模块风格,使得源程序代码可读性提高,在编程、调试时都带来很大的方便。 6.2、编程中遇到的问题1、 输出控制格式知识点掌握不牢,导致打印图书信息时出现如下不美观界面:然后求助于C+交流QQ群中的一位好心人,采用setw(int),及left 控制,得到如下界面:2、 图书编号一开始是管理员手动输入,但在程序调试过程中出现如下不合常理状况未删除信息前截屏:删除编号为5的图书后,再次打印图书信息时出现编号4和编号6间缺少编号5,按道理应该是编号6变成5,以后编号依次减少一:解决方法:在change()函数中加入如下代码:Static countnumber=1;f=pt;while(f) f-Booknumber=countnumber; countnumber+; f=f-next; 使得每次打开文件写入链表时都重新编号加入代码后,再次打印出现如下希望出现的界面:7、编程体会、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《大学物理稳恒磁场》课件
- 图书馆管理系统
- 新编大学德语第一册(第二版)课文翻译-20220723101727
- 亚洲澳门国际公开大学(澳门城市大学)招生简章最
- 湖北汽车工业学院科技学院《机械设计》2021-2022学年第一学期期末试卷
- 湖北汽车工业学院科技学院《材料工程基础》2023-2024学年第一学期期末试卷
- 申请书格式模板5篇
- 区域分析与规划教程
- 《如何制作专业化的》课件
- 煤矿作业规程培训
- 教师职业病教育
- 2024年云南省公务员录用考试《行测》真题及答案解析
- 2024-2030年中国粉末冶金制造行业“十四五”发展动态与发展方向建议报告
- 2024-2030年中国小苏打行业发展前景预测及投资潜力分析报告
- 17 难忘的泼水节(第一课时)公开课一等奖创新教学设计
- 一年级数学20以内加减法口算混合练习题
- 矿山安全生产培训
- 2024年执业药师继续教育专业答案
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 自然资源调查监测劳动和技能竞赛
- 建筑公司安全生产专项整治三年行动实施方案
评论
0/150
提交评论