C语言项目报告-模拟购物平台.doc

上传人:来看看 文档编号:3258029 上传时间:2019-08-06 格式:DOC 页数:54 大小:2.17MB
返回 下载 相关 举报
C语言项目报告-模拟购物平台.doc_第1页
第1页 / 共54页
C语言项目报告-模拟购物平台.doc_第2页
第2页 / 共54页
C语言项目报告-模拟购物平台.doc_第3页
第3页 / 共54页
C语言项目报告-模拟购物平台.doc_第4页
第4页 / 共54页
C语言项目报告-模拟购物平台.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《C语言项目报告-模拟购物平台.doc》由会员分享,可在线阅读,更多相关《C语言项目报告-模拟购物平台.doc(54页珍藏版)》请在三一文库上搜索。

1、Computer programming项目报告题目:模拟购物平台说明:本报告仅供分享交流使用,请勿用于商业用途。该报告适用于C语言初学者,尤其适合那些第一次作项目报告的初学者。由于适用该文档而造成的任何损失,本人概不负责,望请自重。建议:1.该报告中使用的数据结构为结构体数组,有能力的可使用链表; 2.推荐添加一个购物车模块以实现多次或批量购买; 3.本报告中商品录入模块没有对重复的商品编号进行重复性判断,这可可能会相同的商品编号也能录入,建议添加一个判断。 1.问题描述该项目是对网上购物平台的一个模拟,模拟实现用户的登录注册,账户管理,商品选购以及管理员的后台维护功能。2.系统功能分解2.

2、1模块结构2.2 程序流程图2.2.1主程序模块2.2.2登录注册模块2.2.2.1登录模块2.2.2.2注册模块2.2.3后台维护模块2.2.3.1商品录入模块2.2.3.2添加删除模块2.2.3.2.1添加商品模块2.2.3.2.2删除商品模块2.2.3.2.2.1按编号删除模块2.2.3.2.2.2按商品名称删除模块2.2.3.3修改商品信息模块2.2.2.4账户管理模块2.2.4.1充值模块2.2.4.2查询信息模块2.2.4.2.1查看基本信息模块2.2.4.2.2查看已购买模块2.2.4.2.3查看已收藏模块2.2.5商品选购模块2.2.5.1查询筛选模块2.2.5.2商品购买模块

3、2.2.5.2.1评价模块2.2.5.3收藏模块3.程序运行和测试商品录入登陆与充值注册查询筛选商品收藏查看已收藏购买查看已购买查看账户信息并修改密码删除商品商品修改4.程序清单#include#includestruct sp char id20; char name20; float price; float xy; int kc; int num_pj; int num_gm; int num_sc;struct yhchar name20;char code20;float money;struct sc char yh_name20; char sp_id20; char sp_na

4、me20; float price;struct gm char yh_name20; char sp_id20; char sp_name20; float price;struct sp sps1000;struct yh yhs1000;struct sc scs1000;struct gm gms1000;int number=0;int number1=0;int number2=0;int number3=0;char yh_name20;FILE *yhml=NULL; / *用户目录文件*FILE *spml=NULL; / *商品目录文件*FILE *ygm=NULL; /

5、*已购买文件*FILE *ysc=NULL; / *已收藏文件* int num4;void main() /*函数声明*/void HTWH();void DLZC(); int i,choose; FILE *fp1; fp1=fopen(NUMBER.txt,a+);/*打开文件读取数据*/ for(i=0;i4;i+) fread(&numi,sizeof(int),1,fp1); fclose(fp1); number=num0; number1=num1; number2=num2; number3=num3; printf(*欢迎使用模拟购物平台*n); printf(n); w

6、hile(1) printf(请输入选择1登录注册 2后台维护 0退出:); scanf(%d,&choose); if(choose=0)break; switch(choose) case 1:DLZC();break; case 2:HTWH();break; default:printf(*输入错误*n); num0=number; num1=number1; num2=number2; num3=number3; fp1=fopen(NUMBER.txt,w);/*打开文件读取数据*/ for(i=0;i4;i+) fwrite(&numi,sizeof(int),1,fp1); f

7、close(fp1);/*登陆注册模块*/void DLZC()int choose;int DL();int ZC(); while(1) printf(请输入选择 1登陆 2注册 0返回:); scanf(%d,&choose); if(choose=0) break; switch(choose) case 1:DL();break; case 2:ZC();break; default :printf(*输入有误,请重新输入*n);break; /*登陆模块*/int DL()char p20;char q20;int i,choose;void ZHGL();void SPCZ();

8、 yhml=fopen(YHML.txt,a+);/*打开文件读取数据*/ for(i=0;inumber1;i+) fread(&yhsi,sizeof(struct yh),1,yhml); fclose(yhml); do printf(请输入用户名:); scanf(%s,p); printf(请输入密码:); scanf(%s,q); for(i=0;i=number1) printf(用户名或密码错误!n); return 0; while(1);/*注册模块*/int ZC()char p20;char q120;char q220;int i,choose;void save1

