I am making linked list(s) based on the user input as the following:
How Many employees? 4
Now, each one would have firstname
lastname
rate
and zipcode
, with a linked list I am trying to take these inputs and doing a for
loop based on the number of records, but I am not doing it right obviously :
struct records {
char first[20];
char last[20];
float rate;
int zip;
struct node* next;
};
void main()
{
int i,n;
printf("Please indicate the number of records : ");
scanf("%d",&n);
struct records *head,*conductor;
head=(struct records*)malloc(n*sizeof(struct records));
head->next=NULL;
for (i=0;i<n;i++){
printf("\nEnter employee information in the format :\nFirstname Lastname rate Zipcode (newline for the next)\n");
scanf("%s %s %f %d",&head->first,&head->last,&head->rate,&head->zip);
conductor=head;
conductor=conductor->next;}
}
How do I get this right ?
sample to fix
struct records {
char first[20];
char last[20];
float rate;
int zip;
struct records *next;//typo struct node* next;
};
int main(void){//return type is `int`
int i, n;
printf("Please indicate the number of records : ");
scanf("%d", &n);
struct records *head,*conductor;
head=(struct records*)malloc(n*sizeof(struct records));
for (i=0; i<n; i++){
printf("\nEnter employee information in the format :\nFirstname Lastname rate Zipcode (newline for the next)\n");
scanf("%19s %19s %f %d", head[i].first, head[i].last, &head[i].rate, &head[i].zip);
head[i].next = &head[i+1];
}
head[n-1].next = NULL;
return 0;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.