中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用C語言實現商品銷售系統

發布時間:2021-08-27 18:33:20 來源:億速云 閱讀:186 作者:chen 欄目:編程語言

這篇文章主要介紹“怎么用C語言實現商品銷售系統”,在日常操作中,相信很多人在怎么用C語言實現商品銷售系統問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C語言實現商品銷售系統”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

#include<stdio.h> //頭文件
#include<string.h> //頭文件
#include<stdlib.h> //頭文件
#define M 100  //貨物種類
#define N 100  //顧客數目
struct goods  //單個貨物信息格式
{
 int number; //產品編號
 char name[20]; //產品名稱
 int price1; //進價(或利潤)
 int price2; //售價
 int amount; //數量
};
struct orderlist   //訂單格式
{
 struct goods L[M];
};
struct customer   //客戶信息內容和格式
{
 char name[20];   //姓名
 char password[6];  //服務密碼
 int count;    //訂單號
};
struct customer khl[N]; //所有客戶信息
struct goods base[M];  //庫存信息
struct orderlist odl[10*N];//訂單表
struct goods lackl[M];  //缺貨表
struct goods suml[M+1]; //銷售報表
int PP=0;     //訂單編號
int QQ=0;  //客戶編號 
int goodssum=0;    //貨物總數


int main()     //主函數開始!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
{
 int SysUseWay();  //系統使用說明函數聲明
 int chushihua();  //系統初始化函數聲明
 int welcome();  //歡迎界面函數聲明
 int kh();   //客戶函數聲明
 int buyer();  //采購部函數聲明
 int manager();  //公司經理函數聲明
 int goodbye(); //歡送函數聲明
 int n,m=9;  //變量聲明
 SysUseWay(); //系統使用說明書
 chushihua(); //系統初始化
 while(m==9) //循環三岔口
 {
 welcome(); //歡迎界面
 scanf("%d",&n);
 switch(n) //各奔東西
 {
 case 0 : ;break;
 case 1 : kh(); break;  //客戶之家
 case 2 : buyer(); break; //采購之家
 case 3 : manager(); break; //經理之家
 default : printf("輸入錯誤!請退出重從新輸入");
 }
 if(n==0)     
 break;
 printf("    繼續進入主界面請按 9 退出請按0\n");
 scanf("%d",&m);
 }
 goodbye();     //歡送界面
 return 0;
}        //主函數結束!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
          

int SysUseWay()     //系統使用說明書函數定義
{
 FILE *fp;
 fp=fopen("D://商品銷售系統使用說明書.txt","w");
 fprintf(fp,"             商品銷售系統使用說明書\n");
 fprintf(fp," 作者 盧孟江 學號 13091012 西安電子科技大學軟件學院130911班 2010年10月6日\n");
 fprintf(fp," 本銷售系統僅是一個銷售部門管理系統的的簡單模型,功能少,不太穩定,不太安全。\n");
 fprintf(fp," 主要分為三個模塊。客戶--銷售部門--公司經理。\n");
 fprintf(fp," 1--客戶。客戶主要是通過該系統進行訂貨。進入系統后,需要注冊,登陸。系統會自主分配\n");
 fprintf(fp,"一個服務編號給客戶,由客戶自己設定密碼。訂購之后,可以登錄查詢自己的訂貨情況.不足之處\n");
 fprintf(fp,"在于該系統是一次性的---關閉系統之后,系統會丟失一切數據。這涉及數據庫的知識,恕我現在\n");
 fprintf(fp,"無能為力。還有,每一個服務編號只能對應一個訂貨單,即客戶每定一次貨就得重新注冊一次,否\n");
 fprintf(fp,"則就會覆蓋以前的數據。\n");
 fprintf(fp," 2--采購部門。主管倉庫,查看處理缺貨,進貨。使用該系統前,首先必須由采購部門建立倉\n");
 fprintf(fp,"庫。填寫貨物名稱,進價,售價,庫存數量。貨物編號由系統自主按序分配。接下來,采購部門需\n");
 fprintf(fp,"要經常查看是否缺貨。及時進貨。\n");
 fprintf(fp," 3--經理只需要抽時間查看一下銷售報表。了解每一種貨物的銷售情況,以及總的銷售利潤。\n");
 fprintf(fp,"\n");
 fprintf(fp,"        謹以此紀念我碌碌無為的大一。\n");
 fclose(fp);
 printf("................................................................................\n");
 printf("本系統使用說明書詳見于您的計算機D盤“商品銷售系統使用說明書.txt”文件。歡迎查閱 \n");
 printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
 return 0;
}



