C语言课程课设报告-网上购物管理系统_第1页
C语言课程课设报告-网上购物管理系统_第2页
C语言课程课设报告-网上购物管理系统_第3页
C语言课程课设报告-网上购物管理系统_第4页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

臺中科技火學课程设计报告题目: 网上购物管理系统 专业班级:自动化学院自动化1305班小组成员:陈文伟U201314660闻福阳U201314658指导教师:周纯杰何顶新周凯波彭刚报告日期:2014年11月7日自动化学院课程设计任务书ー、课题名称网上购物系统二、课题内容建立完整的网上购物系统,功能要完善,界面要美观,所用的系统原则上能够运行的准确无误收集与阅读相关文献资料,确定系统目标与范围,分析系统需求,确定系统功能;设计系统方案,完成系统实现;提交《课程设计报告》。三主要参考文献[1]王土元.C语言高级实用程序设计.北京:清华大学出版社1996[2]周纯杰刘正林等.标准C语言程序及应用.武汉:华中科技大学出版社2005【3】谭浩强.C语言程序设计北京:清华大学出版社2000[4]曹计昌,卢萍,李开.C语言与程序设计,北京:电子工业出版社,,2013【5】张引.C程序设计基础课程设计,杭州:浙江大学出版社,2007[6]黄明,梁旭,万洪莉.C语言课程设计,北京:电子工业出版社,2006!引言TOC\o"1-5"\h\z课题背景和意义 4编写目的 4预期实现 52系统需求分析与总体设计系统需求分析 5运行环境 6流程图 63界面设计及功能界面的展现 8结构体中参数定义说明 14\o"CurrentDocument"4课设中遇到问题 26\o"CurrentDocument"5总结与展望 27全文总结 27工作展望 276体会 28\o"CurrentDocument"7时间安排 30\o"CurrentDocument"8程序源代码 30课题背景和意义在科学技术日新月异的今天,计算机已逐步渗入各个领域,无论是学习,工作,还是娱乐都普及了计算机的使用,而随着网络的开通、并与!nternet连接更让我们社会成为信息化的时代,人们不再需要浪费太多的时间去手工的获得信息,只要做在家中轻点几下鼠标不但能轻松获得各种信息,而且能够购买到自己需要的商品,既摆脱了时间和空间的限制又节约了大量的时间,因此熟练使用计算机及网络,已成为人们进入现代社会的必备技能。网上购物系统正是在这种情况下诞生并逐渐发展起来的,它已成为我们进行商品交易中不可缺少的部分。 网上购物系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,操作简单等编写目的当今比较流行的网上购物系统国外有"淘宝()”,国内有“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,以及当初设计的初衷,还有现在在网上购物这个板块中成熟的典例和了解和其中的代码原理,如何巧妙的将他们结合到ー起去,充分发挥他们的最大益处。熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项预期实现该课程设计的主要研究工作是研究如何满足顾客能够在网上成功购物的需求,如何建立这样ー种购物系统就是这次课程设计的主要研究工作。2系统需求分析与总体设计系统需求分析用户注册:用户可以在网上购物系统的主界面进行注册,或则直接登陆原来存在的用户,才能进行商品的购置。在注册时用户需填会员的大致信息(居住地,手机号码,会员名,会员密码等),并需要同意用户须知才能进行注册。网上购物:用户进行注册后,可以查看网上服装店中服饰的具体参数,并有自己的需求就行订购图商城里的商品,也可以直接购买或则加入购物车。。购物车:用户在选择自己如意的商品进行订购后,还可以查看当前所订购的商品,即可以进入购物车。④搜索功能的实现,以及注册登录,搜索时候错误信息的提示。

运行环境本课设戏是对网上购物管理系统的基本模拟,因此,对此系统的运行环境将是在计算机上面进行,即在电脑上模拟实现。根据模拟打靶系统设计环境要求,即在DOS环境下,用C语言编译实现,使用TC或BC开发软件,因此,此模拟系统可在绝大多数现形计算机系统上运行,包括最常见的windowsxp操作系统以及windows732位机上运行,但由于兼容性问题,此模拟打靶系统在含windows764位操作系统的计算机上运行可能出现意想不到的问题或根本不能运行,因而,不推荐在包含64位操作系统的计算机上测试本系统流程图册・一成注册功一・・注注册界面添加购物车搜索购物车个人中

心退出汽车食品家具购买记录付款界面商品详情如上操作如上操作确认购买3,界面设计与功能3,1界面的展现1»用户登入系统时见到的界面,显示“欢迎进入网上购物”,然后用户可以选择老用户登陆,也可选择注册,如需要退出,可以“退出系统”键退出。这次进入系统必须通过的验证。2,注册界面Fr«nMkipProgram:BCTMALL.COM所在地区七ゆ〇|2014-11-O7Fr用户可以在这里进行注册,填写自己的个人信息,完成会员注测。3,注册成功界面2x.FfMAMkip0,Program:BCTMALL.COM会员注册当用户看到此界面,说明用户已经注册成功,成为用户。4,个人主页,即为购物系统的主界面

