欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)銷售管理系統(tǒng)課程設計

 更新時間:2022年03月18日 11:46:58   作者:suwu150  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)銷售管理系統(tǒng)課程設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)銷售管理系統(tǒng)的具體代碼,供大家參考,具體內容如下

一.C程序設計課程設計題目簡介

該設計要求學生以某公司銷售管理業(yè)務為背景,設計、開發(fā)一套“銷售管理系統(tǒng)”軟件。

通過該題目的設計過程,可以培養(yǎng)學生結構化程序設計的思想,加深對高級語言基本語言要素和控制結構的理解,針對c語言中的重點和難點內容進行訓練,獨立完成有一定工作量的程序設計任務,同時強調好的程序設計風格。得到軟件工程的綜合訓練,提高解決實際問題的能力。

二.C程序設計課程設計的任務

1、查閱文獻資料,一般在5篇以上;

2、以某公司銷售管理業(yè)務為背景,通過調研、分析現(xiàn)有的管理模式和已有的管理軟件,建立系統(tǒng)模型;

3、完成軟件結構設計和算法設計;

4、完成系統(tǒng)的軟件開發(fā)和測試工作;

5、撰寫設計說明書;

6、做好答辯工作。

三.C程序設計課程設計的主要內容、功能及技術指標

1、問題分析及解決方案框架確定:充分地分析和理解問題本身,弄清要求做什么。在確定解決方案框架過程中,綜合考慮系統(tǒng)功能,考慮怎樣使系統(tǒng)結構清晰、合理、簡單和易于調試。最后確定每個過程和函數的簡單功能,以及過程(或函數)之間的調用關系,并畫出函數之間的調用關系圖。

2、詳細設計和編碼:定義相應的存儲結構,確定各個函數的算法,并畫出流程圖,在此基礎上進行代碼設計,每個明確的功能模塊程序一般不超過60行,否則要進一步劃分。

3、上機前程序靜態(tài)檢查:上機前程序靜態(tài)檢查可有效提高調試效率,減少上機調試程序時的無謂錯誤。靜態(tài)檢查主要有兩種途徑:用一組測試數據手工執(zhí)行程序;通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯。把程序中的明顯錯誤事先排除。

4、程序調試與測試:采用自底向上,分模塊進行,即先調試低層函數。能夠熟練掌握調試工具的各種功能,設計測試數據確定疑點,通過修改程序來證實它或繞過它。調試正確后,認真整理源程序及其注釋,形成格式和風格良好的源程序清單和結果。

5、完成課程設計報告

① 需求和規(guī)格說明:設計題目和問題描述:題目要解決的問題是什么;

② 設計思路:主要算法思想,程序功能圖,函數之間的調用關系圖;

   設計表示:每個函數或過程的功能,列出每個過程或函數所調用的過程或函數,并畫出各函數的流程圖;

   詳細設計:主要算法的偽代碼;

③ 調試報告:調試過程中遇到的主要問題,是如何解決的;對設計和編碼的回顧討論和分析;改進設想;經驗和體會等;

④ 程序實現(xiàn)注釋;

⑤ 附錄:源程序清單和結果。如果題目規(guī)定了測試數據,則結果要求包含這些測試數據和運行輸出,當然還可以含其他測試數據和運行輸出。

6、某公司有四個銷售員(編號:1-4),負責銷售五種產品(編號:1-5)。每個銷售員都將當天出售的每種產品各寫一張便條交上來。每張便條包含內容: 銷售員的代號 、產品的代號、這種產品的當天的銷售額 。每位銷售員每天可能上繳0-5張便條。假設,收集到了上個月的所有便條,編寫一個處理系統(tǒng),讀取上個月的銷售情況,進行如下處理:

系統(tǒng)以菜單方式工作,錄入信息用文件保存;計算上個月每個人每種產品的銷售額; 按銷售額對銷售員進行排序,輸出排序結果(銷售員代號);統(tǒng)計每種產品的總銷售額,對這些產品按從高到底的順序,輸出排序結果(需輸出產品的代號和銷售額);輸出統(tǒng)計報表。
下面是源代碼:

#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( ; ; )/*無限循環(huán)*/?
?? ?{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 統(tǒng)計上個月每種產品每人銷售的數量\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;i<num;i++)?
?? ?{
?? ??? ?printf("\n\n------------------------------------\n");
?? ??? ?scanf("%d\t ?%d\t ?%d\t ?%d\t ?%d\t ?%d",&t[i].gonghao,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5);
?? ?}
?? ?if((fp=fopen("wujikang.dat","ab+"))==NULL)
?? ?{?
?? ??? ?printf("不能打開文件\n");
?? ??? ?exit(1);?
?? ?}?
?? ?for(i=0;i<num;i++)?
?? ?{?
?? ??? ?fprintf(fp,"%d\t%d\t%d\t%d\t%d\t%d\t",t[i].gonghao,t[i].a1,t[i].a2,t[i].a3,t[i].a4,t[i].a5);?
?? ??? ?fprintf(fp,"\r\n");?
?? ?}?
?? ?
?? ?fclose(fp);?
?? ?printf("\n-----------------------------------\n\n\n");?
?? ?return i;?
}
void salor(int n) /*每位銷售員銷售額*/
{?
?? ?int i=0,s;?
?? ?int b1=0,b2=0,b3=0,b4=0,b5=0;
?? ?int k=0;
?? ?DATA t[100];
?? ?FILE *fp;
?? ?if((fp=fopen("wujikang.dat","rb+"))==NULL)
?? ?{?
?? ??? ?printf("不能打開文件\n");
?? ??? ?exit(1);?
?? ?}?
?? ?rewind(fp);
?? ?while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2), &(t[k].a3),&(t[k].a4),&(t[k].a5))>0)?
?? ?k++;
?? ?fclose(fp);
? ? printf("請輸入要查詢售貨員的代號(1-4):");?
? ? scanf("%d",&s); ? ? ? ? ? ? ? ? ? ?
? ? for(i=0;i<k;i++)
?? ??? ?if(t[i].gonghao==s)?
?? ??? ?{b1+=t[i].a1;?
?? ??? ?b2+=t[i].a2;?
?? ??? ?b3+=t[i].a3;?
?? ??? ?b4+=t[i].a4;?
?? ??? ?b5+=t[i].a5;};?
?? ??? ?printf("工號 電腦 電視 冰箱 風扇 手機\n");?
?? ??? ?printf("%d\t ?%d\t ? %d\t ? %d\t ? ? ? %d\t ? %d\t",s,b1,b2,b3,b4,b5);?
?
?
}?
void list1 (int n) /*顯示清單*/
{
?? ?int i,j,s;?
?? ?int m[10],c[10];
?? ?int k=0;
?? ?DATA t[100];
?? ?FILE *fp;
?? ?if((fp=fopen("wujikang.dat","rb+"))==NULL)
?? ?{?
?? ??? ?printf("不能打開文件\n");
?? ??? ?exit(1);?
?? ?}?
?? ?rewind(fp);
?? ?while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2), &(t[k].a3),&(t[k].a4),&(t[k].a5))>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]<c[j])?
?? ??? ??? ?{
?? ??? ??? ??? ?s=m[i];?
?? ??? ??? ??? ?m[i]=m[j];?
?? ??? ??? ??? ?m[j]=s;?
?? ??? ??? ??? ?s=c[i];?
?? ??? ??? ??? ?c[i]=c[j];?
?? ??? ??? ??? ?c[j]=s;
?? ??? ??? ?}?
?? ??? ??? ?printf("按銷售額從高到低將銷售員代號排序\n");?
?? ??? ??? ?for(i=0;i<4;i++)
?? ??? ??? ??? ?printf("%d\n",m[i]);
}?
void list2() /*每種產品的銷售額*/
{
?? ?int i=0,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;?
?? ?int c[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0};
?? ?int k=0;
?? ?DATA t[100];
?? ?FILE *fp;
?? ?if((fp=fopen("wujikang.dat","rb+"))==NULL)
?? ?{?
?? ??? ?printf("不能打開文件\n");
?? ??? ?exit(1);?
?? ?}?
?? ?
?? ?rewind(fp);//qingchucuowu,zhiyutoubu
?? ?while(fscanf(fp,"%d\t%d\t%d\t%d\t%d\t%d",&(t[k].gonghao),&(t[k].a1),&(t[k].a2), &(t[k].a3),&(t[k].a4),&(t[k].a5))>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<k;i++) /*求每個人每種產品的總銷售額*/?
?? ??? ?for(j=0;j<4;j++)?
?? ??? ?{?
?? ??? ??? ?if(j+1==t[i].gonghao)?
?? ??? ??? ?{b1[j]+=t[i].a1;?
?? ??? ??? ?b2[j]+=t[i].a2;?
?? ??? ??? ?b3[j]+=t[i].a3;?
?? ??? ??? ?b4[j]+=t[i].a4;?
?? ??? ??? ?b5[j]+=t[i].a5;?
?? ??? ??? ?}
?? ??? ?}?
?? ??? ?for(i=0;i<4;i++)/*每種產品的總銷售額*/?
?? ??? ?{sum1+=b1[i];?
?? ??? ?sum2+=b2[i];?
?? ??? ?sum3+=b3[i];?
?? ??? ?sum4+=b4[i];?
?? ??? ?sum5+=b5[i];?
?? ??? ?}?
?? ??? ?printf("-------------------------銷售報表----------------------\n\n\n");?
?? ??? ?printf(" products num\n");?
?? ??? ?printf(" 銷售員\t1\t2\t3\t4\t5\t總和\n\n");?
?? ??? ?for(i=0;i<4;i++)?
?? ??? ??? ?printf(" %d\t%d\t%d\t%d\t%d\t%d\t%d\t\n",i+1,b1[i],b2[i],b3[i],b4[i],b5[i],c[i]);?
?? ??? ?printf("psum ?%d\t%d\t%d\t%d\t%d\t%d\t",sum1,sum2,sum3,sum4,sum5,sum0);?
}?
?int sum(DATA t[100],int n, int e)?
{
?? ?
?? ?int i=0,sum=0;?
?? ?for(i=0;i<=n;i++)
?? ??? ?if(e==t[i].gonghao)?
?? ??? ?{sum+=t[i].a1;?
?? ??? ?sum+=t[i].a2;?
?? ??? ?sum+=t[i].a3;?
?? ??? ?sum+=t[i].a4;?
?? ??? ?sum+=t[i].a5;?
?? ??? ?}?
?? ??? ?return sum;
} ?

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

