Above is a test program to find out why the program jumps over the first entry line when you select 1 in the menu. I am showing a lot of code hoping my question will be clear. Please help. Many thanks, Zach.Code:#include <stdio.h> #include<string.h> #include<windows.h> void menu (void); void locate(short x, short y); //void removeScrollbars(void); void enterBill(void); struct A { char bill[6]; char date[10]; char descr[36]; char euros[9]; char code[6]; }; int main(void) { //removeScrollbars(); menu(); } void menu(void) { system("@cls||clear"); char s; locate(5,5); printf("1 = Enter a bill"); locate(5,6); printf("2 = Retrieve a bill"); locate(5,7); printf("3 = Correct a bill"); locate(5,8); printf("4 = Enter a description"); locate(5,9); printf("5 = Change a description"); locate(5,11); printf("Make a selection: "); s = getchar(); if (s == '1') enterBill(); else exit(0); } void enterBill(void) { system("@cls||clear"); struct A B; strcpy(B.bill,""); strcpy(B.date,""); strcpy(B.descr,""); strcpy(B.euros,""); strcpy(B.code,""); // This entry line is being passed over char *p; locate(5,5);printf("Bill numer");locate(30,5);printf(": "); fgets(B.bill, sizeof(B.bill),stdin); if( (p = strchr(B.bill,'\n')) != NULL ) *p = '\0'; locate(5,6);printf("Enter date");locate(30,6); printf(": "); fgets(B.date, sizeof(B.date),stdin); if( (p = strchr(B.date,'\n')) != NULL ) *p = '\0'; locate(5,7);printf("Amount");locate(30,7);printf(": "); fgets(B.euros, sizeof(B.euros),stdin); if ( (p = strchr(B.euros,'\n')) != NULL ) *p = '\0'; locate(5,8);printf("Code");locate(30,8);printf(": "); fgets(B.code, sizeof(B.code),stdin); if ( (p = strchr(B.code,'\n')) != NULL ) *p = '\0'; FILE *C; C = fopen("data2","ab"); fwrite(&B,sizeof(struct A),1,C); fclose(C); } void locate(short x, short y) { COORD pos = {x, y}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); }