代碼如下:#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no[12];//銷售員工代號 char name[20];//銷售員工姓名 int month[12];//月份 float sales[12];//月銷售額 float total;//年度總銷售額
}node[200];
int n=200;
void main()
{
void input();
void insert();
void revise();
void delete();
void all();
void line();
int i;
while(1)
{ printf("銷售管理系統\n"); printf("0退出銷售管理系統\n"); printf("1錄入銷售員資訊\n"); printf("2查找銷售員資訊\n"); printf("3修改銷售員資訊\n"); printf("4洗掉銷售員資訊\n"); printf("5統計所有銷售員的年度總銷售額\n"); printf("6找出最大或最小的月銷售額和年度總銷售額\n"); printf("請選擇需要操作的功能\n"); scanf("%d",&i); switch(i) { case 0: exit(0);break; case 1: printf("錄入銷售員資訊\n");break; case 2: printf("查找銷售員資訊\n");break; case 3: printf("修改銷售員某個月的銷售額\n");break; case 4: printf("洗掉銷售員資訊\n");break; case 5: printf("統計所有銷售員的年度總銷售額\n");break; case 6: printf("找出最大或最小的月銷售額和年度總銷售額\n");break; default:printf("輸入錯誤,請重新選擇!!");break; }
}
}
void input()//錄入資訊
{
int i,n,j;
printf("請輸入銷售人員個數\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d",node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s",node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for(j=0;j<12;j++)
{ scanf("%lf",node[i].sales[j]); }
printf("請輸入銷售員的年度總銷售額:\n");
scanf("%lf",node[i].total); }
}
void insert()//查找資訊
{
int i,k,m; printf("請輸入您需要查找的銷售員代號:"); scanf("%d",&i); for(k=0;k<n;k++) if(i==node[k].no) printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n"); for(m=0;m<12;m++) printf("%d%s%lf%lf\n",node[n].no,node[n].name,node[n].sales[m],node[n].total);
printf("\n\n");
}
void revise(struct node no[],int n)//修改資訊
{
int i,x,k,t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d",&i);
printf("請輸入您想修改的月份:");
scanf("%d",&x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n",&m);
for(k=0;k<n;k++)
for(t=0;t<12;t++)
if(i==node[k].no&&x==node[t].month)
{ m=node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for(t=0;t<12;t++)
printf("%d%s%lf%lf\n",node[k].no,node[k].name,node[k].sales[t],node[k].total);
printf("\n\n");
}
void delete()//洗掉資訊
{
char node_name[20];
int i,j;
printf("請輸入您想要洗掉掉的員工姓名:");
scanf("%s",node_name[i]);
for(i=0;i<n;i++)
if (strcmp(node_name,node[i].name)==0)
{
for(j=i;j<n;j++) node[i]=node[i+1]; n=n-1; }
}
void all()//統計年度總銷售額
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<12;j++) node[i].total+=node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for(i=0;i<n;i++)
printf("%lf\n",node[i].total);
}
void line()//找出最大或最小銷售額
{
int i,j;
float max,min;
max=node[0].sales[0];
min=node[0].sales[0];
for(i=0;i<n;i++)
for(j=0;j<12;j++)
if(node[i].sales[j]>max)
{ max=node[i].sales[j]; }
if(node[i].sales[j]<min)
{ min=node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
pritnf("%lf,%lf\n",max,min);
}
救救孩子吧
uj5u.com熱心網友回復:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no;//銷售員工代號
char name[20];//銷售員工姓名
int month;//月份
float sales[12];//月銷售額
float total;//年度總銷售額
}node[200];
int n = 200;
int main()
{
void input();
void insert();
void revise();
void mydelete();
void all();
void line();
int i;
while (1)
{
printf("銷售管理系統\n");
printf("0退出銷售管理系統\n");
printf("1錄入銷售員資訊\n");
printf("2查找銷售員資訊\n");
printf("3修改銷售員資訊\n");
printf("4洗掉銷售員資訊\n");
printf("5統計所有銷售員的年度總銷售額\n");
printf("6找出最大或最小的月銷售額和年度總銷售額\n");
printf("請選擇需要操作的功能\n"); scanf("%d", &i);
switch (i)
{
case 0:
exit(0);
break;
case 1:
printf("錄入銷售員資訊\n");
break;
case 2:
printf("查找銷售員資訊\n");
break;
case 3:
printf("修改銷售員某個月的銷售額\n");
break;
case 4:
printf("洗掉銷售員資訊\n");
break;
case 5:
printf("統計所有銷售員的年度總銷售額\n");
break;
case 6:
printf("找出最大或最小的月銷售額和年度總銷售額\n");
break;
default:
printf("輸入錯誤,請重新選擇!!");
break;
}
}
return 0;
}
void input()//錄入資訊
{
int i, n, j;
printf("請輸入銷售人員個數\n");
scanf("%d", &n);
for (i = 0; i<n; i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d", node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s", node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for (j = 0; j<12; j++)
{
scanf("%lf", node[i].sales[j]);
}
printf("請輸入銷售員的年度總銷售額:\n");
scanf("%lf", node[i].total);
}
}
void insert()//查找資訊
{
int i, k, m;
printf("請輸入您需要查找的銷售員代號:");
scanf("%d", &i);
for (k = 0; k<n; k++)
if (i == node[k].no)
printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n");
for (m = 0; m<12; m++)
printf("%d%s%lf%lf\n", node[n].no, node[n].name, node[n].sales[m], node[n].total);
printf("\n\n");
}
void revise(struct node no[], int n)//修改資訊
{
int i, x, k, t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d", &i);
printf("請輸入您想修改的月份:");
scanf("%d", &x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n", &m);
for (k = 0; k<n; k++)
for (t = 0; t<12; t++)
if (i == node[k].no && x == node[t].month)
{
m = node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for (t = 0; t<12; t++)
printf("%d%s%lf%lf\n", node[k].no, node[k].name, node[k].sales[t], node[k].total);
printf("\n\n");
}
void mydelete()//洗掉資訊
{
char node_name[20];
int i, j;
printf("請輸入您想要洗掉掉的員工姓名:");
scanf("%s", node_name);
for (i = 0; i<n; i++)
if (strcmp(node_name, node[i].name) == 0)
{
for (j = i; j<n; j++) node[i] = node[i + 1]; n = n - 1;
}
}
void all()//統計年度總銷售額
{
int i, j;
for (i = 0; i<n; i++)
for (j = 0; j<12; j++) node[i].total += node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for (i = 0; i<n; i++)
printf("%lf\n", node[i].total);
}
void line()//找出最大或最小銷售額
{
int i, j;
float max, min;
max = node[0].sales[0];
min = node[0].sales[0];
for (i = 0; i<n; i++)
for (j = 0; j<12; j++)
if (node[i].sales[j]>max)
{
max = node[i].sales[j];
}
if (node[i].sales[j]<min)
{
min = node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
printf("%lf,%lf\n", max, min);
}
VS2015 C++環境除錯
uj5u.com熱心網友回復:
//#include<conio.h>
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no[12];//銷售員工代號
char name[20];//銷售員工姓名
int month[12];//月份
float sales[12];//月銷售額
float total;//年度總銷售額
}node[200];
int n=200;
//void main()
int main()
{
void input();
void insert();
void revise();
void delete();
void all();
void line();
int i;
while(1)
{
printf("銷售管理系統\n");
printf("0退出銷售管理系統\n");
printf("1錄入銷售員資訊\n");
printf("2查找銷售員資訊\n");
printf("3修改銷售員資訊\n");
printf("4洗掉銷售員資訊\n");
printf("5統計所有銷售員的年度總銷售額\n");
printf("6找出最大或最小的月銷售額和年度總銷售額\n");
printf("請選擇需要操作的功能\n");
scanf("%d",&i);
switch(i) {
case 0:
exit(0);
break;
case 1:
printf("錄入銷售員資訊\n");
break;
case 2:
printf("查找銷售員資訊\n");
break;
case 3:
printf("修改銷售員某個月的銷售額\n");
break;
case 4:
printf("洗掉銷售員資訊\n");
break;
case 5:
printf("統計所有銷售員的年度總銷售額\n");
break;
case 6:
printf("找出最大或最小的月銷售額和年度總銷售額\n");
break;
default:
printf("輸入錯誤,請重新選擇!!");
break;
}
}
}
void input()//錄入資訊
{
int i,n,j;
printf("請輸入銷售人員個數\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d",node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s",node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for(j=0;j<12;j++)
{
//scanf("%lf", node[i].sales[j]);
scanf("%f", &node[i].sales[j]);
}
printf("請輸入銷售員的年度總銷售額:\n");
//scanf("%lf",node[i].total); }
scanf("%f", &node[i].total);
}
}
void insert()//查找資訊
{
int i,k,m;
printf("請輸入您需要查找的銷售員代號:");
scanf("%d",&i);
for(k=0;k<n;k++)
if(i==node[k].no)
printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n");
for(m=0;m<12;m++)
printf("%d%s%lf%lf\n", node[n].no, node[n].name,node[n].sales[m],node[n].total);
printf("\n\n");
}
void revise(struct node no[],int n)//修改資訊
{
int i,x,k,t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d",&i);
printf("請輸入您想修改的月份:");
scanf("%d",&x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n",&m);
for(k=0;k<n;k++)
for(t=0;t<12;t++)
if(i==node[k].no&&x==node[t].month)
{ m=node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for(t=0;t<12;t++)
printf("%d%s%lf%lf\n",node[k].no,node[k].name,node[k].sales[t],node[k].total);
printf("\n\n");
}
void delete_node()//洗掉資訊
{
char node_name[20];
int i,j;
printf("請輸入您想要洗掉掉的員工姓名:");
//scanf("%s",node_name[i]);
scanf("%s",node_name);
for(i=0;i<n;i++)
if (strcmp(node_name,node[i].name)==0)
{
for(j=i;j<n;j++) node[i]=node[i+1]; n=n-1;
}
}
void all()//統計年度總銷售額
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<12;j++) node[i].total+=node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for(i=0;i<n;i++)
//printf("%lf\n",node[i].total);
printf("%f\n",node[i].total);
}
void line()//找出最大或最小銷售額
{
int i,j;
float max,min;
max=node[0].sales[0];
min=node[0].sales[0];
for(i=0;i<n;i++)
for(j=0;j<12;j++)
if(node[i].sales[j]>max)
{ max=node[i].sales[j]; }
if(node[i].sales[j]<min)
{
min=node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
//pritnf("%lf,%lf\n",max,min);
//printf("%lf,%lf\n",max,min);
printf("%f,%f\n",max,min);
}
樓主的問題很多呢,問一下no你是打算定義成char []型別還是定義成int還是int []?
同樣的問題是month。
因為下面涉及到比較如果按照目前你的定義,如下的比較不成立的:
if(i==node[k].no&&x==node[t].month)
還有,樓主float對應的格式是%f,不是%lf。
建議先把這些問題一一確認和解決了,再一個函式一個函式的或者遞增式(函式個數遞增)的去除錯。
uj5u.com熱心網友回復:
參考 1 樓 棉猴 的回復: #include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no;//銷售員工代號
char name[20];//銷售員工姓名
int month;//月份
float sales[12];//月銷售額
float total;//年度總銷售額
}node[200];
int n = 200;
int main()
{
void input();
void insert();
void revise();
void mydelete();
void all();
void line();
int i;
while (1)
{
printf("銷售管理系統\n");
printf("0退出銷售管理系統\n");
printf("1錄入銷售員資訊\n");
printf("2查找銷售員資訊\n");
printf("3修改銷售員資訊\n");
printf("4洗掉銷售員資訊\n");
printf("5統計所有銷售員的年度總銷售額\n");
printf("6找出最大或最小的月銷售額和年度總銷售額\n");
printf("請選擇需要操作的功能\n"); scanf("%d", &i);
switch (i)
{
case 0:
exit(0);
break;
case 1:
printf("錄入銷售員資訊\n");
break;
case 2:
printf("查找銷售員資訊\n");
break;
case 3:
printf("修改銷售員某個月的銷售額\n");
break;
case 4:
printf("洗掉銷售員資訊\n");
break;
case 5:
printf("統計所有銷售員的年度總銷售額\n");
break;
case 6:
printf("找出最大或最小的月銷售額和年度總銷售額\n");
break;
default:
printf("輸入錯誤,請重新選擇!!");
break;
}
}
return 0;
}
void input()//錄入資訊
{
int i, n, j;
printf("請輸入銷售人員個數\n");
scanf("%d", &n);
for (i = 0; i<n; i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d", node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s", node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for (j = 0; j<12; j++)
{
scanf("%lf", node[i].sales[j]);
}
printf("請輸入銷售員的年度總銷售額:\n");
scanf("%lf", node[i].total);
}
}
void insert()//查找資訊
{
int i, k, m;
printf("請輸入您需要查找的銷售員代號:");
scanf("%d", &i);
for (k = 0; k<n; k++)
if (i == node[k].no)
printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n");
for (m = 0; m<12; m++)
printf("%d%s%lf%lf\n", node[n].no, node[n].name, node[n].sales[m], node[n].total);
printf("\n\n");
}
void revise(struct node no[], int n)//修改資訊
{
int i, x, k, t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d", &i);
printf("請輸入您想修改的月份:");
scanf("%d", &x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n", &m);
for (k = 0; k<n; k++)
for (t = 0; t<12; t++)
if (i == node[k].no && x == node[t].month)
{
m = node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for (t = 0; t<12; t++)
printf("%d%s%lf%lf\n", node[k].no, node[k].name, node[k].sales[t], node[k].total);
printf("\n\n");
}
void mydelete()//洗掉資訊
{
char node_name[20];
int i, j;
printf("請輸入您想要洗掉掉的員工姓名:");
scanf("%s", node_name);
for (i = 0; i<n; i++)
if (strcmp(node_name, node[i].name) == 0)
{
for (j = i; j<n; j++) node[i] = node[i + 1]; n = n - 1;
}
}
void all()//統計年度總銷售額
{
int i, j;
for (i = 0; i<n; i++)
for (j = 0; j<12; j++) node[i].total += node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for (i = 0; i<n; i++)
printf("%lf\n", node[i].total);
}
void line()//找出最大或最小銷售額
{
int i, j;
float max, min;
max = node[0].sales[0];
min = node[0].sales[0];
for (i = 0; i<n; i++)
for (j = 0; j<12; j++)
if (node[i].sales[j]>max)
{
max = node[i].sales[j];
}
if (node[i].sales[j]<min)
{
min = node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
printf("%lf,%lf\n", max, min);
}
VS2015 C++環境除錯
沒看出邏輯問題嗎?
if (i == node[k].no && x == node[t].month)
還有float的格式用%lf?
uj5u.com熱心網友回復:
參考 2 樓 自信男孩 的回復: //#include<conio.h>
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no[12];//銷售員工代號
char name[20];//銷售員工姓名
int month[12];//月份
float sales[12];//月銷售額
float total;//年度總銷售額
}node[200];
int n=200;
//void main()
int main()
{
void input();
void insert();
void revise();
void delete();
void all();
void line();
int i;
while(1)
{
printf("銷售管理系統\n");
printf("0退出銷售管理系統\n");
printf("1錄入銷售員資訊\n");
printf("2查找銷售員資訊\n");
printf("3修改銷售員資訊\n");
printf("4洗掉銷售員資訊\n");
printf("5統計所有銷售員的年度總銷售額\n");
printf("6找出最大或最小的月銷售額和年度總銷售額\n");
printf("請選擇需要操作的功能\n");
scanf("%d",&i);
switch(i) {
case 0:
exit(0);
break;
case 1:
printf("錄入銷售員資訊\n");
break;
case 2:
printf("查找銷售員資訊\n");
break;
case 3:
printf("修改銷售員某個月的銷售額\n");
break;
case 4:
printf("洗掉銷售員資訊\n");
break;
case 5:
printf("統計所有銷售員的年度總銷售額\n");
break;
case 6:
printf("找出最大或最小的月銷售額和年度總銷售額\n");
break;
default:
printf("輸入錯誤,請重新選擇!!");
break;
}
}
}
void input()//錄入資訊
{
int i,n,j;
printf("請輸入銷售人員個數\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d",node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s",node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for(j=0;j<12;j++)
{
//scanf("%lf", node[i].sales[j]);
scanf("%f", &node[i].sales[j]);
}
printf("請輸入銷售員的年度總銷售額:\n");
//scanf("%lf",node[i].total); }
scanf("%f", &node[i].total);
}
}
void insert()//查找資訊
{
int i,k,m;
printf("請輸入您需要查找的銷售員代號:");
scanf("%d",&i);
for(k=0;k<n;k++)
if(i==node[k].no)
printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n");
for(m=0;m<12;m++)
printf("%d%s%lf%lf\n", node[n].no, node[n].name,node[n].sales[m],node[n].total);
printf("\n\n");
}
void revise(struct node no[],int n)//修改資訊
{
int i,x,k,t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d",&i);
printf("請輸入您想修改的月份:");
scanf("%d",&x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n",&m);
for(k=0;k<n;k++)
for(t=0;t<12;t++)
if(i==node[k].no&&x==node[t].month)
{ m=node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for(t=0;t<12;t++)
printf("%d%s%lf%lf\n",node[k].no,node[k].name,node[k].sales[t],node[k].total);
printf("\n\n");
}
void delete_node()//洗掉資訊
{
char node_name[20];
int i,j;
printf("請輸入您想要洗掉掉的員工姓名:");
//scanf("%s",node_name[i]);
scanf("%s",node_name);
for(i=0;i<n;i++)
if (strcmp(node_name,node[i].name)==0)
{
for(j=i;j<n;j++) node[i]=node[i+1]; n=n-1;
}
}
void all()//統計年度總銷售額
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<12;j++) node[i].total+=node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for(i=0;i<n;i++)
//printf("%lf\n",node[i].total);
printf("%f\n",node[i].total);
}
void line()//找出最大或最小銷售額
{
int i,j;
float max,min;
max=node[0].sales[0];
min=node[0].sales[0];
for(i=0;i<n;i++)
for(j=0;j<12;j++)
if(node[i].sales[j]>max)
{ max=node[i].sales[j]; }
if(node[i].sales[j]<min)
{
min=node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
//pritnf("%lf,%lf\n",max,min);
//printf("%lf,%lf\n",max,min);
printf("%f,%f\n",max,min);
}
樓主的問題很多呢,問一下no你是打算定義成char []型別還是定義成int還是int []?
同樣的問題是month。
因為下面涉及到比較如果按照目前你的定義,如下的比較不成立的:
if(i==node[k].no&&x==node[t].month)
還有,樓主float對應的格式是%f,不是%lf。
建議先把這些問題一一確認和解決了,再一個函式一個函式的或者遞增式(函式個數遞增)的去除錯。好的,非常感謝
uj5u.com熱心網友回復:
參考 1 樓 棉猴 的回復: #include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no;//銷售員工代號
char name[20];//銷售員工姓名
int month;//月份
float sales[12];//月銷售額
float total;//年度總銷售額
}node[200];
int n = 200;
int main()
{
void input();
void insert();
void revise();
void mydelete();
void all();
void line();
int i;
while (1)
{
printf("銷售管理系統\n");
printf("0退出銷售管理系統\n");
printf("1錄入銷售員資訊\n");
printf("2查找銷售員資訊\n");
printf("3修改銷售員資訊\n");
printf("4洗掉銷售員資訊\n");
printf("5統計所有銷售員的年度總銷售額\n");
printf("6找出最大或最小的月銷售額和年度總銷售額\n");
printf("請選擇需要操作的功能\n"); scanf("%d", &i);
switch (i)
{
case 0:
exit(0);
break;
case 1:
printf("錄入銷售員資訊\n");
break;
case 2:
printf("查找銷售員資訊\n");
break;
case 3:
printf("修改銷售員某個月的銷售額\n");
break;
case 4:
printf("洗掉銷售員資訊\n");
break;
case 5:
printf("統計所有銷售員的年度總銷售額\n");
break;
case 6:
printf("找出最大或最小的月銷售額和年度總銷售額\n");
break;
default:
printf("輸入錯誤,請重新選擇!!");
break;
}
}
return 0;
}
void input()//錄入資訊
{
int i, n, j;
printf("請輸入銷售人員個數\n");
scanf("%d", &n);
for (i = 0; i<n; i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d", node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s", node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for (j = 0; j<12; j++)
{
scanf("%lf", node[i].sales[j]);
}
printf("請輸入銷售員的年度總銷售額:\n");
scanf("%lf", node[i].total);
}
}
void insert()//查找資訊
{
int i, k, m;
printf("請輸入您需要查找的銷售員代號:");
scanf("%d", &i);
for (k = 0; k<n; k++)
if (i == node[k].no)
printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n");
for (m = 0; m<12; m++)
printf("%d%s%lf%lf\n", node[n].no, node[n].name, node[n].sales[m], node[n].total);
printf("\n\n");
}
void revise(struct node no[], int n)//修改資訊
{
int i, x, k, t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d", &i);
printf("請輸入您想修改的月份:");
scanf("%d", &x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n", &m);
for (k = 0; k<n; k++)
for (t = 0; t<12; t++)
if (i == node[k].no && x == node[t].month)
{
m = node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for (t = 0; t<12; t++)
printf("%d%s%lf%lf\n", node[k].no, node[k].name, node[k].sales[t], node[k].total);
printf("\n\n");
}
void mydelete()//洗掉資訊
{
char node_name[20];
int i, j;
printf("請輸入您想要洗掉掉的員工姓名:");
scanf("%s", node_name);
for (i = 0; i<n; i++)
if (strcmp(node_name, node[i].name) == 0)
{
for (j = i; j<n; j++) node[i] = node[i + 1]; n = n - 1;
}
}
void all()//統計年度總銷售額
{
int i, j;
for (i = 0; i<n; i++)
for (j = 0; j<12; j++) node[i].total += node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for (i = 0; i<n; i++)
printf("%lf\n", node[i].total);
}
void line()//找出最大或最小銷售額
{
int i, j;
float max, min;
max = node[0].sales[0];
min = node[0].sales[0];
for (i = 0; i<n; i++)
for (j = 0; j<12; j++)
if (node[i].sales[j]>max)
{
max = node[i].sales[j];
}
if (node[i].sales[j]<min)
{
min = node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
printf("%lf,%lf\n", max, min);
}
VS2015 C++環境除錯
謝謝大佬呀,雖然可以運行了但還是有一點問題,我再研究研究,到時候有不會的可以來問你嗎
uj5u.com熱心網友回復:
參考 5 樓 我就菜哼 的回復: Quote: 參考 1 樓 棉猴 的回復: #include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int no;//銷售員工代號
char name[20];//銷售員工姓名
int month;//月份
float sales[12];//月銷售額
float total;//年度總銷售額
}node[200];
int n = 200;
int main()
{
void input();
void insert();
void revise();
void mydelete();
void all();
void line();
int i;
while (1)
{
printf("銷售管理系統\n");
printf("0退出銷售管理系統\n");
printf("1錄入銷售員資訊\n");
printf("2查找銷售員資訊\n");
printf("3修改銷售員資訊\n");
printf("4洗掉銷售員資訊\n");
printf("5統計所有銷售員的年度總銷售額\n");
printf("6找出最大或最小的月銷售額和年度總銷售額\n");
printf("請選擇需要操作的功能\n"); scanf("%d", &i);
switch (i)
{
case 0:
exit(0);
break;
case 1:
printf("錄入銷售員資訊\n");
break;
case 2:
printf("查找銷售員資訊\n");
break;
case 3:
printf("修改銷售員某個月的銷售額\n");
break;
case 4:
printf("洗掉銷售員資訊\n");
break;
case 5:
printf("統計所有銷售員的年度總銷售額\n");
break;
case 6:
printf("找出最大或最小的月銷售額和年度總銷售額\n");
break;
default:
printf("輸入錯誤,請重新選擇!!");
break;
}
}
return 0;
}
void input()//錄入資訊
{
int i, n, j;
printf("請輸入銷售人員個數\n");
scanf("%d", &n);
for (i = 0; i<n; i++)
{
printf("請輸入銷售員代號:\n");
scanf("%d", node[i].no);
printf("請輸入銷售員姓名:\n");
scanf("%s", node[i].name);
printf("請輸入銷售員的月銷售額:\n");
for (j = 0; j<12; j++)
{
scanf("%lf", node[i].sales[j]);
}
printf("請輸入銷售員的年度總銷售額:\n");
scanf("%lf", node[i].total);
}
}
void insert()//查找資訊
{
int i, k, m;
printf("請輸入您需要查找的銷售員代號:");
scanf("%d", &i);
for (k = 0; k<n; k++)
if (i == node[k].no)
printf("銷售員代號 姓名 月銷售額 年度總銷售額:\n");
for (m = 0; m<12; m++)
printf("%d%s%lf%lf\n", node[n].no, node[n].name, node[n].sales[m], node[n].total);
printf("\n\n");
}
void revise(struct node no[], int n)//修改資訊
{
int i, x, k, t;
float m;
printf("請輸入您所需修改的銷售員代號:");
scanf("%d", &i);
printf("請輸入您想修改的月份:");
scanf("%d", &x);
printf("請輸入您想要修改的資訊:");
scanf("%lf\n", &m);
for (k = 0; k<n; k++)
for (t = 0; t<12; t++)
if (i == node[k].no && x == node[t].month)
{
m = node[k].sales[t];
}
printf("修改成功\n");
printf("銷售員代號 姓名 月銷售額 年度總銷售額\n");
for (t = 0; t<12; t++)
printf("%d%s%lf%lf\n", node[k].no, node[k].name, node[k].sales[t], node[k].total);
printf("\n\n");
}
void mydelete()//洗掉資訊
{
char node_name[20];
int i, j;
printf("請輸入您想要洗掉掉的員工姓名:");
scanf("%s", node_name);
for (i = 0; i<n; i++)
if (strcmp(node_name, node[i].name) == 0)
{
for (j = i; j<n; j++) node[i] = node[i + 1]; n = n - 1;
}
}
void all()//統計年度總銷售額
{
int i, j;
for (i = 0; i<n; i++)
for (j = 0; j<12; j++) node[i].total += node[i].sales[j];
printf("銷售員年度總銷售額:\n");
for (i = 0; i<n; i++)
printf("%lf\n", node[i].total);
}
void line()//找出最大或最小銷售額
{
int i, j;
float max, min;
max = node[0].sales[0];
min = node[0].sales[0];
for (i = 0; i<n; i++)
for (j = 0; j<12; j++)
if (node[i].sales[j]>max)
{
max = node[i].sales[j];
}
if (node[i].sales[j]<min)
{
min = node[i].sales[j];
}
printf("最大或最小月銷售額:\n");
printf("%lf,%lf\n", max, min);
}
VS2015 C++環境除錯
謝謝大佬呀,雖然可以運行了但還是有一點問題,我再研究研究,到時候有不會的可以來問你嗎
你的main函式里呼叫那個自定義函式介面了?沒有呼叫怎么知道可以運行
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/52120.html
標籤:C語言
上一篇:java打怪升級地圖
下一篇:C語言