int welcome()     //歡迎界面函數定義
{
 
 printf("................................................................................\n");
 printf("\n");
 printf("      ~~~~~~~~歡迎使用商品銷售系統~~~~~~~~\n");
 printf("\n");
 printf("..............................................................................\n");
 printf("        公司客戶請按  1\n");
 printf("\n");
 printf("..............................................................................\n");
 printf("        采購人員請按  2\n");
 printf("\n");
 printf("...............................................................................\n");
 printf("        公司經理請按  3\n");
 printf("\n");
 printf("................................................................................");
 printf("        退出主界面請按  0\n");
 printf("\n");
 printf("\n");
 printf("................................................................................\n");
 return 0;
}


int chushihua()     //初始化函數
{
 int i=0,j=0;
 for(i=0;i<M;i++)
 {
  suml[i].number=lackl[i].number=base[i].number=-1;
  base[i].amount=0;
 base[i].price1=base[i].price2=0;
 lackl[i].amount=0;
 suml[i].price1=0;
 suml[i].amount=0;
 }
 suml[M].price1=0;
 for(i=0;i<N;i++)
 khl[i].count=-1;
 for(i=0;i<10*N;i++)
 {
  for(j=0;j<M;j++)
 {
 odl[i].L[j].number=j;
 odl[i].L[j].amount=0;
 odl[i].L[j].price1=base[j].price1;
 odl[i].L[j].price2=base[j].price2;
 }
 }
 
 return 0;
}



int goodbye()     //歡送界面函數定義
{
 printf("     ~~~~感謝您使用商品銷售系統~~~~\n");
 printf(".........................................................................\n");
 printf("作者 盧孟江  學號 13091012 軟件學院 130911班\n");
 printf(".........................................................................\n");
 printf("\n");
 printf(".........................................................................\n");
 printf("由于時間倉促,能力有限,系統不是很完美,如有問題敬請原諒。歡迎垂詢15109281415\n");
 printf(".........................................................................\n");
 return 0;
}
int buyer()     //采購函數
{
 int welcomebuyer();  //歡迎函數
 int buildbaser();  //倉庫建設
 int solvelack();  //查詢缺貨情況
 int chackbase();  //查詢倉庫情況
 int n;
 int m=9;
 while(m==9)    //循環三岔口
 {
 welcomebuyer();    //歡迎歡迎
 scanf("%d",&n);    //各奔東西
 switch(n)
 {
 case 0 : ;break;   //退出
 case 1: solvelack();break; //查缺貨
 case 2: buildbaser();break; //建設倉庫
 case 3: chackbase();break; //檢查倉庫
 default :printf("輸入錯誤!\n");
 }
 if(n==0)
 break;
 printf("    繼續采購請按 9 否則請按0\n");
 scanf("%d",&m);
 }
 return 0;
}
 

int welcomebuyer()
{
 printf("................................................................................\n");
 printf("\n");
 printf("      ~~~~~~~~歡迎來到采購之家~~~~~~~~\n");
 printf("\n");
 printf("..............................................................................\n");
 printf("        處理缺貨    請按 1\n");
 printf("\n");
 printf("..............................................................................\n");
 printf("        進貨     請按 2\n");
 printf("\n");
 printf("...............................................................................\n");
 printf("        查詢當前存貨情況  請按 3\n");
 printf("\n");
 printf("................................................................................");
 printf("        退出采購    請按 0\n");
 printf("\n");
 printf("\n");
 printf("................................................................................\n"); 
return 0;
}


int buildbaser()    //采購函數--進貨函數
{
 int i=0;
 printf(" 若想停止進貨,請在貨物數量上輸入 0\n\n");
 for(i=0;i<M;i++)
 {
 printf("\n貨物名稱:");
 scanf("%s",base[i].name);
 base[i].number=i;
  printf("\n貨物數量:");
 scanf("%d",&base[i].amount);
 if(base[i].amount<=0){
   base[i].amount=0;
 break;
 }
 goodssum+=base[i].amount;
 printf("\n貨物進價:");
 scanf("%d",&base[i].price1);
 printf("\n貨物售價:");
  scanf("%d",&base[i].price2);
 }
 return 0;
}


int chackbase()    //采購函數---查詢當前存貨函數
{
 int i=0;
 printf("................................................................................\n");
 if(goodssum==0)
 {
 printf("   倉庫沒貨!!!   請采購部門及時進貨!!!\n");
 return 0;
 }
 for(i=0;i<M;i++)
 {
 if(base[i].amount>0){
    printf("................................................................................\n");
  printf("貨物編號 貨物名稱    貨物數量   進價  售價\n");
   printf(" %3d  %-20s %6d   %6d  %6d \n",base[i].number,base[i].name,base[i].amount,base[i].price1,base[i].price2);
  printf("................................................................................\n");
 }
 else
 continue;
 }
 printf("................................................................................\n");
 return 0;
}



