亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用C語言實現銷售管理系統

發布時間:2022-03-18 13:32:39 來源:億速云 閱讀:177 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關如何使用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;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;
}

感謝各位的閱讀!關于“如何使用C語言實現銷售管理系統”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳河县| 镇坪县| 涟水县| 平邑县| 桑植县| 浦江县| 亚东县| 原阳县| 乡城县| 句容市| 西林县| 深水埗区| 彭山县| 屯门区| 璧山县| 固原市| 丹阳市| 安阳市| 公安县| 巧家县| 宣汉县| 营口市| 万安县| 新龙县| 平果县| 安乡县| 富川| 扎兰屯市| 商丘市| 招远市| 上杭县| 沙河市| 洪雅县| 南通市| 阳朔县| 巴里| 大城县| 和田市| 海伦市| 平乐县| 汉沽区|