C语言项目报告模拟购物平台_第1页
C语言项目报告模拟购物平台_第2页
C语言项目报告模拟购物平台_第3页
C语言项目报告模拟购物平台_第4页
C语言项目报告模拟购物平台_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

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

2、1模块结构2.2 程序流程图2.2.1主程序模块2.2.2登录注册模块登录模块注册模块2.2.3后台维护模块商品录入模块添加删除模块.1添加商品模块.2删除商品模块.2.1按编号删除模块.2.2按商品名称删除模块修改商品信息模块账户管理模块充值模块查询信息模块.1查看基本信息模块.2查看已购买模块.3查看已收藏模块2.2.5商品选购模块查询筛选模块商品购买模块

3、.1评价模块收藏模块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、,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.price,spsi.kc); fclose(spml);printf(*请输入商品信息*n); while(flag=1) printf(请输入商品编号:); scanf(%s,spsnumber.id); printf(请输入商品名称:); scanf(%s,); 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.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,); 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.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.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(,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.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,); 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.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,)i+;elseprintf(用户名:%s 用户密码:%s 余额:%.2fn,,yhsi.code,yhsi.money);index=i;break; printf(输入充值金额:); scanf(%f,&m); yhsindex.money=yhsindex.money+m; save1();printf(*充值成功*n);yhml=

30、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,)i+;elseprintf(用户名:%s 用户密码:%s 余额:%.2fn,,yhsi.code,yhsi.money);break; void cxxg()void ckxx();void ckygm();void ckysc();int choose; while(1) printf(请输入选择1查看账

31、户信息 2查看已收藏 3查看已购买 0返回:); scanf(%d,&choose); if(choose=0)break; switch(choose) case 1:ckxx();break; case 2:ckysc();break; case 3:ckygm();break; default:printf(*输入错误*n); void ckxx()int i;int index;int choose;char s20;char s220;void save1();yhml=fopen(yhml.txt,r);/*用户文件*/for(i=0;inumber1;i+)fread(&yhsi

32、,sizeof(struct yh),1,yhml);fclose(yhml);for(i=0;inumber1;i+)if(strcmp(yh_name,)i+;elseprintf(用户名:%s 密码:%s 余额:%.2fn,,yhsi.code,yhsi.money);index=i;break;while(1)printf(是否修改密码 1是 0否);scanf(%d,&choose);if(choose=0)break;switch(choose)case 1:printf(请输入原密码:);scanf(%s,s);if(strcmp(s,yhsi

33、ndex.code)printf(*输入有误*n);break;elseprintf(请输入新密码:);scanf(%s,yhsindex.code);printf(请再输入新密码确认:);scanf(%s,s2);while(strcmp(yhsindex.code,s2)printf(输入错误,请重新输入n);printf(请输入新密码:);scanf(%s,yhsindex.code);printf(请再输入新密码确认:);scanf(%s,s2);save1();printf(*修改成功*n);break;default:printf(*输入错误*);break;void ckysc(

34、)int i,flag=0;ysc=fopen(ysc.txt,a+);for(i=0;inumber2;i+)fread(&scsi,sizeof(struct sc),1,ysc); fclose(ysc); for(i=0;inumber2;i+) if(!strcmp(yh_name,scsi.yh_name) printf(用户名:%s 商品id: %s 商品名:%s 价格:%.2fn,scsi.yh_name,scsi.sp_id,scsi.sp_name,scsi.price); flag=1; if(flag=0)printf(未收藏任何物品!n);void ckygm()in

35、t i,flag=0; ygm=fopen(ygm.txt,a+);for(i=0;inumber3;i+)fread(&gmsi,sizeof(struct gm),1,ygm);fclose(ygm);for(i=0;inumber3;i+)if(!strcmp(yh_name,gmsi.yh_name)printf(用户名:%s 商品id: %s 商品名:%s 价格:%.2fn,gmsi.yh_name,gmsi.sp_id,gmsi.sp_name,gmsi.price);flag=1;if(flag=0)printf(未购买任何物品!n);/*账户管理结束*/*商品操作模块*/voi

36、d spcz()int choice;void buy();void collection();void search();printf(*欢迎进入商品操作*);printf(n1查询筛选操作n2购买商品n3收藏商品n0返回n请选择:);scanf(%d,&choice);while(choice!=0)if(choice=0) break;switch(choice)case 1: search(); printf(*欢迎进入商品操作*);printf(n1查询筛选操作n2购买商品n3收藏商品n0返回n请选择:);scanf(%d,&choice);break;case 2: buy();prin

温馨提示

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

评论

0/150

提交评论