int solvelack()    //采購函數--處理缺貨函數
{
 int i=0,k=0;
 int printlack();   //采購函數--處理缺貨函數--查看函數聲明
 int supplement();   //采購函數--處理缺貨函數--添貨函數聲明
 printlack();    //查看是否缺貨
 printf("   如果需要進貨,請按1 ; 否則,請按0 \n");
 scanf("%d",&k);
 switch(k)
 {
 case 1:supplement();break;
 case 0:;break;
 default :printf("輸入錯誤!\n");
 }
 return 0;
}
int printlack()    //采購函數--處理缺貨函數--查看函數定義
{
 int i=0,count=0;
 if(goodssum==0){
   printf("     !!!倉庫沒貨!!!請采購人員及時進貨!!!\n");
 return 0;
 }
 printf("................................................................................\n");
 for(i=0;i<M;i++)
 {
 if(lackl[i].amount==0){
  count++;
 continue;
 }
  else{
 printf("................................................................................\n");
   printf("貨物編號 貨物名稱    缺貨數量\n");
  printf(" %3d  %-20s %6d   \n",lackl[i].number,base[i].name,lackl[i].amount);
 }
 }
 printf("................................................................................\n");
 if(count==M)
 printf("    ~~~不缺~~~貨物充足~~~\n");
 else 
 printf("     缺! 缺! 缺!\n");
return 0;
}
int supplement()    //采購函數--處理缺貨函數--添貨函數定義
{
 int i=0,j=1;
 int printlack();
 printlack();
 printf("  若想停止進貨,請在貨物數量上輸入0\n");
 while(j>0)
 {
 printf("產品編號\n");
  scanf("%d",&i);
  while(i>=M){
  printf("此貨物不存在,請重新輸入\n");
  scanf("%d",&i);}
 base[i].number=i;
  printf("產品名稱:\n");
  scanf("%s",base[i].name);
 printf("進貨數量:\n");
 scanf("%d",&j);
  if(j>0){
   base[i].amount+=j;
  goodssum+=j;
 }
 else 
 break;
  printf("\n貨物進價:");
 scanf("%d",&base[i].price1);
 printf("\n貨物售價:");
  scanf("%d",&base[i].price2);
 }
 return 0;
}



int kh()       //客戶函數
{

int login();      //客戶函數--登陸函數聲明
int registe();     //客戶函數--注冊函數聲明
int welcomekh();     //客戶函數--歡迎函數聲明
int searchkh(int falg);   //客戶函數--查詢訂貨情況的函數聲明
int order(int falg);    //客戶函數--訂貨函數聲明
int i,k=0,flag=0;
int n=9,m=9;
welcomekh();      //歡迎歡迎
while(m==9)      //登陸?注冊循環二岔路
{
printf("  登陸請按1,   注冊請按2,   否則請按 0\n");     
scanf("%d",&i);     
switch(i)
{
case 0 : ;break;
case 1 : flag=login(); break;
case 2 : registe(); break;
default :printf("輸入錯誤!\n");
}
if(i==0)
 break;
printf("   登陸或注冊請按 9 否則請按0\n");
scanf("%d",&m);
}

while(n==9)      //訂購?查詢循環二岔路
{
printf("   查詢請按 1, 訂購請按 2,  否則請按 0\n");
scanf("%d",&i);
switch(i)
{
case 0 : ;break;
case 1 : searchkh(flag); break;
case 2 : order(flag); break;
default :printf("輸入錯誤!\n");
}
if(i==0)
 break;
printf("   繼續查詢或訂購請按 9 否則請按0\n");
scanf("%d",&n);
}
return 0;
}


int welcomekh()     //客戶函數---歡迎函數定義
{ 
 
 printf("................................................................................\n");
 printf("\n");
 printf("      ~~~~~~~~歡迎來到客戶之家~~~~~~~~\n");
 printf("\n");
 printf("..............................................................................\n");
 return 0;
}


int login()      //客戶函數---登陸函數定義
{
int n,count=0;
char password[6];
printf("-------------------請輸入服務編號-----------------------\n");
scanf("%d",&n);
printf("-------------------請輸入六位密碼-----------------------\n");
scanf("%s",password);
while(strcmp(password,khl[n].password))
{
 printf("~~~~~~~~~~~~~~~請重新輸入六位密碼~~~~~~~~~~~~~~~~~~~~\n");
 printf("\n");
 printf("    退出登陸,請輸入123456\n");
 scanf("%s",password);
 if(!strcmp(password,"123456"))
 break;
}
if(!strcmp(password,"123456"))
return 0;
else 
return n;
}


