I actually fixed the input so it reads it like this:
Code:
for (i = 0; i < k; i++) {
fflush(stdin);
printf("Please enter name: ");
fgets(buffer, sizeof(buffer), stdin);
members[i].name = malloc (sizeof buffer);
strcpy(members[i].name,buffer);
printf("Please enter ID: ");
scanf("%d", &members[i].id);
members[i].index = i;
}
Which seems to work as far as inputting goes. The bubblesort works now for the numbers, but it does something weird to the names. I will show you my input and output:
INPUT:
Code:
Please enter name: a
Please enter ID: 9
Please enter name: b
Please enter ID: 3
Please enter name: c
Please enter ID: 5
Please enter name: d
Please enter ID: 7
Please enter name: e
Please enter ID: 1
Please enter name: f
Please enter ID: 100
Please enter name: g
Please enter ID: 101
Please enter name: h
Please enter ID: 99
Please enter name: i
Please enter ID: 1000
Please enter name: j
Please enter ID: 999
So the Output SHOULD Be:
Code:
1, f
3, c
5, d
7, e
9, b
99, h
100, f
101, g
999, j
1000, i
But instead it is:
Code:
1, b
3, a
5, b
7, c
9, d
99, g
100, f
101, g
999, j
1000, i
It seems like the last few worked, but the first ones didn't. Very weird...any ideas?