相關文章

  • Qt QFile文件操作的具體使用

    Qt QFile文件操作的具體使用

    很多應用程序都需要具備操作文件的能力,Qt 框架提供了 QFile 類專門用來操作文件。本文就來詳細的介紹一下,感興趣的可以了解一下
    2021-11-11
  • 基于C++ Lambda表達式的程序優(yōu)化

    基于C++ Lambda表達式的程序優(yōu)化

    這篇文章主要介紹了基于C++ Lambda表達式的程序優(yōu)化的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • 詳解設計模式中的Command命令模式及相關C++實現(xiàn)

    詳解設計模式中的Command命令模式及相關C++實現(xiàn)

    這篇文章主要介紹了詳解設計模式中的Command命令模式及相關C++實現(xiàn),命令模式強調調用操作的對象和操作的具體實現(xiàn)者之間的解耦,需要的朋友可以參考下
    2016-03-03
  • C++ String部分成員模擬實現(xiàn)流程詳解

    C++ String部分成員模擬實現(xiàn)流程詳解

    我們先不直接實現(xiàn)完整版的string,先實現(xiàn)簡易版的string部分成員來基本了解下它的框架,以及以后來學習深淺拷貝的問題。這樣有循序漸進的過程嘛
    2022-08-08
  • C語言關鍵字auto與register的深入理解

    C語言關鍵字auto與register的深入理解

    本篇文章是對c語言關鍵字auto與register的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • OpenCV 圖像拼接和圖像融合的實現(xiàn)

    OpenCV 圖像拼接和圖像融合的實現(xiàn)

    本文主要介紹了OpenCV 圖像拼接和圖像融合,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Opencv實現(xiàn)用于圖像分割分水嶺算法

    Opencv實現(xiàn)用于圖像分割分水嶺算法

    這篇文章主要為大家詳細介紹了Opencv實現(xiàn)用于圖像分割分水嶺算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++多態(tài)實現(xiàn)方式詳情

    C++多態(tài)實現(xiàn)方式詳情

    這篇文章主要介紹了C++多態(tài)實現(xiàn)方式詳情,多態(tài)是一種面向對象的設計思路,本身和C++不是強綁定的,其他語言當中一樣有多態(tài),只不過實現(xiàn)的方式可能有所不同。下面來一起了解更多詳細內容吧
    2022-01-01
  • C語言之初始if語句詳解

    C語言之初始if語句詳解

    本文主要介紹C語言中的if語句,這里詳細介紹了if 語句并提供了簡單的示例代碼,希望能幫助編程入門的小伙伴學習,希望能夠給你帶來幫助
    2021-08-08
  • VC++實現(xiàn)View內容保存為圖片的方法

    VC++實現(xiàn)View內容保存為圖片的方法

    這篇文章主要介紹了VC++實現(xiàn)View內容保存為圖片的方法,涉及VC++中Bitmap類的save方法相關使用技巧,需要的朋友可以參考下
    2016-08-08

最新評論