int registe()      //客戶函數---注冊函數定義
{
printf("~~~~~~~~~~~~~~~~~~~~~~~~~您的服務編號是: %d ,請你一定要記牢您! ~~~~~~~~~~~~~~~~~~~~~~~~~\n",QQ);
printf("\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~請輸入您的用戶名:~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n");
scanf("%s",khl[QQ].name);
printf("~~~~~~~~~~~~~~~~~~~~~~~~~請輸入六位密碼:~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n");
scanf("%s",khl[QQ].password);
QQ++;
return 0;
}


int searchkh(int flag)    //客戶函數---查詢函數定義
{
int n,i=0;
n=flag;
printf("................................................................................\n");
printf("    Hello %s 您的服務編號是: %d\n",khl[n].name,n);
printf("................................................................................\n");
if(khl[n].count!=-1){
 for(i=0;i<M;i++){
 if(odl[khl[n].count].L[i].amount==0)
 i++;
 else{
    printf("................................................................................\n");
    printf("貨物編號 貨物名稱    訂貨數量   單價\n");
   printf(" %3d  %-20s %6d   %6d\n",base[i].number,base[i].name,odl[khl[n].count].L[i].amount,base[i].price2);
    printf("................................................................................\n");
 }
   
 }
}
else{
 printf("\n");
  printf("................................................................................\n");
  printf("        您當前沒有訂貨。        \n");
 printf("................................................................................\n");
}
printf("................................................................................\n");
return 0;
}



int order(int flag)    //客戶函數---訂購函數
{
int i=0,k=0,m=0,n=0,count=0;
printf("\n");
n=flag;
printf("貨物編號 貨物名稱    售價\n");
printf("\n");
for(i=0;i<M;i++){
 if(base[i].number==-1){
 count++;
 continue;}
 else
  printf(" %3d  %-20s %6d\n",base[i].number,base[i].name,base[i].price2);
}
if(count==M)
{
 printf("倉庫現在沒貨,請稍后再來。麻煩您通知采購部門及時補貨。。。謝謝。。。\n");
 return 0;
}
printf("請輸入產品編號和數量,若想結束,在訂購數量上輸入 0 \n");
printf("產品編號\n");
scanf("%d",&k);
while((k>=M)||(base[k].number==-1)){
 printf("此貨物不存在,請重新輸入\n");
 scanf("%d",&k);}
printf("數量\n");
scanf("%d",&m);
while(m>0)
{
 if(base[k].amount<m)
 {
 odl[PP].L[k].amount=base[k].amount;
 base[k].amount=0;
 printf("存貨不足,缺 %d 個,先賣給您%d個,剩下的請您稍后重新注冊服務編號再預定!同時麻煩您通知采購部門及時補貨。。。謝謝。。。\n",odl[PP].L[k].amount-base[k].amount,base[k].amount);
 lackl[k].amount+=(m-base[k].amount);
 }
 else{
 odl[PP].L[k].amount=m;
 base[k].amount-=m;
 }
 goodssum-=odl[PP].L[k].amount;
 suml[k].price1+=(odl[PP].L[k].amount*(base[k].price2-base[k].price1));
 suml[M].price1+=suml[k].price1;
 suml[k].amount+=odl[PP].L[k].amount;
 printf("產品編號\n");
 scanf("%d",&k);
 while((k>=M)||(base[k].number==-1)){
 printf("此貨物不存在,請重新輸入\n");
 scanf("%d",&k);}
 printf("訂購數量\n");
 scanf("%d",&m);
}
khl[n].count=PP;
PP++;
return 0;
}

int manager()     //經理函數定義
{

 int i=0;
 for(i=0;i<M;i++)
 {
  if(suml[i].amount==0)
 i++;
 else{
    printf("................................................................................\n");
  printf("貨物編號 貨物名稱   該貨物利潤\n");
   printf(" %3d  %-20s %6d   \n",suml[i].number,base[i].name,suml[i].price1);
  printf("................................................................................\n");

 }
 
 }
 printf("\n--------------------總貨量為 %d 個-----------------------------\n",goodssum);
 printf("\n--------------------總利潤為 %d 美元-----------------------------\n",suml[M].price1);
 return 0;
}

到此,關于“怎么用C語言實現商品銷售系統”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福建省| 荥经县| 葫芦岛市| 义马市| 通河县| 平度市| 蓬莱市| 梅河口市| 临清市| 五家渠市| 屯门区| 衡阳市| 宁明县| 黄平县| 疏勒县| 永康市| 封丘县| 宜良县| 梁河县| 民和| 萍乡市| 慈利县| 合江县| 镇雄县| 西吉县| 新竹市| 南宁市| 绥棱县| 读书| 略阳县| 富顺县| 金坛市| 和硕县| 年辖:市辖区| 嘉荫县| 榆林市| 贞丰县| 东台市| 丹寨县| 文安县| 江安县|