版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z.puterprogramming項(xiàng)目報(bào)告題目:模擬購(gòu)物平臺(tái)說(shuō)明:本報(bào)告僅供分享交流使用,請(qǐng)勿用于商業(yè)用途。該報(bào)告適用于C語(yǔ)言初學(xué)者,尤其適合那些第一次作項(xiàng)目報(bào)告的初學(xué)者。由于適用該文檔而造成的任何損失,本人概不負(fù)責(zé),望請(qǐng)自重。建議:1.該報(bào)告中使用的數(shù)據(jù)結(jié)構(gòu)為結(jié)構(gòu)體數(shù)組,有能力的可使用鏈表;2.推薦添加一個(gè)購(gòu)物車模塊以實(shí)現(xiàn)多次或批量購(gòu)買;3.本報(bào)告中商品錄入模塊沒(méi)有對(duì)重復(fù)的商品編號(hào)進(jìn)行重復(fù)性判斷,這可可能會(huì)相同的商品編號(hào)也能錄入,建議添加一個(gè)判斷。1.問(wèn)題描述該項(xiàng)目是對(duì)網(wǎng)上購(gòu)物平臺(tái)的一個(gè)模擬,模擬實(shí)現(xiàn)用戶的登錄注冊(cè),賬戶管理,商品選購(gòu)以及管理員的后臺(tái)維護(hù)功能。2.系統(tǒng)功能分解2.1模塊結(jié)構(gòu)2.2程序流程圖2.2.1主程序模塊2.2.2登錄注冊(cè)模塊登錄模塊注冊(cè)模塊后臺(tái)維護(hù)模塊.1商品錄入模塊.2添加刪除模塊.2.1添加商品模塊.2.2刪除商品模塊.2.2.1按編號(hào)刪除模塊.2.2.2按商品名稱刪除模塊.3修改商品信息模塊賬戶管理模塊.1充值模塊.2查詢信息模塊.2.1查看基本信息模塊.2.2查看已購(gòu)買模塊.2.3查看已收藏模塊商品選購(gòu)模塊.1查詢篩選模塊.2商品購(gòu)買模塊.2.1評(píng)價(jià)模塊.3收藏模塊3.程序運(yùn)行和測(cè)試商品錄入登陸與充值注冊(cè)查詢篩選商品收藏查看已收藏購(gòu)買查看已購(gòu)買查看賬戶信息并修改密碼刪除商品商品修改4.程序清單*include<stdio.h>*include<string.h>structsp{charid[20]; charname[20]; floatprice; float*y; intkc; intnum_pj; intnum_gm; intnum_sc;};structyh{ charname[20]; charcode[20]; floatmoney;};structsc{charyh_name[20]; charsp_id[20]; charsp_name[20]; floatprice;};structgm{charyh_name[20]; charsp_id[20]; charsp_name[20]; floatprice;};structspsps[1000];structyhyhs[1000];structscscs[1000];structgmgms[1000];intnumber=0;intnumber1=0;intnumber2=0;intnumber3=0;charyh_name[20];FILE*yhml=NULL;//****用戶目錄文件****FILE*spml=NULL;//****商品目錄文件****FILE*ygm=NULL;//****已購(gòu)買文件******FILE*ysc=NULL;//****已收藏文件******intnum[4];voidmain(){/*函數(shù)聲明*/ voidHTWH(); voidDLZC(); inti,choose; FILE*fp1; fp1=fopen("NUMBER.t*t","a+");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<4;i++){ fread(&num[i],sizeof(int),1,fp1); } fclose(fp1); number=num[0];number1=num[1]; number2=num[2]; number3=num[3];printf("*******歡迎使用模擬購(gòu)物平臺(tái)*******\n"); printf("\n");while(1){ printf("請(qǐng)輸入選擇[1]登錄注冊(cè)[2]后臺(tái)維護(hù)[0]退出:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:DLZC();break; case2:HTWH();break; default:printf("**************輸入錯(cuò)誤**************\n"); } }num[0]=number; num[1]=number1; num[2]=number2; num[3]=number3;fp1=fopen("NUMBER.t*t","w");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<4;i++){ fwrite(&num[i],sizeof(int),1,fp1); } fclose(fp1);}/*************************************登陸注冊(cè)模塊*************************************/voidDLZC(){ intchoose; intDL(); intZC();while(1){ printf("請(qǐng)輸入選擇[1]登陸[2]注冊(cè)[0]返回:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:DL();break; case2:ZC();break; default:printf("**************輸入有誤,請(qǐng)重新輸入**************\n");break; } }}/******登陸模塊*******/intDL(){ charp[20]; charq[20]; inti,choose; voidZHGL(); voidSPCZ();yhml=fopen("YHML.t*t","a+");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number1;i++){fread(&yhs[i],sizeof(structyh),1,yhml); } fclose(yhml); do{ printf("請(qǐng)輸入用戶名:"); scanf("%s",p); printf("請(qǐng)輸入密碼:"); scanf("%s",q); for(i=0;i<number1;i++){ if((!strcmp(yhs[i].name,p))&&(!strcmp(yhs[i].code,q))){ strcpy(yh_name,p); printf("**************登陸成功!**************\n"); printf("**************歡迎登陸**************\n"); printf("[1]賬戶管理[2]商品選購(gòu)[0]返回\n");while(1){ printf("請(qǐng)輸入選擇[1]賬戶管理[2]商品選購(gòu)[0]返回:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:ZHGL();break; case2:SPCZ();break; default:printf("***********輸入錯(cuò)誤請(qǐng)重新輸入***********\n");break;} } return0; } } if(i>=number1){ printf("用戶名或密碼錯(cuò)誤!\n");return0; } }while(1);}/*注冊(cè)模塊*/intZC(){ charp[20]; charq1[20]; charq2[20]; inti,choose; voidsave1(); voidZHGL(); voidSPCZ();yhml=fopen("YHML.t*t","a+");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number1;i++){ fread(&yhs[i],sizeof(structyh),1,yhml); } fclose(yhml); do{ printf("請(qǐng)輸入用戶名:"); scanf("%s",p); for(i=0;i<number1;i++){ if(!strcmp(yhs[i].name,p)){ printf("用戶名已存在!\n"); printf("**************請(qǐng)重新輸入!**************"); break; } } if(i>=number1){ break; } }while(1); do{printf("請(qǐng)輸入密碼:");scanf("%s",q1); printf("請(qǐng)輸入確認(rèn)密碼:"); scanf("%s",q2); if(!strcmp(q1,q2)){ strcpy(yhs[number1].name,p); strcpy(yhs[number1].code,q1); yhs[number1].money=0;number1++; save1();strcpy(yh_name,p); printf("**************注冊(cè)成功!**************\n"); printf("**************歡迎進(jìn)入**************\n");while(1){ printf("請(qǐng)輸入選擇[1]賬戶管理[2]商品選購(gòu)[0]返回:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:ZHGL();break; case2:SPCZ();break; default:printf("**************輸入錯(cuò)誤請(qǐng)重新輸入**************\n");break; } } return0; } else{ printf("**************密碼不一致,請(qǐng)重新輸入!**************\n"); } }while(1);}/************************登陸注冊(cè)模塊結(jié)束************************************//*********************************后臺(tái)維護(hù)模塊**************************************/voidHTWH(){ char*kl; charkl1[20]; intchoose; intSPLR(); intTJSC(); int*G(); kl="123456"; printf("請(qǐng)輸入口令:"); scanf("%s",kl1); if(strcmp(kl,kl1)!=0){ printf("**************口令錯(cuò)誤!**************\n"); return0; }while(1){ printf("請(qǐng)輸入選擇[1]商品錄入[2]添加刪除商品[3]修改商品信息[0]返回:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:SPLR();break; case2:TJSC();break; case3:*G();break; default:printf("**************輸入有誤,請(qǐng)重新輸入**************\n");break; } }}/*商品錄入模塊*/intSPLR(){ voidsave(); inti,choose,flag=1; spml=fopen("SPML.t*t","a+");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); printf("%-10s%-10s%.2f%4d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].kc); } fclose(spml); printf("**********請(qǐng)輸入商品信息***********\n");while(flag==1){ printf("請(qǐng)輸入商品編號(hào):"); scanf("%s",sps[number].id); printf("請(qǐng)輸入商品名稱:"); scanf("%s",sps[number].name); printf("請(qǐng)輸入商品價(jià)格:"); sps[number].price=0.0; scanf("%f",&sps[number].price); printf("請(qǐng)輸入商品庫(kù)存:"); scanf("%d",&sps[number].kc);number++; printf("繼續(xù)商品錄入或返回菜單(1/0):"); scanf("%d",&choose); do{ if(choose==0){ save(); flag=0; printf("**************商品錄入成功**************\n");spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); printf("%-10s%-10s%.2f%4d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].kc); } fclose(spml); return0; break;} elseif(choose==1)flag=1; else{ printf("輸入有誤,請(qǐng)重新輸入([1]繼續(xù)商品錄入[0]返回):"); scanf("%d",&choose); printf("\n"); } }while(choose!=1); }}/**************************************************************************//*添加刪除模塊*/intTJSC(){ intTJ(); intSC();intchoose; while(1){ printf("請(qǐng)輸入選擇[1]添加商品[2]刪除商品[0]返回:"); scanf("%d",&choose);if(choose==0)return-1;switch(choose){ case1:TJ();break;case2:SC();break; default:printf("***********輸入錯(cuò)誤,請(qǐng)重新輸入************\n");break; } }}/*定義添加函數(shù)*/intTJ(){ voidsave(); inti,choose,flag=1;spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml);printf("***********請(qǐng)輸入需添加商品信息**********\n");while(flag==1){ printf("請(qǐng)輸入商品編號(hào):"); scanf("%s",sps[number].id); printf("請(qǐng)輸入商品名稱:"); scanf("%s",sps[number].name); printf("請(qǐng)輸入商品價(jià)格:"); sps[number].price=0.0; scanf("%f",&sps[number].price); printf("請(qǐng)輸入商品庫(kù)存:"); scanf("%d",&sps[number].kc);number++; printf("繼續(xù)添加或返回菜單(1/0):"); scanf("%d",&choose); do{ if(choose==0){ save(); flag=0; printf("商品添加成功\n"); spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); printf("%-10s%-10s%.2f%4d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].kc); } fclose(spml); return0; break;} elseif(choose==1)flag=1; else{ printf("輸入有誤,請(qǐng)重新輸入([1]繼續(xù)添加[0]返回):"); scanf("%d",&choose); printf("\n"); } }while(choose!=1);}}/*定義刪除函數(shù)*/intSC(){ intbhsc(); intmcsc(); intchoose; while(1){ printf("請(qǐng)輸入選擇[1]按商品編號(hào)刪除[2]按商品名稱刪除[0]返回:");scanf("%d",&choose); if(choose==0)return-1; switch(choose){ case1:bhsc();break; case2:mcsc();break; default:printf("**************輸入錯(cuò)誤,請(qǐng)重新輸入****************\n");break; } }} /*定義按編號(hào)刪除函數(shù)*/ intbhsc(){ voidsave();inti,j,choose,flag=1; intinde*; charq[20]; spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml); while(flag==1){ printf("請(qǐng)輸入需刪除的商品編號(hào):");/*查找該商品*/ scanf("%s",q); for(i=0;i<number;i++){ if(!strcmp(sps[i].id,q)){ inde*=i; break; } }if(i<number){ for(j=inde*+1;j<number;j++){ sps[j-1]=sps[j]; } number=number-1;}else{ printf("無(wú)此商品!\n");}printf("繼續(xù)按編號(hào)刪除或返回菜單(1/0):"); scanf("%d",&choose); do{ if(choose==0){ save(); flag=0; printf("商品刪除成功\n"); spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); printf("%-10s%-10s%.2f%4d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].kc); } fclose(spml); return0; break;} elseif(choose==1)flag=1; else{ printf("輸入有誤,請(qǐng)重新輸入([1]繼續(xù)按編號(hào)刪除[0]返回):"); scanf("%d",&choose); printf("\n"); } }while(choose!=1); }}/*定義按名稱刪除函數(shù)*/intmcsc(){ voidsave();inti,j,choose,flag=1; intinde*; charq[20]; spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml); while(flag==1){ printf("請(qǐng)輸入需刪除的商品名稱:");/*查找該商品*/ scanf("%s",q); for(i=0;i<number;i++){ if(!strcmp(sps[i].name,q)){ inde*=i; break; } }if(i<number){ for(j=inde*+1;j<number;j++){ sps[j-1]=sps[j]; } number=number-1;}else{ printf("無(wú)此商品!\n"); }printf("繼續(xù)按名稱刪除或返回菜單(1/0):"); scanf("%d",&choose); do{ if(choose==0){ save(); flag=0; printf("商品刪除成功\n"); spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); printf("%-10s%-10s%.2f%4d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].kc); } fclose(spml); return0; break;} elseif(choose==1)flag=1; else{ printf("輸入有誤,請(qǐng)重新輸入([1]繼續(xù)按名稱刪除[0]返回):"); scanf("%d",&choose); printf("\n"); } }while(choose!=1); }}/*************************************************************************************//*修改商品信息模塊*/int*G(){voidsave();intinde*;charq[20];inti,choose,flag=1;spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml);while(flag==1){printf("請(qǐng)輸入需要修改的商品編號(hào):");/*找到需要修改的商品*/ scanf("%s",q); for(i=0;i<number;i++){ if(!strcmp(sps[i].id,q)){ inde*=i; break; } } if(i<number){ printf("***********請(qǐng)輸入新商品信息************\n"); printf("請(qǐng)輸入新商品編號(hào):"); scanf("%s",sps[inde*].id); printf("請(qǐng)輸入新商品名稱:"); scanf("%s",sps[inde*].name); printf("請(qǐng)輸入新商品價(jià)格:"); sps[inde*].price=0.0; scanf("%f",&sps[inde*].price); printf("請(qǐng)輸入新商品庫(kù)存:"); scanf("%d",&sps[inde*].kc); } else{ printf("無(wú)此商品!\n"); }printf("繼續(xù)修改或返回菜單(1/0):");scanf("%d",&choose);do{ if(choose==0){ save(); flag=0;printf("商品修改成功\n"); spml=fopen("SPML.t*t","r");/*打開(kāi)文件讀取數(shù)據(jù)*/ for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); printf("%-10s%-10s%.2f%4d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].kc); } fclose(spml); return0; break; } elseif(choose==1)flag=1; else{ printf("輸入有誤,請(qǐng)重新輸入([1]繼續(xù)修改[0]返回):"); scanf("%d",&choose); printf("\n"); } }while(choose!=1);}}/***********************************************************************************//**************************后臺(tái)維護(hù)模塊結(jié)束*******************************//*********************************賬戶管理模塊***********************************/voidZHGL(){ intchoose; voidCZ(); voidC**G();while(1){ printf("請(qǐng)輸入選擇[1]充值[2]查詢修改[0]返回:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:CZ();break;case2:C**G();break;default:printf("**************輸入錯(cuò)誤**************\n"); } }}voidCZ(){ inti; intinde*; floatm; voidsave1(); yhml=fopen("YHML.t*t","r"); for(i=0;i<number1;i++) fread(&yhs[i],sizeof(structyh),1,yhml); fclose(yhml); for(i=0;i<number1;i++){ if(strcmp(yh_name,yhs[i].name)) i++; else{ printf("用戶名:%s用戶密碼:%s余額:%.2f\n",yhs[i].name,yhs[i].code,yhs[i].money); inde*=i; break; } } printf("輸入充值金額:"); scanf("%f",&m); yhs[inde*].money=yhs[inde*].money+m; save1(); printf("**************充值成功**************\n"); yhml=fopen("YHML.t*t","r"); for(i=0;i<number1;i++) fread(&yhs[i],sizeof(structyh),1,yhml); fclose(yhml); for(i=0;i<number1;i++){ if(strcmp(yh_name,yhs[i].name)) i++; else{ printf("用戶名:%s用戶密碼:%s余額:%.2f\n",yhs[i].name,yhs[i].code,yhs[i].money); break;} }}voidC**G(){ voidCK**(); voidCKYGM(); voidCKYSC(); intchoose; while(1){ printf("請(qǐng)輸入選擇[1]查看賬戶信息[2]查看已收藏[3]查看已購(gòu)買[0]返回:"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:CK**();break;case2:CKYSC();break;case3:CKYGM();break; default:printf("**************輸入錯(cuò)誤**************\n"); }}}voidCK**(){ inti; intinde*; intchoose; chars[20]; chars2[20]; voidsave1(); yhml=fopen("YHML.t*t","r");/*用戶文件*/ for(i=0;i<number1;i++) fread(&yhs[i],sizeof(structyh),1,yhml); fclose(yhml); for(i=0;i<number1;i++){ if(strcmp(yh_name,yhs[i].name)) i++; else{ printf("用戶名:%s密碼:%s余額:%.2f\n",yhs[i].name,yhs[i].code,yhs[i].money); inde*=i;break; } } while(1){ printf("是否修改密碼[1]是[0]否"); scanf("%d",&choose); if(choose==0)break; switch(choose){ case1:printf("請(qǐng)輸入原密碼:"); scanf("%s",s); if(strcmp(s,yhs[inde*].code)){ printf("**************輸入有誤**************\n"); break; } else{ printf("請(qǐng)輸入新密碼:"); scanf("%s",yhs[inde*].code); printf("請(qǐng)?jiān)佥斎胄旅艽a確認(rèn):"); scanf("%s",s2); while(strcmp(yhs[inde*].code,s2)){ printf("輸入錯(cuò)誤,請(qǐng)重新輸入\n"); printf("請(qǐng)輸入新密碼:"); scanf("%s",yhs[inde*].code); printf("請(qǐng)?jiān)佥斎胄旅艽a確認(rèn):"); scanf("%s",s2); } save1(); printf("**************修改成功**************\n");break; default:printf("**************輸入錯(cuò)誤**************");break; } }}}voidCKYSC(){ inti,flag=0; ysc=fopen("YSC.t*t","a+"); for(i=0;i<number2;i++) fread(&scs[i],sizeof(structsc),1,ysc); fclose(ysc); for(i=0;i<number2;i++){ if(!strcmp(yh_name,scs[i].yh_name)){ printf("用戶名:%s商品ID:%s商品名:%s價(jià)格:%.2f\n",scs[i].yh_name,scs[i].sp_id,scs[i].sp_name,scs[i].price); flag=1; } } if(flag==0) printf("未收藏任何物品!\n");}voidCKYGM(){ inti,flag=0;ygm=fopen("YGM.t*t","a+"); for(i=0;i<number3;i++) fread(&gms[i],sizeof(structgm),1,ygm); fclose(ygm); for(i=0;i<number3;i++){ if(!strcmp(yh_name,gms[i].yh_name)){ printf("用戶名:%s商品ID:%s商品名:%s價(jià)格:%.2f\n",gms[i].yh_name,gms[i].sp_id,gms[i].sp_name,gms[i].price); flag=1; } } if(flag==0) printf("未購(gòu)買任何物品!\n");}/**************************************賬戶管理結(jié)束********************************//***********************************商品操作模塊****************************************/voidSPCZ(){ intchoice; voidbuy(); voidcollection(); voidsearch(); printf("***********歡迎進(jìn)入商品操作***********"); printf("\n[1]查詢篩選操作\n[2]購(gòu)買商品\n[3]收藏商品\n[0]返回\n請(qǐng)選擇:"); scanf("%d",&choice); while(choice!=0){ if(choice==0)break; switch(choice){ case1:{ search(); printf("***********歡迎進(jìn)入商品操作***********"); printf("\n[1]查詢篩選操作\n[2]購(gòu)買商品\n[3]收藏商品\n[0]返回\n請(qǐng)選擇:"); scanf("%d",&choice); break; } case2:{ buy(); printf("***********歡迎進(jìn)入商品操作***********"); printf("\n[1]查詢篩選操作\n[2]購(gòu)買商品\n[3]收藏商品\n[0]返回\n請(qǐng)選擇:"); scanf("%d",&choice); break; } case3:{ collection(); printf("***********歡迎進(jìn)入商品操作***********"); printf("\n[1]查詢篩選操作\n[2]購(gòu)買商品\n[3]收藏商品\n[0]返回\n請(qǐng)選擇:"); scanf("%d",&choice); break; } default:{ printf("輸入有誤,請(qǐng)重新輸入:"); scanf("%d",&choice); } break; } }}voidsearch(){ FILE*spml; inti,choice; spml=fopen("SPML.t*t","r"); for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml); printf("請(qǐng)選擇所需功能:\n[1]按名稱查詢\n[2]按價(jià)格區(qū)間查詢\n[3]按信用區(qū)間查詢\n[0]返回\n請(qǐng)輸入功能"); scanf("%d",&choice); while(1){ if(choice==0)break; switch(choice){ case1:{ { charsearchname[200]; intk,flag=0; printf("請(qǐng)輸入商品準(zhǔn)確名稱:"); scanf("%s",searchname); printf("\n搜索結(jié)果\n"); for(k=0;k<number;k++){ if(strcmp(sps[k].name,searchname)==0){ printf("ID:%s名稱:%s價(jià)格:%.2f信用:%.2f庫(kù)存:%d\n",sps[k].id,sps[k].name,sps[k].price,sps[k].*y,sps[k].kc); flag=1; break; } } if(flag==0) printf("您查找的商品不存在。\n"); } printf("\n"); break; } case2:{ { floatminprice,ma*price; intk,flag=0; printf("請(qǐng)輸入商品價(jià)格下限:"); scanf("%f",&minprice); printf("請(qǐng)輸入商品價(jià)格上限:"); scanf("%f",&ma*price); printf("搜索結(jié)果\n"); for(k=0;k<number;k++){ if((sps[k].price<=ma*price)&&(sps[k].price>=minprice)){ printf("ID:%s名稱:%s價(jià)格:%.2f信用:%.2f庫(kù)存:%d\n",sps[k].id,sps[k].name,sps[k].price,sps[k].*y,sps[k].kc); flag=1; } } if(flag==0) printf("您查找的商品不存在。\n"); } printf("\n"); break; } case3:{ { floatmin*y,ma**y; intk,flag=0; printf("請(qǐng)輸入商品信用下限:"); scanf("%f",&min*y); printf("請(qǐng)輸入商品信用上限:"); scanf("%f",&ma**y); printf("搜索結(jié)果\n"); for(k=0;k<number;k++){ if((sps[k].*y<=ma**y)&&(sps[k].*y>=min*y)){ printf("ID:%s名稱:%s價(jià)格:%.2f信用:%.2f庫(kù)存:%d\n",sps[k].id,sps[k].name,sps[k].price,sps[k].*y,sps[k].kc); flag=1; } } if(flag==0) printf("您查找的商品不存在。\n"); } printf("\n"); break; } default:printf("**************輸入有誤。**************\n");break; } break; }}voidbuy(){ inti,flag=0,dest,queren,k,choose,inde*; inttest=0;//確認(rèn)是否找到商品 voidment(int*); charnumid[20]; printf("輸入需要購(gòu)買的商品"); scanf("%s",numid); spml=fopen("SPML.t*t","r"); for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml); ygm=fopen("YGM.t*t","a+"); for(k=0;k<number3;k++){ fread(&gms[k],sizeof(structgm),1,ygm); } fclose(ygm); yhml=fopen("YHML.t*t","r"); for(k=0;k<number1;k++){ fread(&yhs[k],sizeof(structyh),1,yhml); } fclose(yhml); for(i=0;i<number1;i++){ if(strcmp(yhs[i].name,yh_name)==0){ inde*=i; break; } } for(i=0;i<number;i++){ if(strcmp(sps[i].id,numid)==0){ test=1; flag=1; dest=i; printf("ID:%s名稱:%s價(jià)格:%.2f信用:%.2f庫(kù)存:%d購(gòu)買次數(shù):%d\n",sps[i].id,sps[i].name,sps[i].price,sps[i].*y,sps[i].kc,sps[i].num_gm); if(sps[i].kc<=0){ printf("商品庫(kù)存不足,無(wú)法購(gòu)買。\n"); break; } printf("確認(rèn)購(gòu)買?([1]確定[0]取消):"); scanf("%d",&queren); do{ if(queren==0) return0; elseif(queren==1){ if(yhs[inde*].money<sps[dest].price){ printf("余額不足,請(qǐng)充值。\n"); return0; } else{ strcpy(gms[number3].yh_name,yh_name); strcpy(gms[number3].sp_id,sps[dest].id); strcpy(gms[number3].sp_name,sps[dest].name); gms[number3].price=sps[dest].price; sps[dest].num_gm++; sps[dest].kc--; yhs[inde*].money=yhs[inde*].money-sps[dest].price; number3++; flag=0; } } else{ printf("輸入有誤,請(qǐng)重新輸入([1]確定[0]取消):"); scanf("%d",&queren); } }while(flag==1); if((spml=fopen("SPML.t*t","w"))==NULL){ printf("Fileopenerror!\n");e*it(0); } for(i=0;i<number;i++){ if(fwrite(&sps[i],sizeof(structsp),1,spml)!=1) printf("filewriteerror\n"); } fclose(spml); if((yhml=fopen("YHML.t*t","w"))==NULL){ printf("Fileopenerror!\n");e*it(0); } for(i=0;i<number1;i++){ if(fwrite(&yhs[i],sizeof(structyh),1,yhml)!=1) printf("filewriteerror\n"); } fclose(yhml); if((ygm=fopen("YGM.t*t","w"))==NULL){ printf("Fileopenerror!\n");e*it(0); } for(i=0;i<number3;i++){ if(fwrite(&gms[i],sizeof(structgm),1,ygm)!=1) printf("filewriteerror\n"); } fclose(ygm); printf("購(gòu)買物品成功,是否對(duì)該物品進(jìn)行評(píng)價(jià)([1]是[0]否):"); scanf("%d",&choose); flag=0; do{ if(choose==0) return0; elseif(choose==1){ ment(dest); flag=1; } else{ printf("輸入有誤,請(qǐng)重新輸入([1]是[0]否):"); scanf("%d",&choose); } }while(flag==0); break; } } if(test==0) printf("輸入的商品編號(hào)不存在。");}voidcollection(){ inti,flag=0,dest,queren,k,inde*; inttest=0;//確認(rèn)是否找到商品 charnumid[20]; yhml=fopen("YHML.t*t","r"); for(k=0;k<number1;k++){ fread(&yhs[k],sizeof(structyh),1,yhml); } fclose(yhml); for(i=0;i<number1;i++){ if(strcmp(yhs[i].name,yh_name)==0){ inde*=i; break; } } printf("輸入需要收藏的商品"); scanf("%s",numid); spml=fopen("SPML.t*t","r"); for(i=0;i<number;i++){ fread(&sps[i],sizeof(structsp),1,spml); } fclose(spml); ysc=fopen("YSC.t*t","a+"); for(k=0;k<number2;k++){ fread(&scs[k],sizeof(structsc),1,ysc); } fclose(ysc); for(i=0;i<number;i++){ if(strcmp(sps[i].id,numid)==0){ test=1; flag=1; dest=i; printf("ID:%s名稱:%s價(jià)格:%.2f信用:%.2f庫(kù)存:%d收藏次數(shù):%d\n",sps[i].id,sps[i].name,sps[i].
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽省導(dǎo)游資格考試(導(dǎo)游基礎(chǔ)知識(shí))模擬試卷2(題后含答案及解析)
- 醫(yī)保年度考核個(gè)人工作總結(jié)(7篇)
- 單位防疫不力檢討書(shū)(7篇)
- 《煤氣的甲烷化》課件
- 條口穴在臟腑調(diào)理中的應(yīng)用-洞察分析
- 輿情傳播中的群體極化現(xiàn)象-洞察分析
- 虛擬化資源管理技術(shù)-洞察分析
- 污水處理自清潔技術(shù)進(jìn)展-洞察分析
- 新材料技術(shù)推廣策略研究-洞察分析
- 園林工程信息化管理-洞察分析
- GB/T 13738.2-2017紅茶第2部分:工夫紅茶
- 第十一章英國(guó)自然風(fēng)景式園林
- 燃?xì)忮仩t安全檢查表分析(SCL)+評(píng)價(jià)記錄
- 小學(xué)四年級(jí)除數(shù)是兩位數(shù)的除法練習(xí)題
- 消防控制室值班記錄1
- 貨物質(zhì)量保證措施
- 工作簡(jiǎn)化方法改善與流程分析課件
- 部編人教版道德與法治四年級(jí)下冊(cè)《合理消費(fèi)》優(yōu)質(zhì)課件
- 一般自我效能感量表及說(shuō)明
- 《建筑工程類別劃分標(biāo)準(zhǔn)》-全
- 工藝變更通知單
評(píng)論
0/150
提交評(píng)論