9、();void ZHGL();void SPCZ(); yhml=fopen(YHML.txt,a+);/*打开文件读取数据*/ for(i=0;inumber1;i+) fread(&yhsi,sizeof(struct yh),1,yhml); fclose(yhml); do printf(请输入用户名:); scanf(%s,p); for(i=0;i=number1) break; while(1); do printf(请输入密码:); scanf(%s,q1); printf(请输入确认密码:); scanf(%s,q2); if(!strcmp(q1,q2) strcpy(yh

10、snumber1.name,p); strcpy(yhsnumber1.code,q1); yhsnumber1.money=0; number1+; save1(); strcpy(yh_name,p); printf(*注册成功!*n); printf(*欢迎进入*n); while(1) printf(请输入选择1账户管理 2商品选购 0返回:); scanf(%d,&choose); if(choose=0)break; switch(choose) case 1:ZHGL(); break; case 2:SPCZ(); break; default:printf(*输入错误请重新输

11、入*n); break; return 0; else printf(*密码不一致,请重新输入!*n); while(1);/*登陆注册模块结束*/*后台维护模块*/void HTWH()char *kl;char kl120;int choose;int SPLR();int TJSC();int XG();kl=123456;printf(请输入口令:);scanf(%s,kl1);if(strcmp(kl,kl1)!=0)printf(*口令错误!*n);return 0; while(1) printf(请输入选择 1商品录入 2添加删除商品 3修改商品信息 0返回:); scanf(

12、%d,&choose); if(choose=0) break; switch(choose) case 1:SPLR();break; case 2:TJSC();break; case 3:XG();break; default :printf(*输入有误,请重新输入*n);break; /*商品录入模块*/int SPLR()void save();int i,choose,flag=1;spml=fopen(SPML.txt,a+);/*打开文件读取数据*/ for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml); print

13、f(%-10s %-10s %.2f %4dn,spsi.id,spsi.name,spsi.price,spsi.kc); fclose(spml);printf(*请输入商品信息*n); while(flag=1) printf(请输入商品编号:); scanf(%s,spsnumber.id); printf(请输入商品名称:); scanf(%s,spsnumber.name); printf(请输入商品价格:); spsnumber.price=0.0; scanf(%f,&spsnumber.price); printf(请输入商品库存:); scanf(%d,&spsnumber

14、.kc); number+; printf(继续商品录入或返回菜单(1/0):); scanf(%d,&choose); do if(choose=0) save(); flag=0; printf(*商品录入成功*n); spml=fopen(SPML.txt,r);/*打开文件读取数据*/ for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml); printf(%-10s %-10s %.2f %4dn,spsi.id,spsi.name,spsi.price,spsi.kc); fclose(spml); return 0; b

15、reak; else if(choose=1) flag=1; else printf(输入有误,请重新输入(1继续商品录入 0返回):); scanf(%d,&choose); printf(n); while(choose!=1); /*/*添加删除模块*/int TJSC() int TJ(); int SC(); int choose; while(1) printf(请输入选择 1添加商品 2删除商品 0返回:); scanf(%d,&choose); if(choose=0) return -1; switch(choose) case 1:TJ();break; case 2:S

16、C();break; default :printf(*输入错误,请重新输入*n);break; /*定义添加函数*/int TJ()void save();int i,choose,flag=1; spml=fopen(SPML.txt,r);/*打开文件读取数据*/for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml);fclose(spml); printf(*请输入需添加商品信息*n); while(flag=1) printf(请输入商品编号:); scanf(%s,spsnumber.id); printf(请输入商品名称

17、:); scanf(%s,spsnumber.name); printf(请输入商品价格:); spsnumber.price=0.0; scanf(%f,&spsnumber.price); printf(请输入商品库存:); scanf(%d,&spsnumber.kc); number+; printf(继续添加或返回菜单(1/0):); scanf(%d,&choose); do if(choose=0) save(); flag=0; printf(商品添加成功n); spml=fopen(SPML.txt,r);/*打开文件读取数据*/ for(i=0;inumber;i+) fr

18、ead(&spsi,sizeof(struct sp),1,spml); printf(%-10s %-10s %.2f %4dn,spsi.id,spsi.name,spsi.price,spsi.kc); fclose(spml); return 0; break; else if(choose=1) flag=1; else printf(输入有误,请重新输入(1继续添加 0返回):); scanf(%d,&choose); printf(n); while(choose!=1); /*定义删除函数*/int SC()int bhsc();int mcsc();int choose;wh

19、ile(1) printf(请输入选择 1按商品编号删除 2按商品名称删除 0返回:); scanf(%d,&choose); if(choose=0) return -1; switch(choose) case 1:bhsc();break; case 2:mcsc();break; default :printf(*输入错误,请重新输入*n);break; /*定义按编号删除函数*/ int bhsc()void save(); int i,j,choose,flag=1; int index; char q20;spml=fopen(SPML.txt,r);/*打开文件读取数据*/fo

