網站首頁 編程語言 正文
本文實例為大家分享了C語言實現銷售管理系統的具體代碼,供大家參考,具體內容如下
一.C程序設計課程設計題目簡介
該設計要求學生以某公司銷售管理業務為背景,設計、開發一套“銷售管理系統”軟件。
通過該題目的設計過程,可以培養學生結構化程序設計的思想,加深對高級語言基本語言要素和控制結構的理解,針對c語言中的重點和難點內容進行訓練,獨立完成有一定工作量的程序設計任務,同時強調好的程序設計風格。得到軟件工程的綜合訓練,提高解決實際問題的能力。
二.C程序設計課程設計的任務
1、查閱文獻資料,一般在5篇以上;
2、以某公司銷售管理業務為背景,通過調研、分析現有的管理模式和已有的管理軟件,建立系統模型;
3、完成軟件結構設計和算法設計;
4、完成系統的軟件開發和測試工作;
5、撰寫設計說明書;
6、做好答辯工作。
三.C程序設計課程設計的主要內容、功能及技術指標
1、問題分析及解決方案框架確定:充分地分析和理解問題本身,弄清要求做什么。在確定解決方案框架過程中,綜合考慮系統功能,考慮怎樣使系統結構清晰、合理、簡單和易于調試。最后確定每個過程和函數的簡單功能,以及過程(或函數)之間的調用關系,并畫出函數之間的調用關系圖。
2、詳細設計和編碼:定義相應的存儲結構,確定各個函數的算法,并畫出流程圖,在此基礎上進行代碼設計,每個明確的功能模塊程序一般不超過60行,否則要進一步劃分。
3、上機前程序靜態檢查:上機前程序靜態檢查可有效提高調試效率,減少上機調試程序時的無謂錯誤。靜態檢查主要有兩種途徑:用一組測試數據手工執行程序;通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯。把程序中的明顯錯誤事先排除。
4、程序調試與測試:采用自底向上,分模塊進行,即先調試低層函數。能夠熟練掌握調試工具的各種功能,設計測試數據確定疑點,通過修改程序來證實它或繞過它。調試正確后,認真整理源程序及其注釋,形成格式和風格良好的源程序清單和結果。
5、完成課程設計報告
① 需求和規格說明:設計題目和問題描述:題目要解決的問題是什么;
② 設計思路:主要算法思想,程序功能圖,函數之間的調用關系圖;
? ?設計表示:每個函數或過程的功能,列出每個過程或函數所調用的過程或函數,并畫出各函數的流程圖;
? ?詳細設計:主要算法的偽代碼;
③ 調試報告:調試過程中遇到的主要問題,是如何解決的;對設計和編碼的回顧討論和分析;改進設想;經驗和體會等;
④ 程序實現注釋;
⑤ 附錄:源程序清單和結果。如果題目規定了測試數據,則結果要求包含這些測試數據和運行輸出,當然還可以含其他測試數據和運行輸出。
6、某公司有四個銷售員(編號:1-4),負責銷售五種產品(編號:1-5)。每個銷售員都將當天出售的每種產品各寫一張便條交上來。每張便條包含內容: 銷售員的代號 、產品的代號、這種產品的當天的銷售額 。每位銷售員每天可能上繳0-5張便條。假設,收集到了上個月的所有便條,編寫一個處理系統,讀取上個月的銷售情況,進行如下處理:
系統以菜單方式工作,錄入信息用文件保存;計算上個月每個人每種產品的銷售額; 按銷售額對銷售員進行排序,輸出排序結果(銷售員代號);統計每種產品的總銷售額,對這些產品按從高到底的順序,輸出排序結果(需輸出產品的代號和銷售額);輸出統計報表。
下面是源代碼:
#include "stdio.h" /*輸入輸出函數*/? #include "stdlib.h"/*通用應用程序函數*/ typedef struct/*定義結構體變量*/? { ?? ?int gonghao; /*銷售員代號*/ ?? ?int a1; /*產品一代號*/ ?? ?int a2; /*產品二代號*/ ?? ?int a3; /*產品三代號*/ ?? ?int a4; /*產品四代號*/ ?? ?int a5; /*產品五代號*/ }DATA; int menu_select(); /*聲明函數*/? int enter(); /*聲明函數*/? void salor(int n); /*聲明函數*/? int sum(DATA t[100],int n, int e); /*聲明函數*/? void list1(int n);/*聲明函數*/? void list2();/*聲明函數*/? main()/*主函數*/? { ? ? ?int length; ?? ?system("color 3b"); ?? ? ?? ?for( ; ; )/*無限循環*/? ?? ?{switch(menu_select()) /*根據用戶的選擇判斷該調用哪個功能函數*/? ?? ?{ ? ? case 1:length=enter();break;? ?? ?case 2:salor(length);break;? ?? ?case 3:list1(length);break; ? ?? ?case 4:list2();break;? ?? ?case 0:exit(0); ?? ?} ?? ?}? }? int menu_select() /*菜單函數*/? { ? ?? ?int n; ?? ?printf(" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?菜單 ? ? ? ? ? ? ? ? ? ? ? ? ?\n\n");? ?? ?printf(" ? ?設計人:吳繼康、付鵬陽 ? ? ? 班級:計算機一班\n"); ?? ?printf(" ? ? ?1 輸入便條上的內容\n");? ?? ?printf(" ? ? ?2 統計上個月每種產品每人銷售的數量\n");? ?? ?printf(" ? ? ?3 按銷售額將銷售員排序\n");? ?? ?printf(" ? ? ?4 銷售報表\n"); ?? ?printf(" ? ? ?0 退出\n");? ?? ?printf("---------------------------------end---------------------------\n\n");? ?? ?printf(" 請輸入(0-4) ");? ?? ?scanf("%d",&n);? ?? ?return n; }? ? ? int enter() /*清單輸入*/ { ?? ?int i,num; ?? ?FILE *fp; ?? ?DATA t[100]; ?? ?printf("請輸入要寫的便條條數:\n");? ?? ?scanf("%d",&num); ?? ?printf("工號 ? ?電腦 ? ? ?電視 ? ? ?冰箱 ? ? ?風扇 ? ? ?手機");? ?? ?for(i=0;i0)? ?? ?k++; ?? ?fclose(fp); ? ? printf("請輸入要查詢售貨員的代號(1-4):");? ? ? scanf("%d",&s); ? ? ? ? ? ? ? ? ? ? ? ? for(i=0;i 0) /*從fp指向的文件上讀入便條信息*/? ?? ?k++; ?? ?fclose(fp); ?? ?for(i=0;i<4;i++) /*將所輸入的條數存入結構體數組中*/? ?? ??? ?m[i]=i+1;? ?? ?for(i=0;i<4;i++)? ?? ??? ?c[i]=sum(t,k,m[i]);? ?? ?for(i=0;i<4;i++) ?? ??? ?for(j=i+1;j<4;j++)? ?? ??? ??? ?if(c[i] 0)? ?? ?k++; ?? ?for(i=0;i<4;i++)? ?? ??? ?c[i]=sum(t,k,i+1);/*求每個人的總銷售額*/? ?? ?for(i=0;i<4;i++)? ?? ??? ?sum0+=c[i]; /*所有產品的銷售額*/? ?? ?for(i=0;i
原文鏈接:https://blog.csdn.net/suwu150/article/details/51504244
相關推薦
- 2021-12-02 C++內存分布及用法_C 語言
- 2022-09-10 Python自動打印被調用函數變量名及對應值?_python
- 2022-10-08 Pandas數據分析之pandas文本處理_python
- 2023-11-18 數據處理使用Python提取String、字符串中的數字
- 2022-07-24 Android?Studio工程導入及坑的解決_Android
- 2022-09-19 LyScript尋找ROP漏洞指令片段的方法詳解_python
- 2022-09-16 C#中Path類的使用方法_C#教程
- 2022-10-08 react-redux的基本使用_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支