


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、G語言程序設甘命.召市商系:信息科技學院業:計算機科學與技術名: 號:指導教師:期:桂林電子科技大學信息科技學院 331問題定義2系統設計2.1 總體設計2. 2詳細設計數據結構設計 主控流程 信息輸入模塊 信息增加模塊 信息修改模塊 信息刪除模塊 信息查看模塊 信息統計模塊系統實現程序預處理 主函數 main() 主菜單界面 商品信息建立 商品信息查看 商品信息增加 商品信息刪除 商品信息修改 商品數目統計56.79 .1112141622概述程序測試 系統維護 歸納總結22222525參考資料2525252525超市商品管理系統本題目設計目的是訓練學生的基本編程能力,了解管理信息系統的開發
2、流程,熟悉 語言的單鏈表的各種基本操作。 本程序中涉及結構體、單鏈表、文件保存等方面的知識。通 過本程序的訓練, 使學生能對 C 語言的鏈表的操作有一個更深刻的了解, 掌握利用單鏈表存 儲結構實現對超市信息管理系統的原理, 為進一步開發出高質量的管理信息系統打下堅實的 基礎。1、問題定義創建一個超市管理系統。 該程序具有保存商品信息、查詢商品信息、修改商品信息、刪 除商品信息、統計商品信息并具有自動判斷商品價格、庫存等的功能。超市管理系統主界面2、系統設計21 總體設計本程序采用模塊化設計方法, 即將一個大任務分成一個個小任務, 然后分別設計個小任務。劃分出來的模塊相對獨立而又相互關聯,容易理
3、解。本程序由 5 大模塊組成:1. 輸入信息模塊2. 增加信息模塊3. 修改信息模塊4. 刪除信息模塊5. 統計信息模塊2 2 詳細設計 定義結構體 struct good int num;/*char name20; /* char kind40; /* float price; /* char unit10; /* int quantity;/*struct good *next; /* *head,*p1,*p2; 單鏈表 good 結構體 struct good/*int num;/*char name20; /* char kind40; /* float price; /* cha
4、r unit10; /* int quantity;/*struct good *next; /*商品編號 */商品名稱 */商品類型 */商品價格 */商品單位 */商品數量 */定義結構體指針類型 */定義結構體 */商品編號 */商品名稱 */商品類型 */商品價格 */商品單位 */商品數量 */定義結構體指針類型 */*head,*p1,*p2;主控 main() 函數執行流程Int main()struct good *p1,*p2; while(1)if(m=1)printf(f*商品信息的查看*n);printf(f*商品信息的輸入*if(m=2)*n);* if(m=3)pr
5、intf(f*商品信息的統計*n);* if(m=4)printf(f*退出*n);*break;return 0; 本商品管理系統執行主流程。它先以可讀寫的方式打開數據文件,此文件默認為“” 若該文件不存在,則新建此文件。當打開文件操作成功后,從文件中一次讀出一條記錄,然 后執行顯示主菜單和進入主循環操作,進行按鍵判斷。2.2.3 輸入信息模塊記錄可以從以文件形式存儲的數據文件中讀入,也可從鍵盤逐個輸入商品記錄。 商品記錄由商品的基本信息和成績信息字段構成。當從數據文件中讀入記錄時, 也就是把在以記錄為單位存儲的數據文件中,將記錄逐條復制到單鏈表中。增加信息模塊增加信息模塊主要實現信息增加修
6、改信息模塊修改信息模塊主要實現信息修改刪除信息模塊刪除信息模塊主要實現信息刪除查看信息模塊查看信息模塊主要實現信息查看統計信息模塊統計信息模塊主要實現信息統計函數功能描述shuchu()shuchu() 函數用于輸出商品信息。struct good *paixu(struct good*head2)此函數用于給鏈表排序。jisuan()jisuan() 函數用于判斷商品的類別。printf0(struct good *p) printf0(struct good *p)函數用于遍歷鏈表并打印電器類商品。printf1(struct good *p)printf1(struct good *p)
7、函數用于遍歷鏈表并打印日用品類商品。printf2(struct good *p)printf2() 函數用于遍歷鏈表并打印辦公用品類商品。printf3(struct good *p)printf3 struct good *p () 函數用于遍歷鏈表并打印食品類商品。shunxudayin()shunxudayin() 函數用于給商品排序并打印。tongji1()tongji1() 函數用于統計給庫存量低于 100 的貨名和類別。tongji2()tongji2() 函數用于統計商品庫存量有 2 種以上(含兩種)低于 100 的商品類別。完成在上述系統設計后,即可著手進行系統實現的工作,開
8、始程序代碼的編寫。3、系統實現31 編碼3 程序預處理包括加載頭文件,定義結構體、常量和變量,并對它們進行初始化工作。FILE *fp;int n=0;/* 定義文件指針類型 */int i,j,a4,m; /*定義整數類型 */float aver4,sum4,g4,h; /*定義浮點類型 */3 主函數 main()main() 函數主要實現了對整個程序的運行控制,以及相關功能模塊的調用。 Int main()struct good *p1,*p2;while(1)if(m=1)printf(f*商品信息的查看*n);*if(m=2)printf(f*商品信息的輸入*n);* if(m=3
9、)printf(f*商品信息的統計*n);* if(m=4)f*break;return 0;3 主菜單界面用戶進入商品管理系統時,需要顯示主菜單,提示用戶進行選擇,完成相應任務。printf( 桂林電子科技大學信息科技學院超市管理系統 n);printf( *n);printf(1輸出查看或者修改已存信息n);printf(n);printf(2 重新輸入新信息(并且刪除原有信息) n);printf(n);printf(3 統計商品信息(如果您還沒有查看過信息請先按1) n);printf(n);printf(4 退出 n);printf( *scanf(%d,&m);3.1.4 商品信息
10、建立用戶進入商品管理系統時,對某個商品的信息進行處理。struct good /*int num; /*char name20; /* char kind40; /* float price; /*定義結構體 */商品編號 */商品名稱 */商品類型 */商品價格 */char unit10;/*商品單位 */int quantity;/*商品數量 */struct good *next;/*head,*p1,*p2;struct good *createlist() /* struct good *head1,*p1,*p2;/*printf(can not open the file);e
11、xit(0); /*定義結構體指針類型 */創建鏈表函數 */定義結構體指針類型 */結束程序 */head1=(struct good *)malloc(sizeof(struct good); /* p1=head1;申請頭結點空間 */p2=head1;printf( *printf( 請輸入信息 : 編號,名稱,類型,價格,單位,數目 n);printf(以輸入“ 1”表示結束輸入) n);printf( *printf(n);scanf(%d %s %s %f %s %d,&p1-num,p1-name,p1-kind,&p1-price,p1-unit,&p1-quantity);
12、 /* 輸入商品信息 */printf(n);%d 將p1-next=NULL;fprintf(fp,%d %s %s %f %s,p1-num,p1-name,p1-kind,p1-price,p1-unit,p1-quantity); /*商品信息寫入文件 */while(1)p1=(struct good *)malloc(sizeof(struct good); /* 申請新空間 */printf(*n);printf( 請輸入信息 : 編號,名稱,類型,價格,單位,數目 n); printf( (以輸入“ 1”表示結束輸入) n);printf(*n);printf(n);申請空間結
13、束條件 */scanf(%d,&p1-num); if(p1-num=-1) /* printf(nn);fprintf(fp,%d,-1);fclose(fp);return head1; /* 返回頭指針 */scanf(%s %s %f %s %d,p1-name,p1-kind,&p1-price,p1-unit,&p1-quantity); /* 輸入商品信息 */printf(n);%d將商fprintf(fp,%d %s %s %f %s ,p1-num,p1-name,p1-kind,p1-price,p1-unit,p1-quantity); /* 品信息寫入文件 */p1-
14、next=NULL;p2-next=p1;p2=p1;商品信息查看void shuchu() /* 輸出商品信息函數 */doint n=0,p=0,q=0,r=0;printf( 所有商品信息: n);printf( 編號,名稱,類型,價格,單位,數目 n);printf(printf(can not open the file);exit(0); /* 結束程序 */head=(struct good *)malloc(sizeof(struct good); /*p3=head;fscanf(fp,%d %s %s申請頭結點空間 */%f %s %d,&p3-num,p3-name,p3-kind,&p3-price,p3-unit,&p3-quantity); /* 從文件中寫到鏈表 */while(1)p4=(struct good *)malloc(sizeof(struct good); /* fscanf(fp,%d ,&p4-num);if(p4-num!=-1) /* 判斷循環結束條件 */ fscanf(fp,%s %s %f申請頭結點空間 */%s %d,p4-nam
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 津滋陳列協議書
- 商業空間設計與施工配合合同
- 研發團隊建設培訓
- 道路標牌采購合同協議
- 路由器項目合同協議
- 汽車包月協議書
- 車子抵押開走合同協議
- 熱浸鍍鋅協議書
- 潮安離婚協議書
- 郵政快遞保密協議合同書
- (高中地理)區域地理-中亞課件
- 水質監測與預警平臺構建-洞察分析
- 水利工程建設重大、一般危險源清單、作業條件危險性評價法、風險空間分布圖、事故隱患排查治理統計表、應急裝備和物資臺賬
- 群團工作職責
- 猴子的課件教學課件
- 《云臺山地質公園》課件
- 浙江省杭州市2024年中考語文試卷(含答案)
- DB14T+3096.2-2024特種設備風險分級管控與隱患排查治理規范 第2部分:壓力容器
- GB/T 44625-2024動態響應同步調相機技術要求
- 小學人教版數學五年級下冊《數學廣角-找次品》數學教學設計
- 2025屆陜西省普通高中學業水平選擇性考試 地理試卷(含答案 )
評論
0/150
提交評論