帮忙改一下错误
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#define N 5 /*5种产品*/
struct sell
{
int seller[4]; /*销售员代号*/
float sales[4][N]; /*每个销售员各种产品的销售额*/
float sum[4]; /*总额*/
int order;
struct sell *next;
};
struct sell *create()
{
int i,j,k;
float s;
struct sell *h=NULL,*info; /*h:头结点指针;info:新结点指针*/
for(k=0;k<30;k++)
{
printf("------------第%d天------------\n",k+1);
s=0.0; /*计算每个销售员的销售额,初值为0*/
info=(struct sell*)malloc(sizeof(struct sell)); /*申请空间*/
if(!info) /*如果指针info为空*/
{
printf("\n内存分配失败");
return NULL; /*返回空指针*/
}
for(j=0;j<4;j++)
{
printf("\n请按如下提示输入相关信息_ _ _ _\n\n");
printf("请输入销售员代号:");
scanf("%d",&info->seller[j]); /*输入销售员代号*/
printf("请输入%d种产品的销售额:\n",N);
for(i=0;i<N;i++)
{
printf("sales[%d][%d]:",j+1,i+1); /*提示输入第几种产品*/
scanf("%f",&info->sales[j+1][i]); /*输入销售额*/
s=s+info->sales[j+1][i]; /*累加5种产品销售额,赋值给s*/
}
info->sum[j+1]=s; /*将总额存储到数组中*/
printf("%d号销售员第%d天的销售额是:\t",j+1,k+1);
printf("%f\n",info->sum[j+1]); /*输出销售员当天总营额*/
s=0; /*将s赋值为0.用于存储下一数据*/
info->order=0; /*未排序前此值为0*/
info->next=h; /*将头结点做为新输入结点的后继结点*/
h=info; /*新输入结点为新的头结点*//*没排序前,后输入的数据将排在最上*/
}
}
return h; /*返回头指针*/
}
void main()
{
int i,j,*p;
float sum[4]={0};
struct sell *head=NULL; //四个人的销售总额
system("color 5e");
// head=create();
for(;p->next!=NULL;p=p->next) //p为头指针
{
for(i=0;i<4;i++)
for(j=0;j<N;j++)
sum[i]+=p->sales[i][j];
}
head=create();
}
红的部分是提示有错的地方,请帮我看一下应该怎改:
G:\课程设计\销售管理\录入\录入.c(61) : error C2223: left of '->next' must point to struct/union
G:\课程设计\销售管理\录入\录入.c(61) : error C2223: left of '->next' must point to struct/union
G:\课程设计\销售管理\录入\录入.c(65) : error C2223: left of '->sales' must point to struct/union