The program is fairly simple, and I know I'm just a few tweaks away from making it work perfectly. Only problem is that my names and ID's switch places when I submit the data. The rest of the variables print out perfectly. In the attachment you can see where the data is entered and everything comes out fine except for the placement of the ID number and the name. I don't see how that's possible while looking at my code, as the printf starts with the name and is then followed by the ID number. I don't see how they could have switched values at any time through my program, so this has really put me in quite the pickle.Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #define StringSIZE 81 char tempString[StringSIZE]; typedef struct { char *name; char IDnum[10]; int age; int salary; float SETE; }TeacherRecord; int main() { int i; int NumofT; TeacherRecord *teacher; scanf("%d",&NumofT); //Scans the first number from input, number of teachers for(i = 0; i < NumofT; i++) //Common for loop, will loop until all teachers have been processed { teacher = (TeacherRecord *) malloc (sizeof(TeacherRecord)); //Gets size of structure scanf(" %s", tempString); //scans first string on new line teacher->name = (char *) malloc(strlen(tempString)+1); //allocates enough size in tempString for *name strcpy(teacher->name,tempString); //copies *name into tempString scanf("%s %d %d %f", teacher->IDnum, //Scans the rest of the data &teacher->age, &teacher->salary, &teacher->SETE); //Stores the values to TeacherRecord Structure printf("\n\n %s, %s %s, %s %d, %s %d, %s %6.2f\n\n", //Arranged printf statement so that output matches Praktomat expectation: teacher->name, //Ex. Sweany, id = 123456789, is 53, earns $8096, and has a SETE of 3.66 " ID = ", teacher->IDnum, " is ", teacher->age, " earns $", teacher->salary, " and has a SETE of ",teacher->SETE); } return 0; }