网上购书系统.docx
《网上购书系统.docx》由会员分享,可在线阅读,更多相关《网上购书系统.docx(11页珍藏版)》请在冰豆网上搜索。
网上购书系统
网上购书系统(总14页)
一、需求分析
随着互联网的不断发展,先如今网购逐渐的成为了一中很时尚的购物方式,它的好处有很多,在我看来主要是因为,它大大地节省了人们购物的时间,而且比较的方便快捷,与此同时它又给人们带来了更大的选择的空间。
因此网购被人们所青睐便成为了一种理所当然的事情。
于是与此相关的购物系统便应运而生,这便是我们这网上购书系统的社会需求。
而且,从经济利益上而言,它也是一种性价比比较高的。
应为它主要是以C++为基础而开发的,相对而言研发成本比较低。
所以在经济上是可行的。
同时,有了在一系统的扶持之后,能够大大的提高我们的工作效率。
所以综上而言,该系统的开发是很可行的。
二、系统的主要功能
实现功能:
网站后台:
1、管理员登录2、网站图书信息管理3、网站注册会员信息管理。
网站图书信息管理:
1、增加图书信息2、修改图书信息3、删除图书信息4、打印图书信息
网站注册会员信息管理:
1、增加会员信息2、修改会员信息3、删除会员信息4、打印会员信息
网站前台:
用户网上购书
1、网上选书2、用户登录3、完善客户信息4、确认订单5、提交订单
三、流程图
四、数据结构设计
这个系统用的数据类型有整型,字符型。
这个系统包括的功能模块有:
网站后台管理主要包括两个模块:
1、网站图书信息管理;2、网站注册会员信息管理
网站前台主要实现:
用户网上选书、完善客户资料、确认订单、提交订单等功能。
homepage.cpp:
系统主界面
pass.cpp:
系统管理员登录界面
backstage.cpp:
后台管理主界面
bsbook.cpp、bsbook.h:
图书信息管理系统
bspeople.cpp、bspeople.h:
会员信息管理系统
frontstage.cpp:
网站前台购书主界面
fsshopping.cpp、person.h:
网上购书系统
wait.cpp:
虚拟网站管理员登录等待状态
quit.cpp:
系统退出
五、类设计
定义book类,采用switchcase语句、dowhile语句、链表、文件流操作及调用函数backstage()实现其功能。
book类成员:
Booknumber、Bookname、BookID、Bookauther、Bookpublisher、Bookprice
定义people类,采用switchcase语句、dowhile语句、链表、文件流操作及调用函数backstage()实现其功能。
people类成员:
Peoplenumber、Peoplename、Password、grade
定义person类、Tbook类、Tpeople类,采用switchcase语句、dowhile语句及调用wait()、quit()函数来实现其功能。
buyer类成员:
name、buyerID、address、phonenumber、postnode
定义buyer为基类,另外定义layfolk类及member类分别继承基类buyer,基类中display()和setpay()采用抽象方法。
Tbook类成员:
Booknumber、Bookname、BookID、Bookauther、Bookpublisher、Bookprice
定义Tbook类用来打开文件BookInformation.txt文件,读入网站图书信息并将客户所购图书写到其定义的一个链表中
Tpeople类成员:
Peoplenumber、Peoplename、Password、grade
定义Tpeople类用来打开PeopleInformation.txt文件,读入会员信息
知识点:
类、链表、文件流操作,switchcase语句、dowhile语句、fflush(stdin)函数。
六、主要算法设计
模块一、homepage.cpp:
系统主界面
实现:
采用switchcase语句、dowhile语句及调用wait()、quit()、pass()、frontstage()函数实现其功能。
知识点:
switchcase语句、dowhile语句、system("cls")语句、system("color").......
system("colar02");是表示黑背景绿色字
颜色属性由两个十六进制数字指定--第一个为背景,第二个则为前景。
每个数字可以为以下任何值之一:
0=黑色8=灰色
1=蓝色9=淡蓝色
2=绿色A=淡绿色
3=湖蓝色B=淡浅绿色
4=红色C=淡红色
5=紫色D=淡紫色
6=黄色E=淡黄色
7=白色F=亮白色.
模块二、pass.cpp:
系统管理员登录界面
登陆成功,进入网站后台操作,若三次输入姓名和密码不相匹配,系统将会自动退出!
实现:
for循环,字符串比较
知识点:
strcmp(string1,string2)
模块三、backstage.cpp:
后台管理主界面
实现:
采用switchcase、dowhile语句及调用bsbook()、bspeople()、wait()、quit()函数实现其功能。
知识点:
switchcase语句、dowhile语句。
模块四、bsbook.cpp、bsbook.h:
图书信息管理系统
实现:
定义book类,采用switchcase语句、dowhile语句、链表、文件流操作及调用函数backstage()实现其功能。
book类成员:
Booknumber、Bookname、BookID、Bookauther、Bookpublisher、Bookprice
增加图书信息调用insert()函数
修改图书信息调用revise()函数
删除图书信息调用del1()、del2()函数
打印图书信息调用print()函数
图书信息保存调用save()函数
从文件BookInformation.txt中读取信息,并转化成链表调用change()函数
知识点:
类定义、链表、文件流、switchcase语句、dowhile语句、cerr、getch()函数
1.cerr与cout的区别:
cerr与cout的主要区分就是,cout输出的信息可以重定向,而cerr只能输出到标准输出(显示器)上。
例如下面程序编译后生成test.exe
//test.cpp
#include
intmain()
{
cout<<"helloworld---cout"< cerr<<"helloworld---cerr"< return0;
}
在命令行模式下键入下面的命令:
test>>cout.txt
运行结果是:
在生成的cout.txt文件中输出了"helloworld---cout",同时在显示器上输出了"helloworld---cerr"也就是说cout的输出可以重定向到一个文件中,而cerr必须输出在显示器上。
conio.h不是C标准库中的头文件。
conio是ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,
比如getch()函数等等。
包含的函数
cgets(char*);
cprintf(constchar*,...);
cputs(constchar*);
cscanf(constchar*,...);
inp(unsignedshort);
inpw(unsignedshort);
getch(void);
getche(void);
kbhit(void);
outp(unsignedshort,int);
outpw(unsignedshort,unsignedshort);
putch(int);
ungetch(int);
void_Cdeclclreol(void);
void_Cdeclclrscr(void);
void_Cdecldelline(void);
………………
模块五、bspeople.cpp、bspeople.h:
会员信息管理系统
实现:
定义people类,采用switchcase语句、dowhile语句、链表、文件流操作及调用函数backstage()实现其功能。
people类成员:
Peoplenumber、Peoplename、Password、grade
增加会员信息调用rinsert()函数
修改会员信息调用rrevise()函数
删除会员信息调用rdel1()、rdel2()函数
打印会员信息调用rprint()函数
会员信息保存调用rsave()函数
从文件PeopleInformation.txt中读取信息,并转化成链表调用rchange()函数
知识点:
类定义、链表、文件流、switchcase语句、dowhile语句、cerr
模块六、frontstage.cpp:
网站前台购书主界面
实现:
采用swithcase语句、dowhile语句及调用wait()、quit()、fsshopping()、函数实现其功能。
知识点:
swithcase语句、dowhile语句。
模块七、fsshopping.cpp、person.h:
网上购书系统
实现:
定义person类、Tbook类、Tpeople类,采用switchcase语句、dowhile语句及调用wait()、quit()函数来实现其功能。
buyer类成员:
name、buyerID、address、phonenumber、postnode
定义buyer为基类,另外定义layfolk类及member类分别继承基类buyer,基类中display()和setpay()采用抽象方法。
Tbook类成员:
Booknumber、Bookname、BookID、Bookauther、Bookpublisher、Bookprice
定义Tbook类用来打开文件BookInformation.txt文件,读入网站图书信息并将客户所购图书写到其定义的一个链表中
Tpeople类成员:
Peoplenumber、Peoplename、Password、grade
定义Tpeople类用来打开PeopleInformation.txt文件,读入会员信息
知识点:
类、链表、文件流操作,switchcase语句、dowhile语句、fflush(stdin)函数。
fflush(stdin)函数
清除前面信息.
例如
gets(a);
fflush(stdin);
gets(b);
如果没有用fflush(stdin);
那么gets(b);
就会默认把上一次输入后的"回车"作为结果输给b;
stdin就是标准输入
std即standard(标准),in即输入,合起来就是标准
输入。
一般就是指键盘输入到缓冲区里的东西。
模块八、wait.cpp:
虚拟网站管理员登录等待状态
知识点:
采用函数:
sleep()
作用:
延时,程序暂停若干时间z。
时间,就是他的参数,单位是毫秒。
需调用windows.h
例如:
Sleep(500);
就是到这里停半秒,然后继续向下执行。
\b表示退一格
\b表示退一格\\表示转义字符\而-、/、|即表示-、/、|
块九、quit.cpp:
系统退出
当管理员或购书用户退出系统时将出现此界面
七、主要代码
主要代码段:
//test.cpp
#include
intmain()
{
cout<<"helloworld---cout"< cerr<<"helloworld---cerr"< return0;
}
cgets(char*);
cprintf(constchar*,...);
cputs(constchar*);
cscanf(constchar*,...);
inp(unsignedshort);
inpw(unsignedshort);
getch(void);
getche(void);
kbhit(void);
outp(unsignedshort,int);
outpw(unsignedshort,unsignedshort);
putch(int);
ungetch(int);
void_Cdeclclreol(void);
void_Cdeclclrscr(void);
void_Cdecldelline(void);
………………
八、系统运行结果样例
网上购书系统主界面
管理员登陆成功界面
三次输入姓名和密码有误系统登录失败界面
网站后台登陆成功主界面
网站图书信息管理主界面
增加图书界面
网站图书修改主界面
网站图书删除主界面
按编号删除图书界面
按书名删除图书界面
打印所有图书信息界面
网站前台登录主界面
会员消费说明界面
购书流程说明
网上购书开始选书界面
继续购书界面
网上选书流程结束
确认购买书目界面
购书人账号登录界面
svip会员登录完善信息界面
普通会员登录完善信息界面
确认订单信息界面
选择付款方式界面
提交订单,购书成功退出网上购书系统
联系我们界面
九、结束语
《C++高级语言程序设计》是一门重要的专业基础课。
此次课程设计的目的是以C++程序设计语言为基础,通过完成一些具有一定难度的课程设计题目的编写、调试、运行工作,使我进一步掌握面向过程和面向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合。
从而提高自我分析问题、解决问题的能力。
培养独立的C++语言程序实际与算法设计方法,具备初步的独立分析和设计能力。
软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
能够综合运用所学的理论知识和方法进行独立分析和解决问题的能力。
在这次大作业中我又一次的体会到什么是“书到用时方恨少”和“看起来容易做起来难了”。
因此在以后的学习中,我一定会好好地学习每一门功课,并且努力认真的去实践。
争取作个行动的“巨人”。
最后感谢我的老师给我们来了那么多的新鲜的知识,让我们接触到了另外的一种计算机语言。
俗话说:
师傅领进门修行在个人。
老师你算是把我们领进来了,接下来的就看我们自己的了。
我们一定会好好的努力不会让您失望的。
指导教师评语:
成绩:
签名: