商場收銀系統(c語言設計)_第1頁
商場收銀系統(c語言設計)_第2頁
商場收銀系統(c語言設計)_第3頁
商場收銀系統(c語言設計)_第4頁
商場收銀系統(c語言設計)_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程設計課程名稱C語言程序設計課程設計A題目名稱商場收銀系統目錄1系統分析11.1課程設計內容11.2系統功能需求分析11.3數據結構設計12系統設計22.1總體設計22.2詳細設計22.2.1界面設計22.2.2各功能模塊的設計33系統編碼設計43.1main函數44系統運行55總結61系統分析1.1課程設計內容建立一商品信息文件,商品信息包括商品編號、商品名、商品類別、商品數量、商品價格等。建立一商場收銀系統,功能包括:系統登錄:運行系統時,收銀員應輸入姓名〔或編號〕及密碼,驗證前方可使用系統。收銀操作:收銀員逐條輸入商品編號及數量,系統自動計算金額,輸入完畢后顯示應付款,當輸入實收額后,計算出找贖值。交易完成后按一定格式顯示回單〔格式參照一般超市中的打印小票〕。保存所顯示的回單。自動按銷售情況更新商品信息文件中的數據。查詢收銀員銷售信息。瀏覽庫存商品信息。1.2系統功能需求分析本系統應具有以下功能:1、文件操作功能進行商品信息管理,以文本的形式保存商品最新信息2、數據輸入功能個人登錄,消費商品根本資料的輸入,銷售信息輸入等3、數據添加、修改、刪除功能商品數據更新,個人入庫信息修改更新4、計算功能根本計算功能,銷售額處理5、查詢功能資料庫信息查詢7、數據顯示功能保障客戶知情權,對系統輸入輸出信息的顯示2系統設計2.1總體設計按系統分析的功能要求將系統劃分為以下幾個主要功能模塊:建立新文本庫信息模塊銷售系統模塊商品銷售信息回單模塊商品庫更新模塊銷售回單保存模塊2.2詳細設計2.2.1界面設計1、菜單設計主菜單:子菜單:2、輸入界面的設計3、信息顯示界面的設計2.2.2各功能模塊的設計根據劃分的功能模塊,定義以下函數實現各功能:〔這局部應介紹各函數的原型,各功能模塊實現所用的算法,可用流程圖描述〕1、主函數main()界面顯示界面顯示密碼登錄系統密碼登錄系統主菜單界面主菜單界面銷售界面2、charge函數、receipt_m函數銷售界面商品信息錄入商品信息錄入商品銷售額輸出等商品銷售額輸出等商品銷售信息顯示商品銷售信息顯示3、input_s函數商品信息錄入更新商品信息錄入更新商品根本信息錄入商品根本信息錄入最新商品信息保存最新商品信息保存更新信息庫內容更新信息庫內容4、disp函數最新消費信息建立保存最新消費信息建立保存顯示信息庫內容顯示信息庫內容3系統編碼設計〔這局部將代碼列出,注意,每個函數開始處要介紹函數的功能,重要的代碼應有注釋,代碼格式按鋸齒式編排〕3.1main函數voidmain()/*主函數:密碼登陸與主頁面顯示使用*/{intkey,j;intx,i;voidopenf();voidnewf();loop1:{clrscr();gotoxy(10,4);for(i=0;i<20;i++)printf("#");gotoxy(10,16);for(i=0;i<20;i++)printf("#");gotoxy(16,5);printf("thisisthesalespersonsystem\n");gotoxy(16,7);printf("1.pleaseiputyournumber:\n");gotoxy(16,8);scanf("%s",salesperson_num);gotoxy(16,9);printf("2.pleaseinputyourkey;\n");gotoxy(16,10);scanf("%d",&key);for(j=0;j<3;j++){if(strcmp(salesperson_num,salesperson[j].num)==0&&key==salesperson[j].key)break;clrscr();printf("\tyournumberorkeyiswrong\n");printf("\tpleaselandagain\n");getch();gotoloop1;}}3.2clrscr函數/*主頁面顯示代碼,子函數選擇界面*/gotoxy(16,8);printf("welcometousethesystem\n");gotoxy(16,10);printf("pressentertocontinue");getch();do{clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("*");gotoxy(16,8);printf("1.buildthegoodswarehouse");gotoxy(16,9);printf("2.chargesystem");gotoxy(16,10);printf("3.receiptmessage");gotoxy(16,11);printf("4.addtogoodsmessage");gotoxy(16,12);printf("5.sellmessage");gotoxy(16,13);printf("6.displaygoodsstock");gotoxy(16,14);printf("7.exit");gotoxy(10,16);for(i=0;i<20;i++)printf("*");gotoxy(16,18);printf("pleaseselectthemenu:");scanf("%d",&x);while(x<1||x>8);switch(x){case1:newf();break;case2:charge();break;case3:receipt_m();break;case4:input_s();break;case5:sell_m();break;case6:disp();break;case7:exit();}}while(1);}3.3newf函數/*新建庫信息函數,建立新文檔存儲更新商品信息*/voidnewf(){voidopenf();inti,x;clrscr();do{clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("*");gotoxy(16,8);printf("1.thenewwarehousefilename\n");gotoxy(16,9);printf("2.addthegoodsmessage");gotoxy(16,10);printf("3.exit");gotoxy(10,16);for(i=0;i<20;i++)printf("*");gotoxy(16,18);printf("pleaseselectthemenu:");scanf("%d",&x);switch(x){case1:openf();break;case2:input_s();break;case3:exit();}}while(1);}voidopenf(){inti;charf;clrscr();/*system("cls");*/printf("\tinputthewarehousefilenameplease\n");scanf("%s",xname);fp=fopen("xname","a");fp1=fopen("b.txt","w");fprintf(fp1,"%d\t%d",n,n1);fclose(fp1);fp2=fopen("c.txt","w");fp3=fopen("d.txt","w");printf("\tYouwerebuiltthewarehouse\n");printf("\n\tcontinuetoaddgoodsmessage?(y/n)");f=getch();if(f=='y')input_s();}3.4charge函數/*銷售信息管理系統*/charge(){inti,j,f;intNo;floatsum=0;floatchange,receive;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("*");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fclose(fp1);if((fp=fopen("a.txt","r"))!=NULL)for(i=0;i<n;i++)fscanf(fp,"%d%s%d%d",&goods[i].num,goods[i].name,&goods[i].price,&goods[i].amount);do{printf("\n\tNo.:\t");scanf("%d",&No);printf("\n\tamount:\t");scanf("%d",&j);No--;n1++;goods[No].amount--;sum+=j*goods[No].price;fp2=fopen("c.txt","a");fprintf(fp2,"%s\t%d\t%s\t%d\t%d\n",salesperson_num,goods[No].num,goods[No].name,goods[No].price,j);fclose(fp2);fp3=fopen("d.txt","a");fprintf(fp3,"%d\n\t%d",goods[No].num,j);fclose(fp3);f=getch();if(f==0)getch();break;}while(1);printf("\n\tsum:\t%5.2f",sum);printf("\n\n\treceive:\t");scanf("%f",&receive);change=receive-sum;printf("\n\tchange:\t%5.2f",change);fp3=fopen("d.txt","a");fprintf(fp3,"\n\t%5.2f\n\t%5.2f\n\t%5.2f",sum,receive,change);fclose(fp3);fp=fopen("a.txt","w");for(i=0;i<n;i++)fprintf(fp,"%d\t%s\t%d\t%d\n",goods[i].num,goods[i].name,goods[i].price,goods[i].amount);fclose(fp);fp1=fopen("b.txt","w");fprintf(fp1,"%d\t%d",n,n1);fclose(fp1);gotoxy(10,20);for(i=0;i<20;i++)printf("*");gotoxy(16,22);printf("Pressanykeytoexit");getch();}3.5receipt函數/*客戶回單信息*/receipt_m(){inti,No,j;floatchange,receive,sum;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("*");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fclose(fp1);if((fp3=fopen("d.txt","r"))!=NULL){for(i=0;i<n1;i++)fscanf(fp3,"%d\t%d\t%f\t%f\t%f",&goods[No].num,&j,&sum,&receive,&change);for(i=0;i<n1;i++)printf("\n\tNo:\t%d\n\tamount:\t%d\n\tsum:\t%5.2f\n\treceive:%5.2f\n\tchange:\t%5.2f\n",goods[No].num,j,sum,receive,change);fclose(fp3);}elseprintf("error\n");gotoxy(10,20);for(i=0;i<20;i++)printf("*");gotoxy(16,22);printf("Pressanykeytoexit");getch();}3.6input函數/*庫存信息更新*/input_s(){inti,f,j=0;clrscr();printf("\tthisisthegoodsstock,pleaseaddthegoodsmessage\n");printf("num:name:price:amount:\n");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fp=fopen("a.txt","a");for(i=0;;i++,j++){scanf("%d%s%d%d",&goods[i].num,goods[i].name,&goods[i].price,&goods[i].amount);n++;fp1=fopen("b.txt","w");fprintf(fp1,"%d\t%d",n,n1);fclose(fp1);printf("\ncontinue?(y/n)");f=getch();if(f=='n'){break;}}for(i=0;i<=j;i++)fprintf(fp,"%d\t%s\t%d\t%d\n",goods[i].num,goods[i].name,goods[i].price,goods[i].amount);fclose(fp);gotoxy(16,20);printf("pressanykeytobreak");getch();}3.7sell函數/*顯示最近銷售信息*/sell_m(){inti,j,No;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("*");printf("\n\tsalesperson_num\tnum\tname\tprice\tsell_num\n");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fclose(fp1);if((fp2=fopen("c.txt","r"))!=NULL){for(i=0;i<n1;i++)fscanf(fp2,"%s\t%d\t%s\t%d\t%d\n",salesperson_num,&goods[No].num,goods[No].name,&goods[No].price,&j);for(i=0;i<n1;i++)printf("\t%s\t\t%d\t%s\t%d\t%d\n",salesperson_num,goods[No].num,goods[No].name,goods[No].price,j);fclose(fp2);}elseprintf("error\n");gotoxy(10,20);for(i=0;i<20;i++)printf("*");gotoxy(16,22);printf("Pressanykeytoexit");getch();}3.8display函數/*顯示最近銷售的庫存信息*/disp(){inti;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("*");printf("\n\tinputthewarehousefilename\n");gotoxy(10,7);scanf("%s",xname);printf("\tNo.\tname\tprice\tamount\n");fp1=fopen("b.txt","r");fscanf(fp1,"%d",&n);if((fp=fopen(xname,"r"))!=NULL){for(i=0;i<n;i++)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論