此处为购物系统的主界面,用户可以从此处跳转到其他界面。5,购物车界面在这里你可以看到之前添加到购物车里面的商品并可以在此购买。6,商品详情页(电器)7,商品详情页(衣饰)8商品详情页(家具)sr.-商单年更立 可否伸縮即方产品风恪买家具结梅产品产地9,商品详情页(食品)10,商品详情页(出行工具)3D0SBc*^i7ZCpu^ycks:*m*x»品meikip0,»吋ルBC在此处可以确认订单,进行付款。12,购买成功14等待界面此界面为两个界面之间的调转(因为BC的画图很慢,所以进行衔接)3.2,结构体中参数的定义和说明函数头文件#include“common.h"所有的宏定义以及系统用到的函数均放到这里,这样程序会更加简洁,并且有利于检查。#ifndefCOMMON_H#defineCOMMON_H#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<dos.h>#include<graphics.h>#include<bios.h>#include<alloc.h>#include<math.h>#include<stdlib.h>#include<string.h>#include<time.h>;#include<stdio.h>〃时间 该函数用于系统时间的显示与读取voidshow_time();voidreadtime(long*);voidexchangetime(chars[80],long);〃鼠标 该函数用于鼠标的实现与操作voiddrawcursor(intx,inty);voidnewxy(int*mx,int*my,int*mbutt);intinitmouse(intxmi,intxma,intymi,intyma);intread(int*mx,int*my,int*mbutt);/Z输入 该函数用于键盘内容的读取char*input(intx,inty,intn,intm,intcolor);/Z图片 该列函数用于实现图片的插入intShowBmp(char*,int,inり;intGetColor(unsignedcharR,unsignedcharG,unsignedcharB,intx,inty);voidSetVideoMode(unsignedcharMode);voidSetPalReg(unsignedchar*PalReg);voidSetDacReg(unsignedchar*DacReg,intColor,intCount);voidPutPixel(intX,intY,unsignedcharColor);voidshow_bmpO(char*imagename);voidshow_bmpl(char*imagename);voidshow_bmp2(char*imagename);voidshow_bmp(char*imagename,int,int);〃汉字 汉字输出voidhanzil6(int,int,char*jutjnLii!り;

