汽車銷售地管理系統(tǒng) C語言版
《汽車銷售地管理系統(tǒng) C語言版》由會員分享,可在線閱讀,更多相關(guān)《汽車銷售地管理系統(tǒng) C語言版(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、word 某某郵電大學 C語言課程設(shè)計報告 題目:汽車銷售管理系統(tǒng) 院系名稱: 專業(yè)名稱: 班 級: 學生某某: 學號〔8位〕: 指導教師: 設(shè)計起止時間: 文案大全 一. 設(shè)計目的 1. 對c語言根本知識的鞏固和綜合運用。熟練使用根本數(shù)據(jù)類型,根本控制結(jié)構(gòu),數(shù)組,函數(shù),指針等。 2. 強化上機動手能力,在理論和實踐的根底上進一步鞏固《C語言程序設(shè)計》課程學習的內(nèi)容,掌握工程化軟件設(shè)計的根本方法。 3. 學會將知識應(yīng)用于實際的方法,提高分析和解決問題的能力,增加綜合能力。 4. 為
2、后續(xù)各門計算機課程的學習打下堅實根底。 5.《汽車銷售管理系統(tǒng)》的設(shè)計與實現(xiàn),此次程序設(shè)計主要利用c語言的根底知識開發(fā)一個簡單的汽車銷售管理系統(tǒng)。汽車銷售管理系統(tǒng)是一個企業(yè)不可缺少的一局部,它利用計算機對汽車銷售進展統(tǒng)一管理,實現(xiàn)汽車銷售管理工作的系統(tǒng)化、規(guī)X化和自動化,為企業(yè)提高工作效率。 二. 設(shè)計內(nèi)容 主要利用c語言的文件操作能力設(shè)計開發(fā)一個小型的管理信息系統(tǒng),主要功能有: 1.能夠?qū)崿F(xiàn)對新車的入庫工作。 2.能夠修改汽車信息。 3.能按銷售新車來管理汽車銷售信息。 4.能夠查詢汽車信息。 5.能夠刪除汽車信息。 6.顯示汽車庫存信息。 7.能夠?qū)崿F(xiàn)
3、對汽車品牌、汽車進價、某某的排序。 8.能夠?qū)崿F(xiàn)退出系統(tǒng)。 三.概要設(shè)計 1.功能模塊圖; 登 錄 系 統(tǒng) 輸入密碼 歡迎界面 汽車銷售管理系統(tǒng) 菜 單 銷售 退出 入庫 修改 查找 排序 刪除 顯示 2.各個模塊詳細的功能描述。 1.能夠?qū)崿F(xiàn)對新車的入庫工作。創(chuàng)建汽車產(chǎn)品信息文件,根據(jù)提示輸入假如干汽車的信息,并將這些信息保存至一個文件中。 2.能夠修改汽車信息。提示用戶輸入要進展修改操作的產(chǎn)品名稱和產(chǎn)品型號,如果在產(chǎn)品信息文件中有該息存在,如
4、此將提示用戶輸入要修改的選項,并將結(jié)果保存至原產(chǎn)品信息文件,并提示用戶選擇是否繼續(xù)進展修改操作。 3.能按銷售新車來管理汽車銷售信息。創(chuàng)建一個銷售記錄文件,每完成一次銷售,就按銷售信息的要求輸入各項數(shù)據(jù),并將該次的銷售信息添加到文件中,同時修改相應(yīng)的汽車產(chǎn)品信息文件〔主要是修改其庫存數(shù)量〕。 4.能夠查詢汽車信息。輸入產(chǎn)品名稱,在汽車產(chǎn)品信息文件中查找相應(yīng)的汽車信息并輸出。 5.能夠刪除汽車信息。提示用戶輸入要進展刪除操作的產(chǎn)品名稱和產(chǎn)品型 號,如果在產(chǎn)品信息文件中有該信息存在,如此將對應(yīng)的汽車信息刪除,否 如
5、此輸出提示信息,并提示用戶選擇是否繼續(xù)進展刪除操作。 6.顯示汽車庫存信息。打開汽車信息文件,輸出文件內(nèi)汽車信息。 7.能夠?qū)崿F(xiàn)對汽車品牌、汽車進價、某某的排序。按不同條件進展排序操作,輸出滿足條件的筆記本電腦信息。 8.能夠?qū)崿F(xiàn)退出系統(tǒng)。 四.詳細設(shè)計 1.各功能函數(shù)的流程圖 主函數(shù) Switch case 語句 入庫管理(case ‘1’) 修改數(shù)據(jù)(case ‘2’) 銷售管理(case ‘3’) 查詢管理(case ‘4’)
6、 刪除管理(case ‘5’) 顯示庫存(case ‘6’) 排序管理(case ‘7’) 完畢管理(case ‘8’) 入庫管理 輸入入庫汽車信息 輸入完畢 返回主菜單 顯示汽車的根本信息 輸入要修改汽車的品牌型號 修改管理 存在 提示修改項 輛數(shù) 售價 進價
7、 是否繼續(xù) 修 改 完 成 否 返回主菜單 返回主菜單 銷售管理 輸入要銷售汽車的品牌型號輛數(shù) 是否繼續(xù) 輸出利潤顯示現(xiàn)有庫存 查詢模塊 輸入要查詢的汽車品牌型號 輸出查詢的汽車的信息 繼續(xù)查詢按1,退出查詢按2 返回主界面 輸入要刪除的品牌型號 是否繼續(xù) 顯示刪除后所有汽車的信息 確認刪除 顯示刪除信息
8、 刪除管理 1 2 返回主菜單 顯示模塊 判斷文件是否存在 是 否 導入文件 輸出對應(yīng)汽車信息 完畢 按品牌排序 選擇排序方式 否 返回主菜單 是否繼續(xù) 排序管理 按進價排序 按利潤排序 是 2.重點設(shè)計與編碼 struct carmarket { char carname[15];//品牌名 char model[10];//型號 float saleprice
9、;//進價 float soldprice;//售價 int num;//數(shù)量 float gain;//盈利 } car[1000]; void main() { char select=0; char temp1[15],temp2[10]; struct carmarket carname_order; struct carmarket price_order; float sum; FILE *fp; int m,n,i,j,k,temp3; int x=3; int flag=0; char s[8]; syst
10、em("color 1b"); 五.測試數(shù)據(jù)與運行結(jié)果 1.正常測試數(shù)據(jù)和運行結(jié)果 1: 入庫管理 2: 修改管理 3: 銷售管理 2.異常測試數(shù)據(jù)與運行結(jié)果 1: 查詢管理 2: 刪除管理 六.調(diào)試情況,設(shè)計技巧與體會 1.改良方案 程序大體上還算成功,其中的幾個模塊都達到了我預期想要的效果,條理也較清晰,這是我比擬滿意的地方。但是也有不足之處,就是密碼不能進展修改的操作,而只是簡單的事永遠是使用原始密碼,這是有待完善的,而且有些地方用起來不大方便,不好操作,需要進一步完善。 2.體會 1) 對C語言的編程
11、實踐有所認識。 2) 在遇到程序調(diào)試不通過時,會通過縮小X圍的分析來鎖定問題所在。 3) 通過這次實驗,熟悉了從自然語言轉(zhuǎn)換成偽代碼再轉(zhuǎn)換為流程圖的過程。各功能函數(shù)的流程圖 4) 在程序中設(shè)定適宜的全局變量,可以簡化程序的編寫難度。 5) 通過本次C語言上機實驗,我對這個介于人類與非人類之間的計算機編程語言有了一定的體驗。隨著實驗的成功與報告的完成,有點微微的成就感使人難忘。伴隨著學習的深入,我發(fā)現(xiàn)高深的東西還有很多很多,等待著我自己去挖掘。對C語言的學習,我會加倍努力。 七.參考文獻 《C語言程序設(shè)計》〔王曙燕/主編 科學〕 《C程序設(shè)計》〔譚浩強/主編 清
12、華大學〕
《C語言程序設(shè)計習題解析與應(yīng)用案例分析》〔黃維通 謝孟榮 編著〕
八.附錄:源程序
#include
13、rd[7]="000000";//定義初始密碼 void main() { char select=0; char temp1[15],temp2[10]; struct carmarket carname_order; struct carmarket price_order; float sum; FILE *fp; int m,n,i,j,k,temp3; int x=3; int flag=0; char s[8]; system("color 1b"); do { printf("請輸入密碼:\n");
14、 scanf("%s",s); if(!strcmp(s,password))/*進展密碼驗證*/ { printf("PASS\n\n\n"); flag=1;break; } else { printf("密碼錯誤,請重新輸入:\n"); x--; } } while(x>0); if(!flag) { printf("你已經(jīng)輸入三次錯誤密碼!"); exit(0); } back: //got
15、o點0 system("cls");//清屏 包含在stdlib.h頭文件中,執(zhí)行清屏操作 //系統(tǒng)菜單 puts(" "); puts(" "); puts(" ********************************************"); puts("
16、 $ $"); puts(" $ 歡迎使用汽車銷售管理系統(tǒng) $"); puts(" $ $"); puts(" $ 1.入庫管理 $"); puts(" $
17、 $"); puts(" $ 2.修改數(shù)據(jù) $"); puts(" $ $"); puts(" $ 3.銷售管理 $"); puts(" $
18、 $"); puts(" $ 4.查詢信息 $"); puts(" $ $"); puts(" $ 5.刪除管理 $"); puts(" $ $"
19、); puts(" $ 6.顯示庫存 $"); puts(" $ $"); puts(" $ 7.排序管理 $"); puts(" $ $"); puts("
20、 $ 8.退出系統(tǒng) $"); puts(" $ $"); puts(" ********************************************"); printf("請選擇〔1-8〕:"); switch(select) { case '1': { //打開資料文件 if((fp=fopen("C:\\car.tx
21、t","r+"))==NULL) { printf("\n文件不存在!\n按任意鍵新建一個...\n"); //如果文件不存在,提示新建一個 getch(); //吃掉任意鍵 fp=fopen("c:\\car.txt","w+");//創(chuàng)建新文件 fclose(fp); //建完關(guān)閉,以便用r+方式打開 goto back;//返回點0 } for(m=0;!feof(fp);m++)//從文件讀入數(shù)據(jù) fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].salepric
22、e,&car[m].soldprice,&car[m].num,&car[m].gain);
system("cls");//清屏
printf("錄入新車請按1.\n\n");
scanf("%d",&temp3); // 輸入選項
if(temp3==1)
{
system("cls");
printf("要錄入的汽車有幾種:");
scanf("%d",&n);//輸入要錄入的汽車有幾種
for(i=0;i 23、);
scanf("%s",car[m+i].carname);
printf("\n型號:");
scanf("%s",car[m+i].model);
printf("\n進價:");
scanf("%f",&car[m+i].saleprice);
printf("\n售價:");
scanf("%f",&car[m+i].soldprice);
printf("\n輛數(shù):");
scanf("%d",&car[m+i].num);
}
for(i=0;i 24、操作已經(jīng)完成!\n");
printf("品牌型號進價售價輛數(shù)\n");//在屏幕上輸出錄入的信息
for(i=0;i 25、 case '2'://修改數(shù)據(jù)
{
fp=fopen("C:\\car.txt","r+");//打開文件
for(m=0;!feof(fp);m++)//讀入數(shù)據(jù)
fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain);
back2://goto點1
system("cls");//清屏
26、printf("品牌型號進價售價輛數(shù)\n");
for(k=0;k 27、if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0)
break;
if(k==m)//如果不存在
{
printf("您輸入的汽車不存在。\n");
printf("\n請返回重新輸入 按任意鍵...");
getch();
goto back2;//返回點1
}
printf("品牌型號進價售價輛數(shù)\n");
printf("%-7s %-7s %-7.2f %-7.2f %-7d \n",car[k].carname,car[k].model,car[k]. 28、saleprice,car[k].soldprice,car[k].num);//輸出未改變之前的信息
printf("\n請輸入改變的進價:");
scanf("%f",&car[k].saleprice);
printf("\n請輸入改變的售價:");
scanf("%f",&car[k].soldprice);
printf("\n請輸入改變的輛數(shù):");
scanf("%d",&car[k].num);
remove("c:\\car.txt"); //刪除原文件
fp=fopen( 29、"c:\\car.txt","w+"); //創(chuàng)建新文件
for(i=0;i 30、f %-7d \n\n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num);//輸出改變之后的信息
printf("修改已完成。\n\n1(繼續(xù))\n\n2(退出)\n");
scanf("%d",&temp3);
if(temp3==1)
goto back2;
else
goto back;
}
case '3'://銷售管理
{
fp=fopen("C:\\car.txt","r+");//打開文件
for(m=0;!feof(fp);m++) 31、//讀入數(shù)據(jù)
fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain);
back3://goto點2
system("cls");
printf("品牌型號進價售價輛數(shù)盈利\n");
sum=0;//算總盈利之用
for(k=0;k 32、2f \n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num,car[k].gain);
sum=sum+car[k].gain;//計算總盈利
}
printf("\n總盈利:%.2f\n\n",sum);//輸出總盈利
printf("請輸入賣出汽車信息\n\n品牌名: "); //輸入信息
scanf("%s",temp1);
printf("\n型號:");
scanf("%s",temp2);
for(k=0;k 33、
if(strcmp(car[k].carname,temp1)==0&&strcmp(car[k].model,temp2)==0)
break;
if(k==m)//如果不存在
{
printf("您輸入的汽車不存在。\n\n");
printf("請返回重新輸入 按任意鍵...");
getch();
goto back3;//返回點2
}
printf("品牌型號輛數(shù)\n");
printf("\n%-7s %-7s %-7d \n",car[k].carname,car[k].model,car[k].num);//輸出要銷售的汽車信息
34、
printf("\n請輸入賣出輛數(shù):");
scanf("%d",&temp3);
car[k].num=car[k].num-temp3;//計算件數(shù)
car[k].gain=car[k].gain+(car[k].soldprice-car[k].saleprice)*temp3;//計算盈利
remove("c:\\car.txt"); //刪除原文件
fp=fopen("c:\\car.txt","w+"); //創(chuàng)建新文件
for(i=0;i 35、%7d %7.2f\n",car[i].carname,car[i].model,car[i].saleprice,car[i].soldprice,car[i].num,car[i].gain);
fclose(fp);
printf("品牌型號輛數(shù)\n");
printf("%-7s %-7s %-7d \n",car[k].carname,car[k].model,car[k].num);//輸出銷售后的汽車信息
printf("您的操作已經(jīng)完成!\n\n");
printf("品牌型號進價售價輛數(shù)盈利\n");
sum=0;
for(k=0;k 36、;k++)
{ //在屏幕上輸出庫存信息
printf("%-7s %-7s %-7.2f %-7.2f %-7d %-7.2f \n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num,car[k].gain);
sum=sum+car[k].gain;//計算總盈利
}
printf("\n總盈利:%.2f\n\n",sum);//輸出總盈利
printf("銷售已完成。\n\n1(繼續(xù))\n\n2(退出)\n");
scanf("%d",&temp3);
if 37、(temp3==1)
goto back3;
else
goto back;
}
case '4'://查詢
{
if((fp=fopen("C:\\car.txt","r+"))==NULL)//打開文件
{
printf("文件打不能打開!\n");//提示文件打不開
getch();
exit(1);
}
for(m=0;!feof(fp);m++)//讀入數(shù)據(jù)
fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].sol 38、dprice,&car[m].num,&car[m].gain);
back4:
system("cls");
printf("請輸入要查詢的汽車的信息\n\n");//輸入要查詢的汽車的信息
printf("品牌:");
scanf("%s",temp1);
printf("\n型號:");
scanf("%s",temp2);
for(k=0;k 39、
if(k==m)//如果不存在
{
printf("您輸入的汽車信息不存在。\n");
printf("\n請返回重新輸入 按任意鍵...");
getch();
goto back4;
}
printf("品牌型號進價售價輛數(shù)盈利\n");
printf("\n%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f \n",car[k].carname,car[k].model,car[k].saleprice,car[k].soldprice,car[k].num,car[k].gain);
printf("是否要繼續(xù)查 40、詢?\n\n1(繼續(xù))\n\n2(退出):");
scanf("%d",&temp3);
if(temp3==1)
goto back4;
else
goto back;
}
case '5'://刪除管理
{
if((fp=fopen("C:\\car.txt","r+"))==NULL)//提示文件打不開
{
printf("文件打不能打開!\n");
getch();
exit(1);
}
for(m=0;!feof(fp);m++)//輸入數(shù)據(jù)
fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m]. 41、model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain);
back5://goto點5
system("cls");
printf("品牌型號進價售價輛數(shù)盈利\n");
sum=0;
//在屏幕上輸出庫存
for(k=0;k 42、num,car[k].gain);
sum=sum+car[k].gain;//計算總盈利
}
printf("\n總盈利:%.2f\n\n",sum);
printf("請輸入要刪除的汽車的信息\n\n");//輸入要刪除的汽車的信息
printf("品牌:");
scanf("%s",temp1);
printf("\n型號:");
scanf("%s",temp2);
for(k=0;k 43、
if(k==m)//如果不存在
{
printf("您輸入的汽車信息不存在。\n");
printf("\n請返回重新輸入 按任意鍵...");
getch();
goto back5;
}
printf("品牌型號輛數(shù)\n");
printf("\n%-7s %-7s %-7d \n",car[k].carname,car[k].model,car[k].num);
printf("\n是否要刪除?\n\n1(刪除)\n\n2(不刪除):");
scanf("%d",&temp3);//選擇是否要刪除
if(temp3==1)//如果要刪除
44、
{
remove("c:\\car.txt"); //刪除原文件
fp=fopen("c:\\car.txt","w+"); //創(chuàng)建新文件
printf("\n品牌型號進價售價輛數(shù)盈利\n");//刪除完后在文件夾中寫入和在屏幕顯示剩下的汽車信息
for(i=0;i 45、r[i].gain);
printf("%-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f \n",car[i].carname,car[i].model,car[i].saleprice,car[i].soldprice,car[i].num,car[i].gain);
}
}
printf("\n刪除已完成\n");
}
else//不刪除
printf("\n刪除未完成\n");
fclose(fp);
printf("\n按任意鍵返回菜單...");
getch();
goto back;//返回主菜單
}
case '6'://顯示 46、庫存
{
if((fp=fopen("C:\\car.txt","r+"))==NULL)//打開文件
{
printf("文件打不能打開!\n");//提示文件打不開
getch();
exit(1);
}
for(m=0;!feof(fp);m++)//讀入數(shù)據(jù)
fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain);
system("cls");
printf("序號 品牌 47、 型號 進價售價 輛數(shù)\n");//在屏幕上顯示數(shù)據(jù)
for(k=0;k 48、:\\car.txt","r+"))==NULL)//打開文件
{
printf("文件打不能打開!\n");//提示文件打不開
getch();
exit(1);
}
for(m=0;!feof(fp);m++)//讀入數(shù)據(jù)
fscanf(fp,"%s %s %f %f %d %f\n" ,car[m].carname,car[m].model,&car[m].saleprice,&car[m].soldprice,&car[m].num,&car[m].gain);
back7:
system("cls");
printf("\n請選擇排序標準? 49、\n\n1(按品牌排序)\n\n2(按進價排序)\n\n3(按利潤排序)\n");
scanf("%d",&temp3);
if(temp3==1)//按品牌排序
{
for(i=0;i 50、 car[j]=carname_order;
}
printf("按品牌排序輸出:\n");
printf("序號 品牌 型號 進價 售價 輛數(shù) 盈利\n");
for(i=0;i 51、].gain);
}
printf("排序已完成。\n\n1(繼續(xù))\n\n2(退出)\n");
scanf("%d",&temp3);
if(temp3==1)
goto back7;
else
goto back;
}
else if(temp3==2)//按進價排序
{
for(i=0;i 52、saleprice)
{
price_order=car[i];
car[i]=car[j];
car[j]=price_order;
}
printf("按進價排序輸出:\n");
printf("序號 品牌 型號 進價 售價 輛數(shù) 盈利\n");
for(i=0;i 53、d %-7s %-7s %-7.2f %-7.2f %-7.d %-7.2f \n",i+1,car[i].carname,car[i].model,car[i].saleprice,car[i].soldprice,car[i].num,car[i].gain);
}
printf("排序已完成。\n\n1(繼續(xù))\n\n2(退出)\n");
scanf("%d",&temp3);
if(temp3==1)
goto back7;
else
goto back;
}
else if(temp3==3) //按利潤排序
{
54、 for(i=0;i 55、 printf("序號 品牌 型號 進價 售價 輛數(shù) 盈利\n");
for(i=0;i
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全評價師基礎(chǔ)知識教程
- 19、雪孩子(教育精品)
- “綠色建筑”研討會
- 2022年浙教初中數(shù)學七上《絕對值》課件6
- 2022年北師大版小學數(shù)學《快樂的動物》課件
- 中考語文課件中考語文議論文構(gòu)思課件
- 《己亥雜詩》教學課件
- 職場禮儀培訓教材(PPT 33頁)
- 百分數(shù)的認識課件 (2)(教育精品)
- 2623求二次函數(shù)的表達式
- 三年級語文上冊 第三單元期末總復習課件 新人教版 (1038)
- 招聘選拔與培養(yǎng)
- 《鄒忌諷齊王納諫》課件
- 中職 CAXA電子圖板繪圖教程(2007版)(第2版)第9章電子課件(電子教案)
- 必修2近代工業(yè)的艱難起步課件