最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言商品銷售系統源碼分享

 更新時間:2018年02月26日 09:59:44   投稿:lijiao  
這篇文章主要為大家分享了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) //循環(huán)三岔口
 {
 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("    繼續(xù)進入主界面請按 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," 本銷售系統僅是一個銷售部門管理系統的的簡單模型,功能少,不太穩(wěn)定,不太安全。\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)    //循環(huán)三岔口
 {
 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("    繼續(xù)采購請按 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)      //登陸?注冊循環(huán)二岔路
{
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)      //訂購?查詢循環(huán)二岔路
{
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("   繼續(xù)查詢或訂購請按 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;
}

更多學習資料請關注專題《管理系統開發(fā)》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C++實現簡單的圖書管理系統

    C++實現簡單的圖書管理系統

    本文給大家分享的是使用C++實現簡單的圖書管理系統的代碼,本系統采用了面向對象的程序設計方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-08-08
  • C語言實現彈跳小球

    C語言實現彈跳小球

    這篇文章主要為大家詳細介紹了C語言實現彈跳小球,設置了小球分數及過關難度,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 詳解Bucket Sort桶排序算法及C++代碼實現示例

    詳解Bucket Sort桶排序算法及C++代碼實現示例

    桶排序是一種線性排序算法,這里我們來詳解Bucket Sort桶排序算法及C++代碼實現示例,需要的朋友可以參考下
    2016-07-07
  • C語言使用單鏈表實現學生信息管理系統

    C語言使用單鏈表實現學生信息管理系統

    這篇文章主要為大家詳細介紹了C語言使用單鏈表實現學生信息管理系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言中如何判斷質數

    C語言中如何判斷質數

    這篇文章主要介紹了C語言中的判斷質數問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • C++手寫內存池的案例詳解

    C++手寫內存池的案例詳解

    這篇文章主要介紹了C++手寫內存池的案例詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • C語言 字符串指針詳解及示例代碼

    C語言 字符串指針詳解及示例代碼

    本文主要介紹C語言 字符串指針,這里整理了詳細資料,并附示例代碼及實現結果,有興趣的小伙伴可以參考下
    2016-08-08
  • C++基于Boost庫實現命令行解析

    C++基于Boost庫實現命令行解析

    Boost庫中默認自帶了一個功能強大的命令行參數解析器,以往我都是自己實現參數解析的,今天偶爾發(fā)現這個好東西,就來總結一下參數解析的基本用法,該庫需要引入program_options.hpp頭文件,即可使用了
    2021-06-06
  • C語言中獲取文件狀態(tài)的相關函數小結

    C語言中獲取文件狀態(tài)的相關函數小結

    這篇文章主要介紹了C語言中獲取文件狀態(tài)的相關函數小結,包括stat()函數和fstat()函數以及l(fā)stat()函數的使用,需要的朋友可以參考下
    2015-09-09
  • VC++ 6.0 C語言實現俄羅斯方塊詳細教程

    VC++ 6.0 C語言實現俄羅斯方塊詳細教程

    這篇文章主要為大家介紹了VC++ 6.0 C語言實現俄羅斯方塊詳細教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論

永登县| 平乡县| 晋州市| 牟定县| 会东县| 文化| 织金县| 泰宁县| SHOW| 茂名市| 富阳市| 太保市| 玉树县| 鹤峰县| 罗定市| 山西省| 长春市| 宝应县| 方正县| 门源| 河曲县| 修武县| 六安市| 霸州市| 贡嘎县| 洪湖市| 育儿| 武川县| 博兴县| 陆丰市| 昭通市| 广东省| 龙口市| 成武县| 潞城市| 永济市| 山阴县| 上蔡县| 平顶山市| 余庆县| 彝良县|