〃结构structconsumer(char*name;char*password;intshopcart[30];intnuml;intrecord[30];intnum2;chartime[30][30];);structcommo情(intrank;char*sort;char*name;intprice;〃个人信息的内容〃商品的信息详);〃个人信息的内容〃商品的信息详〃函数intgoumeichenggongO; 购买成功的提示intcheck(int,char*username,char*password);用于核对用户名与密码intshipin(int*currentgoods); 食品分类intenroll(int*ali,int*currentuser,char*currentname);注册界面intpay(int*currentuser,char*currentname);付款界面voidinitialize(); 系统的初始化操作intjiaju(int*currentgoods); 家具分类intmaininterface( int*currentgoods,int*currentuser,char*currentname,char*goodsspell[]);主界卸intperson(int*currentuser,char*currentname);个人中心界面voidread_in_shop(intn,intshop); 写入购物车voidread_in_stocks(intn,intrecord,char*time);写入购物记录voidread_in_person(intn,char*username,char*password);写入新注册用户信息intread_out_goods(intn,char*sort,char*name); 从文件读出商品信息intread_out_stocks(intn,char(*time)[80],int*record);读出购买记录intreginterface(int*,int*currentuser,char*currentname);登陆界面intsearch(char*input);商品搜索intdetail(int*currentgoods,int*currentuser,char*currentname,char*details口,char"assess口); 商品详情页intshipin(int"currentgoods);食品分类intshop_cartl(int*currentuser,char*currentname);购物车界面voidshop_cart(int*currentuser,char*currentname);购物车内容读取voidshow_enter(intx,inty,intn,intm,chars[])5 字符串换行voidtiaozhuan(); 界面之间跳转intyishi(int"currentgoods);衣饰分类intenrollsuccess(); 注册成功提示界面voidjiesuQ;结束界面intdianqi(int"currentgoods);电气分类intqiche(int*currentgoods);汽车分类typedefstructtagBITMAPFILEHEADER{〃位图文件头unsignedintbfType; //BMP指定文件类型,即BMunsignedlongbfSize; 〃指定文件大小,包括本结构大小(14节)unsignedintbfReservedl;unsignedintbfReserved2;unsignedlongbfoffBits; 〃文件头到实际位图数据的偏移量JBITMAPFILEHEADER;typedefstructtagBITMAPINFOHEADER{〃位图信息头unsignedlongbiSize; 〃指定本结构长度40unsignedlong biWidth; 〃宽度(像素)必须是4的整数unsignedlongbiHeight;unsignedintbiPlanes;〃值为!unsignedintbiBitCount; 〃指定表示颜色要用到的位yU/-数unsignedlongbiCompression;〃位图是否压缩

unsignedlongbiSizelmage;〃位图大小unsignedlongbiXPelsPerMeter;unsignedlongbiYPelsPerMeter;unsignedlongbiClrUsed; 〃本图实际用到的颜色数,若为〇,则有2的biclrused次方个颜色unsignedlongbiClrlmportant;JBITMAPINFOHEADER;〃调色板数组中元素typedefstructtagRGBQUAD{〃调色板数组中元素是这种结构unsignedcharunsignedcharunsignedcharunsignedcharJRGBQUAD;rgbBlue;unsignedcharunsignedcharunsignedcharunsignedcharJRGBQUAD;rgbBlue;rgbGreen;rgbRed;rgbReserved;/******************调用256缶位图**************//・文件头结构・/typedefstructtagBIT_MAP_FILE_HEADER(intbfType;longbfSize;〃文件大小,以字节为单位intbfReservedll;//保留泌须设置为零intbfReservedl2;〃保留,必须设置为零dlongbfOffBits; 〃从文件头开始到实际的图像数据之间的字节偏移量}BIT_MAP_FI1E_HEADER;/・信息头结构・/typedefstructtagBIT_MAP_INFO_HEADER(longbiSize; 〃信息头大小longbiWidth; 〃图像宽度longbiHeight; 〃图像高度intbiPlanes5 〃必须为1intbiBitCount; 〃每像素位数,必须是1,4,8或24longbiCompression;〃压缩方法longbiSizeimage; 〃实际图像大小,必须是4的倍数longbiXPelsPerMeter;〃水平方向每米像素数longbiYPelsPerMeter;〃垂直方向每米像素数longbiClrUsed;〃所用颜色数longbiClrlmportant;〃重要的颜色数}BIT_MAP_INFO_HEADER;/・调色板・//*typedefstructtagRGBQUADcharrgbBlue;〃蓝色分量charrgbGreen;〃绿色分量charrgbRed;〃红色分量charrgbReserved;JRGBQUAD; *//・换页函数・/voidselectpage(registercharpage);/*设置SVGA屏幕格式・/unsignedcharset_SVGA_mode(intvmode);/・获取当前SVGA屏幕格式・/unsignedintget_SVGA_mode();/・设置调色板・/voidset_SVGA_palette(unsignedcharr[],unsignedcharg[],unsignedcharb[]);#endif.课设中遇到的问题(一)课设中遇到了很多的问题。首先是找不到合适的框架。看了一些学长的课设,发现他们的框架各不相同。不过大都是通过函数嵌套的方式实现的,但他们的函数散布得比较凌乱,也就是说在ー个cpp中往往用到了其他CPP的函数,这样调试和查找十分麻烦,因此我决定采用ー个界面一个cpp的方式,把这个界面独有的函数均放在这个CPP中,这样哪个界面出了问题便只要找到这个界面的cpp就行了。而每个界面鼠标的使用也放到了每个界面的函数里。(二)在课设过程中,有时候因为自己的疏忽,会出现自己无法调试出的bug,但是自己看源代码却无法找到具体的原因,最后只有通过单步调试完成调试。(三)刚刚开始由于一切都不熟悉,很多地方都不知道怎么下手,刚刚画出的界面总是很丑,还有页面的跳转总是不按照自己的想法,最后经过很多次的更改,这一切得到了改正。.总结与展望全文总结对自己的工作做个总结,主要工作如下:(1)了解了课题背景和国内外现状。(2)详细分析了系统,并对系统进行了总体设计,成功用C语言编出网上购物管理管理系统。(3)对系统进行了测试,显示一切正常,并无错误出现。工作展望在今后的研究中,围绕着如下几个方面开展工作:(1)对系统进行优化,增加系统的功能。譬如增加统计功能。(2)优化系统界面,将文本菜单改成图形菜单。(3)优化代码,使代码的利用率提高。.体会闻福阳:第一次编写这样的系统,个人感觉十分吃カ。毕竟以前只是编写ー些很短的小程序,没有任何编写系统的经验。首先,编写程序的过程是十分艰苦的,因为程序过长,必须采用分块编写的方法。所以,我将程序按照功能分成几个部分,每个功能用ー个函数来实现,最后再将所有函数链接在ー起编译,最终成功完成系统的创建。通过这次课设,我觉得我的c语言水平还有很大的提高空间,期间出现很多的错误,尤其是全局变量的使用。多亏了一些朋友的帮助オ得以完成课设。更重要的一点:我发现程序的编写规范很有必要,像变量的名称(如果你随意命名,很可能到最后搞混)。完成课设着实让我收获很大,C语言博大精深,我不过只是掌握皮毛而已,我以后一定会继续学习C语言,争取能够更加熟练地运用C语言。最后,感谢老师和所有帮助过我的朋友们。陈文伟:这次课设将是历历在目的。因为挑战难度真的很大,以大一的C语言的知识根本不够用,因此只能看完王土元的书。最初的时候真的是完全没有头绪,一点也不懂怎么做,然后通过看书了解了一些图形的函数,并试着去编程,渐渐地有了一些头绪。有时候会为了框架而想了很久,想找到最好的框架。有时候会为了一些bug而头疼一整天。我们最初是想先将基本功能实现然后再去完善算法和美化界面,但最后在很多地方的实现方式上纠结了很久,最后オ选用了清屏再画的方式从而实现了打靶的功能。然后又再文件的存储上捣鼓了很久,总会遇到读取出错等问题。因此,课设的这几个月真是揪心。但最后收获还是很多的,懂得了许多图形函数,动画的实现,对程序的模块化也更清楚了,由最初的ー头雾水变成了条理清楚。7时间安排任务备注第4周系统需求分析与设计报告第5周界面设计,算法设计第6周键盘、鼠标接口设计,算法设计第7周编码实现第8周编码实现熬夜第9周编码实现、调试熬夜第10周调试、验收、提交报告熬夜八程序源代码#include"ommon.h"voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL)/・汉字输出函数・/(FILE*fp;charbuffer[32]; /*32字节的字模缓冲区・/registerm,n,i,j,k;unsignedcharqh,wh;unsignedlonglocation;if((fp=fopen("hzk16","rb,,))==NULL){printf("Cantopenhzkl6!");getch();exit(O);)while(*s){qh=*s-0xa0;wh=*(s+l)-0xa0;location=(94*(qh-l)+(wh-l))*32L; /・计算汉字字模在文件中的位置・/fseek(fp,location,SEEK_SET);fread(buffer,32,1,fp);for(i=0;i<16;i++)for(n=0;n<ROW;n++)for(j=0;j<2;j++)for(k=0;k<8;k++)for(m=0;m<COL;m++)if(((buffer[i*2+j]»(7-k))&0xl)!=NULL)putpixel(x+8*j*C0L+k*C0L+m,y+i*R0W+n,colour);s+=2;x+=18;/・汉字间距・/}fclose(fp);}Assess#include"common.h"intcheck(inta,char*username,char*password){char**name,**passwordl;inti=O,j,flag;FILE*fp;structconsumercon[4];if((fp=fopen("consumer.dat","rb"))==NULL)printf("can'topenthefile");getch();exit(l);)rewind(fp);for(i=0;i<a;i++)fseek(fp,i*sizeof(structconsumer),0);fread(&con[i],sizeof(structconsumer),1,fp);*(name+i)=con[i].name;*(password1+i)=con[i].password;fclose(fp);)for(i=0;i<a;i++){if(strcmp(*(name+i),usemame)==O){if(strcmp(*(password1+i),password)==0)flag=i;break;)else(flag=-2;})if(i>=a){flag=-l;))returnflag;}汉字#include"ommon.h"voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);/・/・汉字输出函数・/FILE*fp;charbuffer[32]; /*32字节的字模缓冲区*/registerm,n,i,j,k;unsignedcharqh,wh;unsignedlonglocation;if((fp=fopen("hzk16","rb,'))==NULL)(printf("Cantopenhzkl6!");getch();exit(O);)while(*s){qh=*s-0xa0;wh=*(s+l)-0xa0;location=(94*(qh-1)+(wh-1))*32L; /・计算汉字字模在文件中的位置・/fseek(fp,location,SEEK_SET);fread(buffer,32,1,fp);for(i=0;i<16;i++)for(n=0;n<ROW;n++)for(j=0;j<2;j++)for(k=0;k<8;k++)for(m=0;m<COL;m++)if(((buffer[i*2+j]»(7-k))&0x1)!=NULL)putpixel(x+8*j*C0L+k*C0L+m,y+i*R0W+n,colour);s+=2;x+=18;/・汉字间距・/)fclose(fp);)电器#include"common.h"//voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);//#include"C:\bc31\kesh\chinese.h"//#include"c:\\borlandc\\bin\\keshe\\SHOWBMPO.CPP"intdianqi(int*all,int*currentgoods)intdriver=VGA,mode=VGAHI,current,flag;initgraph(&driver,&mode,"bgi");intx,y,buttons,a;a=*all;cleardevice();setbkcolor(WHITE);setfillstyle(1,RED);bar(0,0,640,60);hanzi16(80,10,"商品分类",WHITE,2,1);hanzi16(220,20,"家用小家 CYAN,1,1);setcolor(RED);line(0,260,640,260);line(320,60,320,480);//rectangle(200,l00,440,180);setbkcolor(WHITE);setfillstyle(1,MAGENTA);bar(20,70,300,250);bar(20,270,300,450);bar(340,70,620,250);bar(340,270,620,450);hanzi16(160,80,“天语大黄蜂’,YELLOW,1,1);hanzi16(160,11〇,"机身颜色",WHITE,1,1);hanzi16(240,11〇,"土豪金",RED,1,1);hanzi16(160,140,"网络模式",WHITE,1,1);hanzil6(240,140,"双卡",RED,1,1);hanzil6(160,170,"电池容量",WHITE」」);outtextxy(240,173,"181OMAH");hanzi16(160,200,"机身内存",WHITE,1,1);outtextxy(240,200,"16GB");hanzi16(480,80,"索尼相机",YELLOW,1,1);hanzil6(480,110,"相机像素",WHITE」」);outtextxy(560,114,"2430");hanzil6(600,110,"万",RED」』);hanzi16(480,140,"出厂时间",WHITE,1,1);outtextxy(560,140,"14-01");hanzil6(480,170,"快门类型",WHITE』,1);hanzil6(560,170,"电子",RED』』);hanzi16(480,200,"感光元件",WHITE』,1);outtextxy(560,202,"Exmor");hanzi16(160,280,"戴尔灵越",YELLOW』』);hanzil6(160,310,"屏幕尺寸",WHITE』,1);outtextxy(240,315,"15.6");hanzil6(280,313,"寸",RED』』);hanzil6(160,340,"平台类型",WHITE,1,1);hanzil6(240,340,"酷睿三”,RED,1,1);hanzil6(160,37〇,"显卡类型",WHITE,1,1);hanzil6(240,370,"独显",RED,1,1);hanzil6(160,400,"硬盘容量",WHITE,1,1);outtextxy(240,403,"500G");hanzil6(480,280,"美的洗衣机",YELLOW,1』);hanzil6(480,31〇,"颜色分类",WHITE,1,1);hanzil6(560,31〇,"乳白色",RED,1,1);hanzil6(480,340,"箱体材质",WHITE,1,1);hanzil6(560,340,"钢板",RED,1,1);1^标让6(480,370,"额定功率",亚!IH正,[1);outtextxy(560,375,"340W");hanzil6(480,400,"机身重量",WHITE,1,1);outtextxy(560,402,"40KG");setcolor(WHITE);line(620,0,639,20);line(620,20,639,0);rectangle(619,0,640,20);setcolor(GREEN);settextstyle(0,0,2);outtextxy(l80,230,"$1000");outtextxy(500,230,"$4999");outtextxy(l80,430,"$3799");outtextxy(500,430,"$789");setfillstyle(1,RED);bar(490,455,585,480);hanzil6(500,460,"返回首M",WHITE,1,1);setcolor(WHITE);settextstyle(0,0,2);outtextxy(400,43,"TMALL.COM");setcolor(YELLOW);rectangle(55,225,145,248);hanzil6(58,230,"加入购物车",GREEN,1,1);rectangle(375,225,465,248);hanzil6(378,230,1I加入购物车",GREEN,1,1);rectangle(55,425,145,448);hanzil6(58,430,"加入购物车ンGREEN」」);rectangle(375,425,465,448);hanzil6(378,430,"加入购物车",GREEN」」);hanzil6(60」10,"立"」4」」);hanzil6(80,130,"即”」4,1,1);hanzil6(100」50,"购",14,1」);hanzil6(120,170,"^",14,l,l);hanzi16(60,310,"立”,14,1,1);hanzi16(80,330,"即”』4,1,1);hanzi16(100,350,"购",14』,1);hanzi16(120,370,"买"』4』』);hanzi16(380,110,"AL",14,1,1);hanzi16(400,130,"BP",14,1,1);hanzi16(420』50,"购",14』』);hanzi16(440』70,"买",14』,1);hanzi16(380,310,"立"』4,1,1);hanzi16(400,330,"即"』4』』);hanzi16(420,350,"购",14』,1);hanzi16(440,370,"买",14,1,1);/*ShowBmp("c:\\borlandc\\bin\\wen\\images\\56.bmp",25,80);ShowBmp("c:\\borlandc\\bin\\wen\\images\\58.bmp",355,80);ShowBmp("c:\\borlandc\\bin\\wen\\images\\57上mp”,25,28〇);ShowBmp("c:\\borlandc\\bin\\wen\\images\\55.bmp",355,280);while(l)newxy(&x,&y,&buttons);if(x>=55&&x<=145&&y>=225&&y<=248&&buttons==1)//大气茶几{current=l;if(x>=375&&x<=465&&y>=225&&y<=248&&buttons==1)//舒适沙发(current=3;)if(x>=55&&x<=145&&y>=425&&y<=448&&buttons==1)(current=2;)if(x>=375&&x<=465&&y>=425&&y<=448&&buttons==l) //橱柜必备current=4;)if(x>=20&&x<=300&&y>=70&&y<=200&&buttons==1)//{flag=8;break;)if(x>=20&&x<=300&&y>=270&&y<=400&&buttons==1) //{flag=8;break;)if(x>=340&&x<=620&&y>=70&&y<=200&&buttons==1)//{flag=8;break;if(x>=340&&x<=620&&y>=70&&y<=200&&buttons==1)//flag=8;break;)if(x>=O&&x<=160&&y>=300&&y<=360&&buttons==1)〃返回主页(flag=3;break;)if(x>=619&&x<=640&&y>=0&&y<=20&&buttons==l)〃叉号{flag=3;break;)show_time();)*currentgoods=current;closegraph();returnflag;enroll#include"common.h"//voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);//#include"C:\bc3l\kesh\chinese.h"intenroll(int*all,int*currentuser,char*currentname){intdriver=VGA,mode=VGAHI,flag;initgraph(&driver,&mode,"bgi");cleardevice();//setbkcolor(BLUE);setcolor(RED);//rectangle(200,l00,440,180);setbkcolor(WHITE);setfillstyle(l,RED);bar(0,0,640,80);char*s;//floodfill(252,l20,GREEN);hanzi16(160,1〇,"欢",WHITE,3,1);hanzi16(200,10,"iffi",WHITE,3J);hanzil6(240,1〇,”进",WHITE,3』);hanzi16(280,1〇,"行",WHITE,3,1);hanzi16(320,10,"网",WHITE,3,1);hanzil6(360,10,"±",WHITE,3,1);hanzil6(400,1〇,"注",WHITE,3,1);hanzi16(440,1〇,"册",WHITE,3,1);//#include"C:\TC30\chengxu\keshe\h\chinese.h"hanzil6(80,150,”所在地区",DARKGRAY,1,1);hanzi16(160,150,"大陆",LIGHTGRAY,1,1);rectangle(205,152,215,162);rectangle(285,l52,295,162);hanzil6(230,150,"港澳台",LIGHTGRAY,1,1);hanzi16(80,205,"手机号码",DARKGRAY,1,1);setfillstyle(l,LIGHTRED);bar(160,200,210,230);setcolor(RED);rectangle(l60,200,340,230);outtextxy(172,210,"+86");hanzil6(220,209,"请输入号码",LIGHTGRAY,1,1);hanzi16(80,256,"ffl户名",DARKGRAY,1,1);rectangle(l60,250,340,280);hanzil6(80,305,"输入密码”,DARKGRAY,1,1);rectangle(160,300,340,330);hanzil6(200,307,”请谨慎输入",LIGHTGRAY,1,1);hanzil6(80,358,"再次输入",DARKGRAY,1,1);rectangle(160,350,340,380);rectangle(225,393,235,403);hanzil6(245,390,"同意",DARKGRAY,1,1);outtextxy(287,396,"< >");hanzi16(293,390,"用户条款",RED,1,1);rectangle(200,440,286,470);hanzil6(210,446,"确定注册",LIGHTRED』,1);setcolor(WHITE);line(620,0,638,20);line(620,20,639,0);rectangle(619,0,640,20);setcolor(WHITE);settextstyle(0,0,2);outtextxy(460,60,"TMALL.COM");intx,y,buttons;intk=0,l=0,q=0,p=0,a,b=0;a=*all;a=a+1;char*phonenumber,*name,*passwordl,*password2;while(l){newxy(&x,&y,&buttons);if(x>=205&&x<=215&&y>=152&&y<=l62&&buttons==1&&b==0)〃大陆方框(setfillstyle(l,LIGHTRED);bar(205,152,215,162);b=l;if(x>=285&&x<=295&&y>=152&&y<=162&&buttons==1&&b==0)〃港澳台方框{setfillstyle(1,LIGHTRED);bar(285,152,295,162);b=l;if(x>=210&&x<=340&&y>=200&&y<=230&&buttons==1&&k==0)〃输入手机号码{setfillstyle(l,WHITE);bar(212,201,339,229);phonenumber=input(215,210,11,0,8);k=l;if(x>=160&&x<=340&&y>=250&&y<=280&&buttons==1&&l==0)〃设置用户名(setfillstyle(l,WHITE);bar(l62,251,339,279);name=input(165,258,6,0,8);1=1;)if(x>=l60&&x<=340&&y>=300&&y<=330&&buttons==1&&p==0)〃输入密码passwordl=input(l65,308,6,1,8);P=l;if(x>=160&&x<=340&&y>=350&&y<=380&&buttons==1&&p==1)〃再次输入密码(password2=input(165,358,6,1,8);q=l;)if(x>=225&&x<=235&&y>=393&&y<=403&&buttons==1)//同意条款方框(setfillstyle(l,LIGHTRED);bar(225,393,235,403);)if(x>=200&&x<=284&&y>=440&&y<=470&&buttons==1)//确定注册if(strcmp(password1,password2)==0)

*currentuser=a;currentname=name;flag=5;read_in_person(a,name,password1);break;}else{hanzi16(347,308,"两次输入不一致",DARKGRAY,1,1);setcolor(DARKGRAY);outtextxy(469,308,"!");setfillstyle(l,WHITE);bar(162,302,338,328);bar(162,352,338,378);p=0;q=0;if(x>=619&&x<=640&&y>=0&&y<=20&&buttons==1)〃叉号{flag=l;break;Ishow_time();)closegraph();returnflag;}Fukuan#include"common.h"//voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);//#include"C:\bc3l\kesh\chinese.h"intpay(int*currentuser,char*currentname){intdriver=VGA,mode=VGAHI,x,y,buttons,flag;initgraph(&driver,&mode,"bgi");cleardevice();setbkcolor(WHITE);setfillstyle(1,RED);bar(0,1,640,80);hanzil6(100,5,"确”,BLACK,4,1);hanzi16(140,5,"Un,BLACK,4,1);hanzil6(180,5,"订",BLACK,4,1);hanzil6(220,5,"#-",BLACK,4,1);//#include"C:\TC30\chengxu\keshe\h\chinese.h"setcolor(GREEN);rectangle(26,l36,614,244);rectangle(28,l38,612,242);rectangle(30,l40,610,240);rectangle(32,l42,608,238);rectangle(34,144,606,236);rectangle(36,l46,604,234);hanzil6(40,160,"收”,RED,2,1);hanzil6(60,160,"^",RED,2,l);hanzil6(80,160,"地”,RED,2,1);hanzi16(100,160,"址",RED,2,1);outtextxy(l25,165,"1:");setfillstyle(1,CYAN);bar(135,160,420,180);1^向16(140,165,,,华中科技大学韵苑二十六栋”,6,1,1);outtextxy(125,195,"2:");setfillstyle(l,CYAN);bar(l35,190,420,210);hanzil6(140,190,"武汉大学工学部十六栋",6,1,1);setfillstyle(l,LIGHTRED);bar(150,310,250,350);bar(390,310,490,350);hanzil6Q75,325,“地址ー",WHITE,1』);hanzi16(415,325,"ifeilt~",WHITE,1,1);setcolor(WHITE);line(620,0,639,20);line(620,20,639,0);rectangle(619,0,640,20);setfillstyle(l,GREEN);bar(260,450,345,480);hanzil6(265,453,WHITE,2,1);setcolor(YELLOW);rectangle(70,270,570,430);rectangle(72,272,568,428);rectangle(74,274,566,426);rectangle(76,276,564,424);rectangle(78,278,562,422);setcolor(WHITE);settextstyle(0,0,2);outtextxy(440,55,"TMALL.COM");while(l){newxy(&x,&y,&buttons);if(x>=150&&x<=250&&y>=310&&y<=350&&buttons==1){flag=4;break;)if(x>=390&&x<=490&&y>=310&&y<=350&&buttons==1){flag=4;break;if(x>=O&&x<=160&&y>=300&&y<=360&&buttons==1)〃返回主页flag=3;break;}if(x>=619&&x<=640&&y>=0&&y<=:20&&buttons==1)〃叉号(flag=3;break;)show_time();)returnflag;closegraph();)购买成功#include"common.h"//voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);//#include"C:\bc3l\kesh\chinese.h"intgoumeichenggong(){intdriver=VGA,mode=VGAHI;initgraph(&driver,&mode,"bgi");intx,y,buttons,flag;cleardevice();//setbkcolor(BLUE);setcolor(RED);//rectangle(200,l00,440,180);setbkcolor(WHITE);setfillstyle(1,RED);bar(0,0,640,80);//#include"C:\TC30\chengxu\keshe\h\chinese.h"setcolor(WHITE);settextstyle(0,0,2);outtextxy(490,60,"TMALL.COM");setcolor(GREEN);rectangle(56,86,584,394);rectangle(58,88,582,392);rectangle(60,90,580,390);rectangle(62,92,578,388);rectangle(64,94,576,386);rectangle(66,96,574,384);rectangle(68,98,572,382);rectangle(70,100,570,380);setcolor(LIGHTRED);circle(140,160,30);circle(130,145,5);circle(150,145,5);arc(140,160,210,330,15);hanzi16(185,150,"成功啦",GREEN,2,1);hanzil6(260,158,"您已经成功订购该商品",DARKGRAY,1,1);setfillstyle(l,CYAN);bar(160,320,240,350);hanzil6(l65,330,"退出购物",WHITE,1,1);setfillstyle(l,GREEN);bar(400,320,480,350);hanzil6(405,330,"继续购物",WHITE,1,1);hanzil6(260,420,"竭诚为您服务",LIGHTRED,2,1);while(l)newxy(&x,&y,&buttons);if(x>=160&&x<=240&&y>=320&&y<=350&&buttons==1)//退出购物(flag=6;break;)if(x>=400&&x<=480&&y>=320&&y<=350&&buttons==1) //继续购物(flag=3;break;returnflag;closegraph();初始化#include"c:\\borlandc\\bin\\keshe\\common.h"voidinitialize(){〃写入预设商品信息char*sort[]={"电器","食品","衣饰","车辆","家具"};char*name口={"手机","电脑ッ"相机","洗衣机","香肠","梨子","鸡块","薯片","鞋子","衬衫","裤子","裙子","自行车","汽车","挖掘机","电动车","茶几","沙发","餐桌","橱柜"};intprice[20]={5288,5499,3299,1099,100,49,37,78,159,99,129,239,499,104999,893799,3789,345,3999,1799,899};intshopcart[20]={3,5};intrecord[20]={3,5};FILE*fp;structcommogoods[20];inti,k;if((fp=fopen("commo.dat","wb+"))==NULL)(printf("can'topenthefile");getch();exit(l);)rewind(fp);for(i=l;i<20;i++)(goods[i].rank=i+1;goods[i].sort=sort[i/4];goods[i].name=name[i];goods[i].price=price[i];fseek(fp,i*sizeof(structcommo),0);fwrite(&goods[i],sizeof(structcommo),l,fp);fclose(fp);〃写入预设个人用户名及密码char*namel[2]={"abcdef,"qwerty"};char*password[2]={"l23456","234567"};intnuml=0,num2=0;FILE*ep;structconsumeruser[2];intj;if((ep=fopen("consumer.dat,,,,'wb+"))==NULL)(printf("can'topenthefile");getch();exit(l);Irewind(ep);for(j=0;j<2;j++)(user[j].name=namel[j];user[j].password=password[j];user[j].numl=num1;for(k=0;k<2;k++)user[j].shopcart[k]=shopcart[k];user[j].recordlk]=record[k];)fseek(ep,j*sizeof(structconsumer),0);fwrite(&user[j],sizeof(structconsumer),l,ep);fclose(ep);)家具#include"c:\\borlandc\\bin\\keshe\\common.h"//voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);//#include"C:\bc31\kesh\chinese.h"intjiaju(int*currentgoods)|intdriver=VGA,mode=VGAHI;intx,y,buttons,flag;initgraph(&driver,&mode,"C:\\borlandc\\bgi");cleardevice();setbkcolor(WHITE);setfillstyle(1,RED);bar(0,0,640,60);hanzil6(80,10,"商品分类",WHITE,3,1);hanzi16(220,20,"温馨家私",CYAN,1,1);intcurrent;setcolor(RED);line(0,260,640,260);line(320,60,320,480);//rectangle(200,l00,440,180);setbkcolor(WHITE);setfillstyle(1,MAGENTA);bar(15,70,306,250);bar(15,270,306,450);bar(345,70,626,250);bar(345,270,626,450);hanzil6(160,80,"大气茶几",YELLOW,1』);hanzi16(160,11〇,"是否组装",WHITE,1,1);hanzil6(240,11〇,"整装",RED,1,1);hanzil6(160,140,"产品定位",WHITE,1,1);hanzi16(237,140,"品质奢华",RED,1,1);hanzil6(160,170,“产品风格",WHITE,1,1);hanzil6(237,l70,"简约现代",RED,1,1);hanzil6(160,200,"是否送货",WHITE,1,1);hanzi16(240,200,RED,1,1);1^12让6(480,80,“舒适沙发”,¥£11/)巩1,1);hanzil6(480,110,"是否组装",WHITE,1,1);hanzil6(560,11〇,"组装",RED,1,1);hanzil6(480,140,"出厂时间",WHITE,1,1);outtextxy(560,140,"14-01");hanzil6(480,170,"可否定制",WHITE,1,1);hanzil6(560,170,"可以",RED,1,1);hanzi16(480,200,"附加功能",WHITE,1,1);hanzil6(560,200,"可移动",RED,1,1);hanzil6(160,280,"简单餐桌",丫ELLOW,1,1);hanzil6(160,31〇,"可否伸缩",WHITE,1,1);hanzil6(240,31〇,"不可",RED,1,1);hanzil6(160,34〇,"产品风格",WHITE,1,1);hanzi16(237,340,"简约现代",RED,1,1);hanzi16(160,370,"家具结构",WHITE,1,1);hanzil6(240,370,"框架",RED,1,1);hanzi16(160,400,“产品产地",WHITE,1,1);hanzi16(240,400,”四丿11省,',RED,1,1);卜2僦订6(480,280,"橱柜必备",丫£・ズ)01,1);hanzi16(480,3I〇,"柜体材质",WHITE,1,1);hanzi16(560,310,"刨花板,',RED,1,1);hanzi16(480,340,”台面材质",WHITE,1,1);hanzi16(560,340,”其他”,RED,1,1);hanzil6(480,370,”柜面长度”,WHITE,1,1);outtextxy(560,375,"3.0m");hanzi16(480,400,"同城服务",WHITE,1,1);hanzil6(557,400,"送货安装'),RED,1,1);setcolor(WHITE);line(620,0,639,20);line(620,20,639,0);rectangle(619,0,640,20);setcolor(GREEN);settextstyle(0,0,2);outtextxy(180,230,"$345");outtextxy(500,230,"$3999");outtextxy(l80,430,"$1799");outtextxy(500,430,"$899");setfillstyle(1,RED);bar(490,455,585,480);hanzi16(500,460,"返回首页",WHITE,1,1);setcolor(WHITE);settextstyle(0,0,2);outtextxy(400,43,"TMALL.COM");while(l){newxy(&x,&y,&buttons);if(x>=15&&x<=306&&y>=70&&y<=250&&buttons==1)〃大气茶几(current=17;flag=8;break;)if(x>=345&&x<=626&&y>=70&&y<=250&&buttons==1) //舒适沙发{current=18;flag=8;break;)if(x>=15&&x<=306&&y>=270&&y<=450&&buttons==1)〃简约餐桌{current=19;flag=8;break;)if(x>=490&&x<=585&&y>=455&&y<=480&&buttons==1) //橱柜必备{current=20;flag=8;break;)if(x>=O&&x<=160&&y>=300&&y<=360&&buttons==1)〃返回主页{flag=3;break;if(x>=619&&x<=640&&y>=0&&y<=20&&buttons==1)〃叉号flag=3;break;)show_time();}*currentgoods=current;closegraph();returnflag;)结束#include"c:\\borlandc\\bin\\keshe\\common.h"//voidhanzil6(intx,inty,char*s,intcolour,intROW,intCOL);//#include"C:\bc31\kesh\chinese.h"voidjiesu()(intdriver=VGA,mode=VGAHI;initgraph(&driver,&mode,"C:\\borlandc\\bgi");cleardevice();setbkcolor(WHITE);//#include"C:\TC30\chengxu\keshe\h\chinese.h"setcolor(DARKGRAY);rectangle(0,0,640,480);rectangle(2,2,638,478);rectangle(4,4,636,476);rectangle(6,6,634,474);rectangle(8,8,632,472);rectangle(10,10,630,470);rectangle(12,12,628,468);rectangle(l4,14,626,466);rectangle(16,16,624,464);rectangle(18,18,622,462);rectangle(20,20,620,460);rectangle(22,22,618,458);rectangle(56,86,584,394);rectangle(58,88,582,392);rectangle(60,90,580,390);rectangle(62,92,578,388);rectangle(64,94,576,386);rectangle(66,96,574,384);rectangle(68,98,572,382);rectangle(70,l00,570,380);hanzil6(180,240,”欢迎下次光临",LIGHTRED,1,1);setcolor(RED);settextstyle(0,0,2);outtextxy(440,55,"TMALL.COM");closegraph();exit(l);)Main函数#include"c:\\borlandc\\bin\\keshe\\common.h"voidmain()char*goodsspell[]={"shouji","diannao","xiangji","xiyiji","xiangchang","lizi","jikuai","shupian","xiezi","chenshan","kuzi","qunzi","zixingche","qiche","wajueji",,,diandongche","chaji","shafa","shafa","canzhuo","chugui"};intflag=l,n=2;initialize();initmouse(0,639,0,479);intcurrentuser=O;char*currentname;intal1=3;intcurrentgoods=0;while(l)(switch(flag)(flag=reginterface(&all,¤tuser,currentname);break;tiaozhuan();flag=enroll(&all,¤tuser,currentname);break;tiaozhuan();flag=maininterface(¤tgoods,¤tuser,currentname,goodsspell)break;tiaozhuan();flag=goumeichenggong();flag=enrollsuccess();tiaozhuan();flag=person(¤tuser,currentname);break;tiaozhuan();flag=shop_cart1(¤tuser,currentname);break;tiaozhuan();flag=pay(¤tuser,currentname);break;tiaozhuan();jiesu();break;tiaozhuan();flag=dianqi(¤tgoods);break;tiaozhuan();flag=yishi(¤tgoods);break;tiaozhuan();flag=qiche(¤tgoods);break;tiaozhuan();flag=jiaju(¤tgoods);break;tiaozhuan();flag=shipin(¤tgoods);break;鼠标#include"c:\\borlandc\\bin\\keshe\\common.h"intinitmouse(intxmi,intxma,intymi,intyma) 〃鼠标器初始出数{intretcode;unionREGSregs;regs.x.ax=0;int86(51,®s,®s);retcode=regs.x.ax;if(retcode==0){printf("NOTINSTALLMOUSEBGI!!!"); 〃返回〇值表示鼠标或鼠标驱动程序未安装)regs.x.ax=7;regs.x.cx=xmi;regs.x.dx=xma;int86(51,®s,®s);regs.x.ax=8;regs.x.cx=ymi;regs.x.dx=yma;int86(5l,®s,®s); 〃表示鼠标器和驱动程序已安装returnretcode;)intread(int*mx,int*my,int*mbutt) 〃获得鼠标的当前位置{intxxO=*mx;intyyO=*my;intbutO=0,mb,xnew,ynew;do{unionREGSregs;regs.x.ax=3;int86(51,®s,®s);xnew=regs.x.cx;ynew=regs.x.dx;*mbutt=regs.x.bx;}while(xnew==xxO&&ynew==y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论