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 ");
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( ) ;

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

case 5: printf("n Search for Item option n");
//ItemSearch ();
case 6: choice =6;
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);
for( i=0;i<n;i++){
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;

} // end of for loop

}// end else

fclose (gp);

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

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
}// 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;
}// endif

}// end while

} //endif

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