What is the problem with this code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define SIZE 5

struct Grocery {
char itemName (20);
int qty;
float unitPrice;
float totalPrice;
};

struct Grocery shop;

int menu ()
{
int op;

printf(" n1. Add purchase item to file ");
printf(" n2. Delete purchase item");
printf(" n3. Display purchase items");
printf(" n4. Update purchase items ");
printf(" n5. Search for Item ");
printf(" n6. Quit programn");

printf(" nEnter choice ");
scanf("%d",&op);
return op;

}

void purchaseItem(void);
void DeleteItem (void);
void DisplayAll (void);
void UpdateItem (void);
void ItemSearch (void);
void copyFile();

int main()
{
int choice=0;
//char ch (10);

do {
choice = menu( ) ;
switch (choice) {
case 1: printf("n Purchase item option n");
purchaseItem( ) ;

break;
case 2: printf("n Delete item option n");
//DeleteItem();
break;
case 3: printf("n Display All items optionn");
DisplayAll ();
break;
case 4: printf("n Update purchase item option n");

break;
case 5: printf("n Search for Item option n");
//ItemSearch ();
break;
case 6: choice =6;
break;
default: printf("n INVALID Inputn Enter values between 1-6nn ");
}

} while ( choice != 6 );// end while

return 0;
}

void purchaseItem()
{
FILE *gp;
int i,n;

gp = fopen ("Sales.txt","a");
if ( gp==NULL){
printf(" Error opening Sales.txt filen");
}
else {

printf(" n Enter the number of items you want to enter:");
scanf("%d", &n);
fflush(stdin);
for( i=0;i<n;i++){
fflush(stdin);
printf( " n Enter the details of item %d n", i+1);
printf(" n Enter the name of the item:");
gets(shop.itemName); // scanf("%(^n)s",shop.itemName);
printf("n Enter the item quantity:");
scanf("%d", &shop.qty);
printf("n Enter the unit price:");
scanf("%f", &shop.unitPrice);
shop.totalPrice = shop.unitPrice*shop.qty;
fprintf(gp,"%stt%dtt%ftt%fn",shop.itemName,shop.qty,shop.unitPrice,shop.totalPrice);

} // end of for loop

}// end else

fclose (gp);
}

void DisplayAll (){
FILE *p;
struct Grocery s;
p=fopen("Sales.txt","r");
if( p==NULL){
printf(" nError opening Sales.txt file ");
}
else {

fflush(stdin);
while (fscanf(p,"%stt%dtt%ftt%fn",s.itemName,&s.qty,&s.unitPrice,&s.totalPrice)!=EOF)
{
printf("%stt%dtt%0.2ftt%0.2fn",s.itemName,s.qty,s.unitPrice,s.totalPrice) ;
} // end of the while
system("pause");
system("cls");
}// end else
fclose (p);
}

void ItemSearch (void)
{
FILE *fp;
struct Grocery f;
char searchItem (20);
int found =0;

fp=fopen( " Sales.txt","r");
if( p==NULL){
printf(" nError opening Sales.txt file ");
}
else {
fflush( stdin);
printf("n Search for an itemn Enter item name:");
scanf("%s", searchItem);
while (fscanf(p,"%stt%dtt%ftt%fn",s.itemName,&s.qty,&s.unitPrice,&s.totalPrice)!=EOF)
{
if (strcmp( searchItem,f.itemName) ==0){
printf( " n %s Item found n", searchItem);
printf( " nName of Item t Quantity t Unit Price t total Pricen");
printf( "%s t %dt %0.2f t %0.2fn", f.itemName, f.qty,f.unitPrice, f.totalPrice);
found = 1;
system("pause");
system("cls");
}// endif

}// end while

} //endif

if ( found == 0 ){
printf( " %s Item NOT found", searchItem);
}
}