




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言課程設計綜合性程序設計報告之源程序設計題目:電腦公司進銷存管理系統專業:冶金工程學號:8090507姓名:劉歡成 績: _設計時間: 2010年 11月 03 日二開題說明1.問題概要該系統用于處理某電腦公司的設備買入,賣出,倉儲等設備賬目。在買入設備時,記錄設備的數量型號(如computer,keyboard)和價錢,并在庫房記錄中添加設備,在賣出設備時從庫房中減掉該設備,并根據賣出的數量型號和價錢得出每一筆買出的利潤。每個一段時間盤點庫房和賬目計算出利潤等數據。基本要求:有貨物管理(設備的添加,刪除,修改)有賬目管理可以查詢賬目清單可以計算年度或月份或季度利潤。2.問題分析: 先定義
2、合適的結構體,存儲物品信息。在程序中建立一個文件用于存儲,凡進行了進貨操作的物品在文件中都有記錄,進貨時由于尚不知售貨時間與售價、利潤,故此三項(實際為四項,時間分為年、月兩項)暫先賦值為零,待進行售貨操作時再輸入各數值,其中利潤由系統自動計算得出并保存。賬目清單分為已售、倉儲兩部分,由此可看到所有購進、賣出的貨物信息。月利潤查詢可查得所輸入年月的各類所售貨物數量與利潤。三 功能模塊菜單進貨操作售貨操作修改信息賬目清單退出月利潤查詢四源程序#include #include #include #include #include #define LEN sizeof(struct object)
3、#define FORMAT1 t%-8d%-11s%-9.2f%-6d%-4dn#define DATA1 (p1+i)-num,(p1+i)-name,(p1+i)-inprice,(p1+i)-inyear,(p1+i)-inmonth#define FORMAT2 t%-8d%-11s%-9.2f%-9.2f%-7.2f%-6d%-4d%-6d%-4dn#define DATA2 (p1+i)-num,(p1+i)-name,(p1+i)-inprice,(p1+i)-outprice,(p1+i)-profit,(p1+i)-inyear,(p1+i)-inmonth,(p1+i)-
4、outyear,(p1+i)-outmonthvoid in();void show();void modify();void sell(); void menu();void monthearn(); struct objectint num,inyear,inmonth,outyear,outmonth;char name10;float inprice,outprice,profit; obj100; struct object *p1=obj;main() int n;menu(); while(n)switch(n)case 1: in();break;case 2:sell();b
5、reak;case 3:modify();break;case 4:show();break;case 5:monthearn();break;default:break;getch();menu();scanf(%d,&n);void menu()/菜單system(cls);printf(nnnnnn);printf(tt*菜單*n);printf(tt 0.退出n); printf(tt 1.進貨操作n); printf(tt 2.售貨操作n); printf(tt 3.修改信息n); printf(tt 4.賬目清單n); printf(tt 5.月利潤查詢n); printf(tt*
6、n);void in() /進貨操作int i,m=0;char ch2;FILE *p;if( (p=fopen(data,a+)=NULL)printf(打不開文件!n); /打開文件return;while(!feof(p)if(fread(&objm,LEN,1,p)=1) m+; /將數據讀入內存fclose(p);if(m=0)printf(無記錄!n);printf(請確認是否進貨?(y/n));scanf(%s,ch);while(strcmp(ch,y)=0|strcmp(ch,y)=0) printf(請輸入設備編號:);scanf(%d,&objm.num);for(i=
7、0;inum=objm.num)printf(此號已存在,按任意鍵繼續!);getch();fclose(p);return;printf(設備名稱:);scanf(%s,);printf(進價:);scanf(%f,&objm.inprice);printf(進貨年、月:);scanf(%d%d,&objm.inyear,&objm.inmonth);objm.outprice=0;objm.outyear=0;(p1+m)-outmonth=0;fopen(data,w); /打開文件用以向磁盤導入數據for(i=0;i=m;i+)fwrite(&obji,LEN,1,p
8、);if(fwrite(&objm,LEN,1,p)!=1)printf(無法保存!);getch();else printf(%s 保存成功!n,);m+;printf(繼續?(y/n));scanf(%s,ch);fclose(p);printf(保存完畢!n);void sell() /售貨操作FILE *p;int snum,i,j,m=0;char ch2;if(p=fopen(data,rb)=NULL)printf(無法打開文件!n);return; /打開文件while(!feof(p)if(fread(&objm,LEN,1,p)=1)m+; /讀入fclo
9、se(p);if(m=0)printf(無記錄!n);return;printf(請輸入編號:);scanf(%d,&snum);for(i=0;inum)break;if(ioutprice);(p1+i)-profit=(p1+i)-outprice-(p1+i)-inprice);printf(n請輸入售出年、月:);scanf(%d%d,&(p1+i)-outyear,&(p1+i)-outmonth);if(p=fopen(data,wb+)=NULL)printf(打不開文件!n);return;for(j=0;jm;j+)if(fwrite(&objj,LEN,1,p)!=1)p
10、rintf(無法保存!n);getch(); printf(售貨成功!); fclose(p);return;else return; /判斷2else printf(無此物品!);return; /判斷1void modify() /修改信息FILE *p;int i,j,m=0,snum;if(p=fopen(data,rb)=NULL)printf(打不開文件!n);return;while(!feof(p)if(fread(&objm,LEN,1,p)=1)m+;if(m=0)printf(無記錄!n);fclose(p);return;printf(請輸入欲修改信息的貨物編號:);
11、scanf(%d,&snum);for(i=0;inum)break;if(iname);printf(n進價:);scanf(%f,&(p1+i)-inprice);printf(n進貨年、月:);scanf(%d%d,&(p1+i)-inyear,&(p1+i)-inmonth);if(p=fopen(data,wb+)=NULL)printf(打不開文件!n); return;for(j=0;jm;j+)if(fwrite(&objj,LEN,1,p)!=1)printf(無法保存!);getch();fclose(p);else printf(無此貨物!);return;void sh
12、ow() /賬目清單FILE *p;int i,m=0;if(p=fopen(data,rb)=NULL)printf(打不開!);while(!feof(p)if(fread(&objm,LEN,1,p)=1)m+; fclose(p);printf(已售nt編號 名稱 進價 售價 利潤 進貨時間 出售時間tn);for(i=0;iprofit!=0)printf(FORMAT2,DATA2);printf(倉儲n);printf(t編號 名稱 進價 進貨時間tn);for(i=0;iprofit=0)printf(FORMAT1,DATA1);void monthearn()/月利潤FIL
13、E *p;int m=0,s=0,a=0,b=0,c=0,d=0,y,z;float sum1=0,sum2=0,sum3=0,sum4=0;if(p=fopen(data,rb)=NULL)printf(打不開文件!n);return; /打開文件while(!feof(p)if(fread(&objm,LEN,1,p)=1)m+;fclose(p); /將數據讀入內存 printf(請輸入欲查詢的年份、月份:); scanf(%d%d,&y,&z);for(s=0;sm;s+)if(strcmp(,zhuji)=0)&(y=objs.outyear)&(z=objs.outmonth)a+;sum1+=fit;if(strcmp(,xianshiqi)=0)&(y=objs.outyear)&(z=objs.outmonth)b+;sum2+=fit; if(strcmp(,jianpan)=0)&(y=objs.outyear)&(z=objs.outmonth)c+;sum3+=fit; if(strcmp(,shubiao)=0)&(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學安全教育考試題及答案
- 新疆昌吉回族自治州木壘縣中2024-2025學年高二下生物期末質量跟蹤監視模擬試題含解析
- 天津市薊州區2024-2025學年數學高二下期末調研試題含解析
- 城市更新項目廠房土地購置及開發合作合同
- 休閑農業場地外包租賃合同范本
- 農業銀行信用的借款合同(6篇)
- 愛崗敬業個人先進事跡(3篇)
- 員工配車公司管理制度
- 公路實施方案的試題及答案
- 公路工程定額分析試題及答案
- 軟件系統操作手冊模板
- 樓頂發光字制作安裝合同
- 中德材料中英文對照
- 個人租房合同協議書電子版免費下載7篇
- 帶電流互感器三相四線有功電表的接線演示文稿
- 2023年高考全國甲卷數學(理)試卷【含答案】
- 2023年安徽ACM省賽試題
- 2023深圳一模數學試卷及答案
- (完整版)METS醫護英語水平考試
- 車險查勘定損中級培訓水淹車處理指引及定損培訓
- GB/T 25695-2010建筑施工機械與設備旋挖鉆機成孔施工通用規程
評論
0/150
提交評論