當前位置:首頁 » 編程語言 » c語言數組求銷售額
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言數組求銷售額

發布時間: 2022-06-13 02:43:33

c語言 程序設計 銷售管理系統

/*計算上個月每個人每種產品的銷售額。
1)按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)
2)統計每種產品的總銷售額,對這些產品按從高到底的順序,輸出排序結果(需輸出產品的代號和銷售額)
3)輸出統計報表如下:*/

#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define Z 5
#define R 4 /*定義宏常量便於程序的一般化*/ /*R表示銷售員個數*/
typedef struct /*縮短結構體變數名*/
{
int shangpin[Z]; /*定義結構體便於信息的存儲和讀寫,辨別*/ /*R是表示商品的種類,最後一個為該銷售員商品總和*/
}data;
void menu()
{ printf(" *******************************************************\n");
printf(" 0.結束操作\n");
printf(" 1.計算上個月每個人每種產品的銷售額\n");
printf(" 2.按銷售額對銷售員進行排序,輸出排序結果\n");
printf(" 3.統計每種產品的總銷售額,輸出排序結果\n");
printf(" 4.輸出統計報表\n");
printf(" ******************************************************\n");
}
void data_read(data *x) /*讀入函數使程序簡潔*/
{
FILE *fp;
char fname[10];
int i;
printf("您想查詢哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");/*連接文件屬性*/
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!\n");
}
void data_count(data *x) /*計算上個月每個人每種產品的銷售額*/
{
FILE *fp;
char fname[10];
int j,t; /*用於控制循環*/
int i,k,s; /*用於定義職工序號,產品序號,產品數量*/
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息寫入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"wb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(j=0;j<R;j++) /*對商品數量清零*/
for(t=0;t<Z;t++)
(x+j)->shangpin[t]=0;
printf("please put the information about the 職工編號,產品編號,銷售數量\n"); /*寫入信息*/
for(j=0;;j++)
{
scanf("%d%d%d",&i,&k,&s);
if(i==0) /*輸入職工為0時結束信息輸入*/
break;
if(i>R||i<0||k>Z||k<0)
{
printf("the information error!\n"); /*避免輸入信息出錯*/
continue;
}
else
(x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*統計各個人的各種產品的數量,-1為了和數組中的序號相匹配*/
}
for(j=0;j<R;j++)
if(fwrite((x+j),sizeof(data),1,fp)!=1) /*把信息寫入文件中便有以後調用*/
printf("write error!\n");
fclose(fp); /*關閉文件避免信息遺漏*/
}
void range_sxy(data *x) /*按銷售額對銷售員進行排序,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,k,j,t,bianhao[R]=,z;
system("cls");
printf("你要哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!"); /*讀入信息提示*/
for(i=0;i<R;) /*用於存儲職工編號*/
bianhao[i]=i++;
printf("請輸入按何種產品排序\n");
scanf("%d",&k);
k=k-1; /*便於與結構體中的數組值對應*/
for(i=0;i<R;i++) /*按K種產品對銷售員排序,選擇法排序*/
{
t=i;
for(j=i+1;j<R;j++)
if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調用職工各自對應的結構體內的產品數量*/
t=j;
if(t!=i)
{
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("按%d產品對銷售員排序為:\n",k+1);
for(i=0;i<R;i++)
printf("%5d",bianhao[i]+1);
getch();
fclose(fp);
}
void range_shangpin(data *x) /*統計每種產品的總銷售額,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z]=,bianhao[Z]=,z,t,k;
system("cls");
printf("您想計算哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;) /*用於存儲商品編號*/
bianhao[i]=i++;
for(i=0;i<Z;i++)
printf("%3d",bianhao[i]);
for(i=0;i<Z;i++) /*對產品從高到低排序,選擇法排序*/
{
t=i;
for(j=i+1;j<Z;j++) /*產品變化時,產品編號也隨之變化,便於輸出*/
if(sum[t]<sum[j])
t=j;
if(t!=i)
{
k=sum[i];
sum[i]=sum[t];
sum[t]=k;
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("輸出產品排序\n");
printf("產品編號 數量\n");
for(i=0;i<Z;i++)
printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);
getch();
fclose(fp);
}
void data_out(data *x) /*輸出統計報表*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z+1]=;
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;i++) /*求商品總和*/
sum[Z]=sum[Z]+sum[i];
printf("輸出統計報表如下:\n"); /*按要求輸出統計表*/
printf("產品代號 銷售之和 銷售員代號\n");
for(i=0;i<R;i++)
for(j=0;j<Z;j++)
printf("%-10d%-10d%-10d\n",j+1,(x+i)->shangpin[j],i+1);
printf("***********************************\n");
for(i=0;i<Z;i++)
{
if(i==0)
printf("%d產品之和 %-10d 總和 %-10d\n",i+1,sum[i],sum[Z]);
else
printf("%d產品之和 %-10d\n",i+1,sum[i]);
}
getch();
}
void main()
{
int i,choice;
data sxy[R]; /*R表示職工的個數,前面的宏常量*/
for(i=0;;i++)
{
system("cls"); /*清頻命令*/
menu(); /*菜單函數提示用戶怎樣選擇*/
printf("你想做什麼?\n");
printf("請選擇:"); /*輸入要進行的操作*/
scanf("%d",&choice);
if(choice==0) /*退出程序*/
break;
else
switch(choice)
{
case 1 : data_count(sxy);break; /*計算上個月每個人每種產品的銷售額*/
case 2 : range_sxy(sxy);break; /*按銷售額對銷售員進行排序,輸出排序結果*/
case 3 : range_shangpin(sxy);break; /*統計每種產品的總銷售額,輸出排序結果*/
case 4 : data_out(sxy);break; /*輸出統計報表*/
}
}
}
請採納答案,支持我一下。

② c語言編程 結構體:由鍵盤輸入某商場各商品的商品名、價格、銷售量,並計算各商品的銷售額,最後輸出銷

1.建立結構體數組
2.建立結構體指針數組
3.初始化內存
4.循環輸入
5.按銷量成員排序,結果存入結構體指針數組
6.按結構體指針數組輸出前十

③ C語言問題

#include <stdio.h>
int main()
{
int a[11]; //數組長度為11
int n = 10, i, j,t;
int x;
printf("請輸入10個商品的銷售額:\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
for (i = 0; i < 10; i++) //用冒泡法將輸入的十個數排列好 */
for (j = 0; j < 9 - i; j++)
if (a[j] < a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
for (i = 0; i < 10; i++) /*輸出排列好的十個數 */
printf("%-4d", a[i]);
printf("\n請再輸入1個商品的銷售額:\n");
scanf("%d", &x);
for (i = 0; i < 10; i++) /*將輸入的數x與數組元素比較大小 */
if (x > a[i])
{
for (j = 11; j > i; j--)
a[j] = a[j - 1];
a[i] = x;
break;
}
for (i = 0; i < 11; i++) /*輸出最後結果 */
printf("%-4d", a[i]);
printf("\n");
}

④ 怎麼用C語言編寫一個程序,完成如下功能:定義一個結構數組,輸入5種商品的名稱,數量和單價。計算出每種

新鮮出爐,還有些BUG,可以自行修改。

#include<stdio.h>

int main()

{

double rental;//rental銷售總額

double pri[5]={2.46,4.95,9.12,4.35,6.66};//pri[]零售價格

int i,num[5],count[5];//num[]名字,sale[]銷售數量

for (i=1;i<6;i++)

{

printf ("輸入第%d種商品名字和銷售量: ",i);

scanf ("%d %d",&num[i],&count[i]);//無法限制用戶輸入數據類型,可產生bug

printf ("商品名字:%d,價格:%f,銷售量:%d ",num[i],pri[i],count[i]);//可注釋

rental += pri[i]*count[i];//+=

}

printf ("銷售總額是%f ",rental);

}


⑤ 求商品銷售管理系統(c語言)

/*計算上個月每個人每種產品的銷售額。
1)按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)
2)統計每種產品的總銷售額,對這些產品按從高到底的順序,輸出排序結果(需輸出產品的代號和銷售額)
3)輸出統計報表如下:*/

#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define Z 5
#define R 4 /*定義宏常量便於程序的一般化*/ /*R表示銷售員個數*/
typedef struct /*縮短結構體變數名*/
{
int shangpin[Z]; /*定義結構體便於信息的存儲和讀寫,辨別*/ /*R是表示商品的種類,最後一個為該銷售員商品總和*/
}data;
void menu()
{ printf(" *******************************************************\n");
printf(" 0.結束操作\n");
printf(" 1.計算上個月每個人每種產品的銷售額\n");
printf(" 2.按銷售額對銷售員進行排序,輸出排序結果\n");
printf(" 3.統計每種產品的總銷售額,輸出排序結果\n");
printf(" 4.輸出統計報表\n");
printf(" ******************************************************\n");
}
void data_read(data *x) /*讀入函數使程序簡潔*/
{
FILE *fp;
char fname[10];
int i;
printf("您想查詢哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");/*連接文件屬性*/
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!\n");
}
void data_count(data *x) /*計算上個月每個人每種產品的銷售額*/
{
FILE *fp;
char fname[10];
int j,t; /*用於控制循環*/
int i,k,s; /*用於定義職工序號,產品序號,產品數量*/
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息寫入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"wb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(j=0;j<R;j++) /*對商品數量清零*/
for(t=0;t<Z;t++)
(x+j)->shangpin[t]=0;
printf("please put the information about the 職工編號,產品編號,銷售數量\n"); /*寫入信息*/
for(j=0;;j++)
{
scanf("%d%d%d",&i,&k,&s);
if(i==0) /*輸入職工為0時結束信息輸入*/
break;
if(i>R||i<0||k>Z||k<0)
{
printf("the information error!\n"); /*避免輸入信息出錯*/
continue;
}
else
(x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*統計各個人的各種產品的數量,-1為了和數組中的序號相匹配*/
}
for(j=0;j<R;j++)
if(fwrite((x+j),sizeof(data),1,fp)!=1) /*把信息寫入文件中便有以後調用*/
printf("write error!\n");
fclose(fp); /*關閉文件避免信息遺漏*/
}
void range_sxy(data *x) /*按銷售額對銷售員進行排序,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,k,j,t,bianhao[R]={0},z;
system("cls");
printf("你要哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!"); /*讀入信息提示*/
for(i=0;i<R;) /*用於存儲職工編號*/
bianhao[i]=i++;
printf("請輸入按何種產品排序\n");
scanf("%d",&k);
k=k-1; /*便於與結構體中的數組值對應*/
for(i=0;i<R;i++) /*按K種產品對銷售員排序,選擇法排序*/
{
t=i;
for(j=i+1;j<R;j++)
if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調用職工各自對應的結構體內的產品數量*/
t=j;
if(t!=i)
{
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("按%d產品對銷售員排序為:\n",k+1);
for(i=0;i<R;i++)
printf("%5d",bianhao[i]+1);
getch();
fclose(fp);
}
void range_shangpin(data *x) /*統計每種產品的總銷售額,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z]={0},bianhao[Z]={0},z,t,k;
system("cls");
printf("您想計算哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;) /*用於存儲商品編號*/
bianhao[i]=i++;
for(i=0;i<Z;i++)
printf("%3d",bianhao[i]);
for(i=0;i<Z;i++) /*對產品從高到低排序,選擇法排序*/
{
t=i;
for(j=i+1;j<Z;j++) /*產品變化時,產品編號也隨之變化,便於輸出*/
if(sum[t]<sum[j])
t=j;
if(t!=i)
{
k=sum[i];
sum[i]=sum[t];
sum[t]=k;
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("輸出產品排序\n");
printf("產品編號 數量\n");
for(i=0;i<Z;i++)
printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);
getch();
fclose(fp);
}
void data_out(data *x) /*輸出統計報表*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z+1]={0};
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;i++) /*求商品總和*/
sum[Z]=sum[Z]+sum[i];
printf("輸出統計報表如下:\n"); /*按要求輸出統計表*/
printf("產品代號 銷售之和 銷售員代號\n");
for(i=0;i<R;i++)
for(j=0;j<Z;j++)
printf("%-10d%-10d%-10d\n",j+1,(x+i)->shangpin[j],i+1);
printf("***********************************\n");
for(i=0;i<Z;i++)
{
if(i==0)
printf("%d產品之和 %-10d 總和 %-10d\n",i+1,sum[i],sum[Z]);
else
printf("%d產品之和 %-10d\n",i+1,sum[i]);
}
getch();
}
void main()
{
int i,choice;
data sxy[R]; /*R表示職工的個數,前面的宏常量*/
for(i=0;;i++)
{
system("cls"); /*清頻命令*/
menu(); /*菜單函數提示用戶怎樣選擇*/
printf("你想做什麼?\n");
printf("請選擇:"); /*輸入要進行的操作*/
scanf("%d",&choice);
if(choice==0) /*退出程序*/
break;
else
switch(choice)
{
case 1 : data_count(sxy);break; /*計算上個月每個人每種產品的銷售額*/
case 2 : range_sxy(sxy);break; /*按銷售額對銷售員進行排序,輸出排序結果*/
case 3 : range_shangpin(sxy);break; /*統計每種產品的總銷售額,輸出排序結果*/
case 4 : data_out(sxy);break; /*輸出統計報表*/
}
}
}

⑥ 求助一個C語言的問題。

淘寶50
瀉葯。人在茅房,剛剛夾斷。圈內人多,匿了。
你一個函數一個函數慢慢寫。都是比較初級的函數,有什麼不懂的可以問我

⑦ c語言銷售業績排序系統(實現按照銷售排序功能,銷售額的輸入輸出功能,銷售業績信息:銷售員名稱,月銷

⑧ C語言的一道小題

我簡單寫,請借鑒:

#include"stdio.h"
#include"time.h"

srand((unsigned)time(0));
intlist[100];//數組空間100

inti;
for(i=0;i<100;++i)//100隨機數
{
list[i]=rand()%500+1;//生產1-500隨機數
}

//保存數據
FILE*pf=fopen("data.db","wb");

for(i=0;i<100;++i)
{
fputc(list[i],pf);
}
fclose(pf);

//讀出數據
intlist_1[100]; //新數組
pf=fopen("data.db","rb");
for(i=0;i<100;++i)
{
list_1[i]=fgetc(pf);
}

//顯示測試
for(i=0;i<100;++i)
{
cout<<list[i]<<endl;
}

⑨ c語言程序設計銷售管理系統

#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define Z 5
#define R 4 /*定義宏常量便於程序的一般化*/ /*R表示銷售員個數*/
typedef struct /*縮短結構體變數名*/
{
int shangpin[Z]; /*定義結構體便於信息的存儲和讀寫,辨別*/ /*R是表示商品的種類,最後一個為該銷售員商品總和*/
}data;
void menu()
{ printf(" *******************************************************\n");
printf(" 0.結束操作\n");
printf(" 1.計算上個月每個人每種產品的銷售額\n");
printf(" 2.按銷售額對銷售員進行排序,輸出排序結果\n");
printf(" 3.統計每種產品的總銷售額,輸出排序結果\n");
printf(" 4.輸出統計報表\n");
printf(" ******************************************************\n");
}
void data_read(data *x) /*讀入函數使程序簡潔*/
{
FILE *fp;
char fname[10];
int i;
printf("您想查詢哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");/*連接文件屬性*/
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!\n");
}
void data_count(data *x) /*計算上個月每個人每種產品的銷售額*/
{
FILE *fp;
char fname[10];
int j,t; /*用於控制循環*/
int i,k,s; /*用於定義職工序號,產品序號,產品數量*/
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息寫入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"wb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(j=0;j<R;j++) /*對商品數量清零*/
for(t=0;t<Z;t++)
(x+j)->shangpin[t]=0;
printf("please put the information about the 職工編號,產品編號,銷售數量\n"); /*寫入信息*/
for(j=0;;j++)
{
scanf("%d%d%d",&i,&k,&s);
if(i==0) /*輸入職工為0時結束信息輸入*/
break;
if(i>R||i<0||k>Z||k<0)
{
printf("the information error!\n"); /*避免輸入信息出錯*/
continue;
}
else
(x+i-1)->shangpin[k-1]=(x+i-1)->shangpin[k-1]+s;/*統計各個人的各種產品的數量,-1為了和數組中的序號相匹配*/
}
for(j=0;j<R;j++)
if(fwrite((x+j),sizeof(data),1,fp)!=1) /*把信息寫入文件中便有以後調用*/
printf("write error!\n");
fclose(fp); /*關閉文件避免信息遺漏*/
}
void range_sxy(data *x) /*按銷售額對銷售員進行排序,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,k,j,t,bianhao[R]=,z;
system("cls");
printf("你要哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!"); /*讀入信息提示*/
for(i=0;i<R;) /*用於存儲職工編號*/
bianhao[i]=i++;
printf("請輸入按何種產品排序\n");
scanf("%d",&k);
k=k-1; /*便於與結構體中的數組值對應*/
for(i=0;i<R;i++) /*按K種產品對銷售員排序,選擇法排序*/
{
t=i;
for(j=i+1;j<R;j++)
if((x+bianhao[t])->shangpin[k]<(x+bianhao[j])->shangpin[k])/*調用職工各自對應的結構體內的產品數量*/
t=j;
if(t!=i)
{
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("按%d產品對銷售員排序為:\n",k+1);
for(i=0;i<R;i++)
printf("%5d",bianhao[i]+1);
getch();
fclose(fp);
}
void range_shangpin(data *x) /*統計每種產品的總銷售額,輸出排序結果*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z]=,bianhao[Z]=,z,t,k;
system("cls");
printf("您想計算哪個月的?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;) /*用於存儲商品編號*/
bianhao[i]=i++;
for(i=0;i<Z;i++)
printf("%3d",bianhao[i]);
for(i=0;i<Z;i++) /*對產品從高到低排序,選擇法排序*/
{
t=i;
for(j=i+1;j<Z;j++) /*產品變化時,產品編號也隨之變化,便於輸出*/
if(sum[t]<sum[j])
t=j;
if(t!=i)
{
k=sum[i];
sum[i]=sum[t];
sum[t]=k;
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
}
printf("輸出產品排序\n");
printf("產品編號 數量\n");
for(i=0;i<Z;i++)
printf("%-10d%-10d\n",bianhao[i]+1,sum[i]);
getch();
fclose(fp);
}
void data_out(data *x) /*輸出統計報表*/
{
FILE *fp;
char fname[10];
int i,j,sum[Z+1]=;
system("cls");
printf("您想計算哪個月?\n");
printf("請輸入月份:"); /*輸入文件名,這樣可以進行各個月份信息讀入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打開文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i<R;i++) /*讀出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("讀入信息出錯!");
for(i=0;i<Z;i++) /*對各種商品求和*/
for(j=0;j<R;j++)
sum[i]=sum[i]+(x+j)->shangpin[i];
for(i=0;i<Z;i++) /*求商品總和*/
sum[Z]=sum[Z]+sum[i];
printf("輸出統計報表如下:\n"); /*按要求輸出統計表*/
printf("產品代號 銷售之和 銷售員代號\n");
for(i=0;i<R;i++)
for(j=0;j<Z;j++)
printf("%-10d%-10d%-10d\n",j+1,(x+i)->shangpin[j],i+1);
printf("***********************************\n");
for(i=0;i<Z;i++)
{
if(i==0)
printf("%d產品之和 %-10d 總和 %-10d\n",i+1,sum[i],sum[Z]);
else
printf("%d產品之和 %-10d\n",i+1,sum[i]);
}
getch();
}
void main()
{
int i,choice;
data sxy[R]; /*R表示職工的個數,前面的宏常量*/
for(i=0;;i++)
{
system("cls"); /*清頻命令*/
menu(); /*菜單函數提示用戶怎樣選擇*/
printf("你想做什麼?\n");
printf("請選擇:"); /*輸入要進行的操作*/
scanf("%d",&choice);
if(choice==0) /*退出程序*/
break;
else
switch(choice)
{
case 1 : data_count(sxy);break; /*計算上個月每個人每種產品的銷售額*/
case 2 : range_sxy(sxy);break; /*按銷售額對銷售員進行排序,輸出排序結果*/
case 3 : range_shangpin(sxy);break; /*統計每種產品的總銷售額,輸出排序結果*/
case 4 : data_out(sxy);break; /*輸出統計報表*/
}
}
}

⑩ C語言編程!急!!!

您好:

呵呵,幫您寫了一個,不知道合不合意。不明白可再討論討論

#include <stdio.h>

void main()
{
float money[6];
float percent[6] = {0.05,0.2,0.1,0.05,0.1,0.05};
int i=0;
int num;
float sell;
for(; i<6; i++)
{
printf("請您輸入產品編號(1~6)及銷售額,注意輸入時月份和銷售額之間用空格隔開");
scanf("%d %f",&num,&sell);
money[i] = sell * percent[num-1];
}
for(i=0; i<6; i++)
{
printf("輸出各月所得傭金");
printf("月份:%d,傭金:%.2f\n",i+1,money[i]);
}
}

祝您好運