Code:
#include<stdio.h>
#include<stdlib.h>
struct Movies
{
int Movie_Year;
char Movie_Name[100],Movie_Genre[50],Movie_Language[50],Actor_Name[100];
};
void Menu();
void Add_Movie();
void Search_Movie();
void Full_Movie_List();
void Edit_Movie();
void EXIT();
int main()
{
Menu();
return 0;
}
void Menu()
{
int SELECT;
do
{
printf("\nMAIN_MENU:\n");
printf("\t\t1.ADD MOVIE\n\t\t2.SEARCH MOVIE\n\t\t3.FULL MOVIE LIST\n\t\t4.EDIT MOVIE\n\t\t5.EXIT");
printf("\n\nSELECT:");
scanf("%d",&SELECT);
if (SELECT==1)
{
Add_Movie();
}
else if(SELECT==2)
{
Search_Movie();
}
else if(SELECT==3)
{
Full_Movie_List();
}
else if(SELECT==4)
{
Edit_Movie();
}
else if(SELECT==5)
{
system("cls");
printf("\n\n\n\t\t\t\tGOOD BYE\n\n\n\n\n");
system("pause");
system("cls");
}
else
{
system("cls");
printf("\n\n\n\aINVALID INPUT\nPLEASE TRY AGAIN\a\n\n\n\n\n");
}
} while(SELECT!=5);
}
void Add_Movie()
{
struct Movies INFO; //declare a structure variable
FILE *pfile; //FILE pointer
pfile=fopen("zero_requiem.txt","ab");
if (pfile!=NULL)
{
printf("\t\t\tMovie Name\t\t\n\n");
printf("\nENTER Movie Name:");
fflush(stdin);
gets(INFO.Movie_Name);
printf("\nENTER Genre:");
fflush(stdin);
gets(INFO.Movie_Genre);
printf("\nENTER Language:");
fflush(stdin);
gets(INFO.Movie_Language);
printf("\nENTER Actor Name:");
fflush(stdin);
gets(INFO.Actor_Name);
printf("\nENTER Year:");
scanf("%d",&INFO.Movie_Year);
fwrite(&INFO,sizeof(INFO),1,pfile);
fclose(pfile);
}
else //NULL means file not opened successfully
{
printf("\nCould not open file\n");
}
system("pause");
system("cls");
}
void Search_Movie()
{
struct Movies INFO;
char target[100];
int flag=0;
FILE *pfile; //FILE pointer
pfile=fopen("zero_requiem.txt","rb");
if (pfile!=NULL)
{
printf("\nEnter name of movie to find");
scanf("%s",&target);
fflush(stdin);
do
{
fread(&INFO,sizeof(INFO),1,pfile);
if(!feof(pfile));
{
if(strcmp(target,INFO.Movie_Name)==0)
printf("\nRecord found");
printf("Movie Name%s Movie Genre%s Movie Year%s Movie Language %s Actor Name",INFO.Movie_Name,INFO.Movie_Genre,INFO.Movie_Language,INFO.Movie_Year,INFO.Actor_Name);
flag=1;
break;
}
}while ( fread(&INFO,sizeof(INFO),1,pfile) == 1 );
}fclose(pfile);
if(flag==0)
{
printf("\n\n Match not found");
}
}
void Full_Movie_List()
{
struct Movies INFO; //declare a structure variable
FILE *pfile;
pfile=fopen("zero_requiem.txt","rb");
if (pfile!=NULL)
{
printf("%.20s%.20s%.20s%.20s%s","Movie Name", "Movie Genre", "Movie Language", "Movie Year", "Actor Name");
do
{
fread(&INFO,sizeof(INFO),1,pfile);
if( fread(&INFO,sizeof(INFO),1,pfile) == 1 );
{
printf("%.20s%.20s%.20s%.20s%s","Movie Name", "Movie Genre", "Movie Language", "Movie Year", "Actor Name");
}
}while( fread(&INFO,sizeof(INFO),1,pfile) == 1 );
fclose(pfile);
}
else
{
printf("ERROR");
}
}
void Edit_Movie()
{
struct Movies INFO;
char target;
FILE *ptr=fopen("zero_requiem.txt","rb");
FILE *ptemp=fopen("temp.txt","wb");
if(ptr != NULL && ptemp != NULL)
{
printf("Enter Name: ");
fflush(stdin);
scanf("%s",&target);
do
{
fread(&INFO,sizeof(INFO),1,ptr);
if(!feof(ptr))
{
if(strcmp(target, INFO.Movie_Name) == 0)
{
scanf("%s",&INFO.Movie_Name);
}
fwrite(&INFO,sizeof(INFO),1,ptemp);
}
}while(!feof(ptr));
}fclose(ptr);
fclose(ptemp);
remove("zero_requiem.txt");
rename("temp.txt","zero_requiem.txt");
}
void EXIT()
{
}