20、r(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml);fclose(spml);while(flag=1) printf(请输入需删除的商品编号:);/*查找该商品*/ scanf(%s,q); for(i=0;inumber;i+) if(!strcmp(spsi.id,q) index=i;break; if(inumber) for(j=index+1;jnumber;j+) spsj-1=spsj; number=number-1; else printf(无此商品!n); printf(继续按编号删除或返回菜单(1/0):);

21、 scanf(%d,&choose); do if(choose=0) save(); flag=0; printf(商品删除成功n); spml=fopen(SPML.txt,r);/*打开文件读取数据*/ for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml); printf(%-10s %-10s %.2f %4dn,spsi.id,spsi.name,spsi.price,spsi.kc); fclose(spml); return 0; break; else if(choose=1) flag=1; else printf

22、(输入有误,请重新输入(1继续按编号删除 0返回):); scanf(%d,&choose); printf(n); while(choose!=1);/*定义按名称删除函数*/int mcsc() void save(); int i,j,choose,flag=1; int index; char q20;spml=fopen(SPML.txt,r);/*打开文件读取数据*/for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml);fclose(spml);while(flag=1) printf(请输入需删除的商品名称:);/*查

23、找该商品*/ scanf(%s,q); for(i=0;inumber;i+) if(!strcmp(spsi.name,q) index=i;break; if(inumber) for(j=index+1;jnumber;j+) spsj-1=spsj; number=number-1; else printf(无此商品!n); printf(继续按名称删除或返回菜单(1/0):); scanf(%d,&choose); do if(choose=0) save(); flag=0; printf(商品删除成功n); spml=fopen(SPML.txt,r);/*打开文件读取数据*/

24、for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml); printf(%-10s %-10s %.2f %4dn,spsi.id,spsi.name,spsi.price,spsi.kc); fclose(spml); return 0; break; else if(choose=1) flag=1; else printf(输入有误,请重新输入(1继续按名称删除 0返回):); scanf(%d,&choose); printf(n); while(choose!=1);/*/*修改商品信息模块*/int XG() void s

25、ave(); int index; char q20; int i,choose,flag=1; spml=fopen(SPML.txt,r);/*打开文件读取数据*/for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml);fclose(spml); while(flag=1) printf(请输入需要修改的商品编号:);/*找到需要修改的商品*/scanf(%s,q);for(i=0;inumber;i+)if(!strcmp(spsi.id,q) index=i; break;if(inumber)printf(*请输入新商品信息

26、*n); printf(请输入新商品编号:); scanf(%s,spsindex.id); printf(请输入新商品名称:); scanf(%s,spsindex.name); printf(请输入新商品价格:); spsindex.price=0.0;scanf(%f,&spsindex.price); printf(请输入新商品库存:);scanf(%d,&spsindex.kc);elseprintf(无此商品!n); printf(继续修改或返回菜单(1/0):); scanf(%d,&choose); do if(choose=0) save(); flag=0; printf(

27、商品修改成功n); spml=fopen(SPML.txt,r);/*打开文件读取数据*/ for(i=0;inumber;i+) fread(&spsi,sizeof(struct sp),1,spml); printf(%-10s %-10s %.2f %4dn,spsi.id,spsi.name,spsi.price,spsi.kc); fclose(spml); return 0; break; else if(choose=1) flag=1; else printf(输入有误,请重新输入(1继续修改 0返回):); scanf(%d,&choose); printf(n); whi

28、le(choose!=1); /*/*后台维护模块结束*/*账户管理模块*/void ZHGL()int choose;void CZ();void CXXG(); while(1)printf(请输入选择1充值 2查询修改 0返回:);scanf(%d,&choose);if(choose=0)break;switch(choose)case 1:CZ();break; case 2:CXXG();break; default:printf(*输入错误*n);void CZ()int i;int index;float m;void save1();yhml=fopen(YHML.txt,r

29、);for(i=0;inumber1;i+) fread(&yhsi,sizeof(struct yh),1,yhml);fclose(yhml);for(i=0;inumber1;i+)if(strcmp(yh_name,yhsi.name)i+;elseprintf(用户名:%s 用户密码:%s 余额:%.2fn,yhsi.name,yhsi.code,yhsi.money);index=i;break; printf(输入充值金额:); scanf(%f,&m); yhsindex.money=yhsindex.money+m; save1();printf(*充值成功*n);yhml=fopen(YHML.txt,r);for(i=0;inumber1;i+)fread(&yhsi,sizeof(struct yh),1,yhml);fclose(yhml);for(i=0;inumber1;i+)if(strcmp(yh_name,yhsi.name)i+;elseprintf(用户名:%s 用户密码:%s 余额:%.2fn,yhsi.name,yhsi.code,yhsi.money)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1