Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
422 changes: 214 additions & 208 deletions BEI/Eastern CinePlex/admin.c

Large diffs are not rendered by default.

62 changes: 31 additions & 31 deletions BEI/Eastern CinePlex/extra.h
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
#include <stdio.h>
#include <string.h>

// Details of movies

void pattern()
{
for (int i = 0; i < 3; i++)
{
printf("\n");
}
for (int i = 0; i < 50; i++)
{
printf(".");
}
for (int i = 0; i < 3; i++)
{
printf("\n");
}
}

// Choice of authentication: interface generation
int first_choice(void)
{
pattern();
printf("\tWELCOME TO Eastern CinePlex\n\tPLEASE SELECT...\n\t1) ADMIN LOGIN\n\t2) USER REGISTRATION\n\t3) USER LOGIN\n\t4) EXIT SYSTEM");
pattern();
printf("Enter your choice : ");
int a;
scanf("%d", &a);
return a;
#include <stdio.h>
#include <string.h>
// Details of movies
void pattern()
{
for (int i = 0; i < 3; i++)
{
printf("\n");
}
for (int i = 0; i < 50; i++)
{
printf(".");
}
for (int i = 0; i < 3; i++)
{
printf("\n");
}
}
// Choice of authentication: interface generation
int first_choice(void)
{
pattern();
printf("\tWELCOME TO Eastern CinePlex\n\tPLEASE SELECT...\n\t1) ADMIN LOGIN\n\t2) USER REGISTRATION\n\t3) USER LOGIN\n\t4) EXIT SYSTEM");
pattern();
printf("Enter your choice : ");
int a;
scanf("%d", &a);
return a;
}
79 changes: 79 additions & 0 deletions BEI/Eastern CinePlex/file-handeling.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Writess movies to file if the movies are not initially in the file i.e default movies are loaded into the file.
void initializeMoviesFile() {
FILE *fp = fopen("movies.txt", "w");
if (fp == NULL) {
printf("Error opening file.\n");
return;
}

int numMovies = 5; // Number of default movies
struct movie default_movies[5] = {
{"Avengers: Endgame", 2, 180, 28, "April", "action, drama", "Russo Brothers", {0}, 60},
{"Inception", 5, 148, 29, "April", "Sci-fi, adventure", "Christopher Nolan", {0}, 60},
{"FightClub", 8, 139, 29, "April", "Drama", "David Fincher", {0}, 60},
{"Tumbbad", 6, 104, 28, "April", "Fantasy, Horror, Drama", "Rahi Anil Barve", {0}, 60},
{"Whiplash", 2, 106, 30, "April", "Drama, Music", "Damien Cazelle", {0}, 60}
};

fwrite(&numMovies, sizeof(numMovies), 1, fp); // Write number of movies
fwrite(default_movies, sizeof(struct movie), numMovies, fp); // Write default movies data
fclose(fp);
}

// Saves movies into the file.
int saveMoviesToFile(struct movie film[], int numMovies)
{
FILE *fp = fopen("movies.txt", "w");
if (fp == NULL)
{
printf("\tError opening file.\n");
return 1;
}
fwrite(&numMovies, sizeof(numMovies), 1, fp); // Write number of movies
fwrite(film, sizeof(struct movie), numMovies, fp); // Write movies data
fclose(fp);
return 0;
}

// Loads movie from the file.
int loadMoviesFromFile(struct movie film[], int *numMovies)
{
FILE *fp = fopen("movies.txt", "r");
if (fp == NULL) {
printf("\tError opening file.\n");
return 1;
}
fread(numMovies, sizeof(*numMovies), 1, fp); // Read number of movies
fread(film, sizeof(struct movie), *numMovies, fp); // Read movies data
fclose(fp);
return 0;
}


int saveReservationToFile(struct reservation reserve[], int reservationCount)
{
FILE *fp = fopen("reserve.txt", "w");
if (fp == NULL)
{
printf("\tError opening file.\n");
return 1;
}
fwrite(&reservationCount, sizeof(reservationCount), 1, fp); // Writes number of reservation.
fwrite(reserve, sizeof(struct reservation), reservationCount, fp);
fclose(fp);
return 0;
}

int loadReservationFromFile(struct reservation reserve[], int *reservationCount)
{
FILE *fp = fopen("reserve.txt", "r");
if (fp == NULL)
{
printf("\tError opening file.\n");
return 1;
}
fread(reservationCount, sizeof(*reservationCount), 1, fp);
fread(reserve, sizeof(struct reservation), *reservationCount, fp);
fclose(fp);
return 0;
}
224 changes: 112 additions & 112 deletions BEI/Eastern CinePlex/login.c
Original file line number Diff line number Diff line change
@@ -1,113 +1,113 @@
#define MAX_USERS 100
#define MAX_USERNAME_LENGTH 50
#define MAX_PASSWORD_LENGTH 50

struct User
{
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
};

struct User users[MAX_USERS];
int userCount = 0;

void saveUsersToFile()
{
FILE *file = fopen("users.txt", "w");
if (file == NULL)
{
printf("Error opening file.\n");
return;
}

for (int i = 0; i < userCount; i++)
{
fprintf(file, "\n%s %s", users[i].username, users[i].password);
}

fclose(file);
}

void loadUsersFromFile()
{
FILE *file = fopen("users.txt", "r");
if (file == NULL)
{
printf("No existing users found.\n");
return;
}

while (fscanf(file, "%s %s", users[userCount].username, users[userCount].password) == 2)
{
userCount++;
}

fclose(file);
}


int registerUser()
{
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];

pattern();
printf("\tWELCOME TO REGISTRATION PAGE\n");
printf("\tENTER USERNAME: ");
scanf("%s", username);
printf("\tENTER PASSWORD: ");
scanf("%s", password);

if (userCount >= MAX_USERS)
{
printf("\tCANNOT REGISTER MORE USERS.\n");
main();
return 0;
}

for (int i = 0; i < userCount; i++)
{
if (strcmp(users[i].username, username) == 0)
{
printf("\tUSERNAME ALREADY EXISTS.PLEASE CHOOSE A DIFFERENT ONE.\n");
main();
return 0;
}
}

strcpy(users[userCount].username, username);
strcpy(users[userCount].password, password);
userCount++;
saveUsersToFile();
printf("\tUSER REGISTERED SUCCESSFULLY.\n");
main();
return 1;
}

int loginUser()
{
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];

loadUsersFromFile();
pattern();
printf("\tWELCOME TO LOGIN PAGE\n");
printf("\tENTER USERNAME: ");
scanf("%s", username);
printf("\tENTER PASSWORD: ");
scanf("%s", password);

for (int i = 0; i < userCount; i++)
{
if (strcmp(users[i].username, username) == 0 && strcmp(users[i].password, password) == 0)
{
printf("\n\tLOGIN SUCCESSSFUL\n");
user_interface(username);
return 0;
}
}

printf("\tINVALID USERNAME OR PASSWORD.\n");
main();
return 0;
#define MAX_USERS 100
#define MAX_USERNAME_LENGTH 50
#define MAX_PASSWORD_LENGTH 50
struct User
{
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
};
struct User users[MAX_USERS];
int userCount = 0;
void saveUsersToFile()
{
FILE *file = fopen("users.txt", "w");
if (file == NULL)
{
printf("Error opening file.\n");
return;
}
for (int i = 0; i < userCount; i++)
{
fprintf(file, "\n%s %s", users[i].username, users[i].password);
}
fclose(file);
}
void loadUsersFromFile()
{
FILE *file = fopen("users.txt", "r");
if (file == NULL)
{
printf("No existing users found.\n");
return;
}
while (fscanf(file, "%s %s", users[userCount].username, users[userCount].password) == 2)
{
userCount++;
}
fclose(file);
}
int registerUser()
{
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
pattern();
printf("\tWELCOME TO REGISTRATION PAGE\n");
printf("\tENTER USERNAME: ");
scanf("%s", username);
printf("\tENTER PASSWORD: ");
scanf("%s", password);
if (userCount >= MAX_USERS)
{
printf("\tCANNOT REGISTER MORE USERS.\n");
main();
return 0;
}
for (int i = 0; i < userCount; i++)
{
if (strcmp(users[i].username, username) == 0)
{
printf("\tUSERNAME ALREADY EXISTS.PLEASE CHOOSE A DIFFERENT ONE.\n");
main();
return 0;
}
}
strcpy(users[userCount].username, username);
strcpy(users[userCount].password, password);
userCount++;
saveUsersToFile();
printf("\tUSER REGISTERED SUCCESSFULLY.\n");
main();
return 1;
}
int loginUser()
{
char username[MAX_USERNAME_LENGTH];
char password[MAX_PASSWORD_LENGTH];
loadUsersFromFile();
pattern();
printf("\tWELCOME TO LOGIN PAGE\n");
printf("\tENTER USERNAME: ");
scanf("%s", username);
printf("\tENTER PASSWORD: ");
scanf("%s", password);
for (int i = 0; i < userCount; i++)
{
if (strcmp(users[i].username, username) == 0 && strcmp(users[i].password, password) == 0)
{
printf("\n\tLOGIN SUCCESSSFUL\n");
user_interface(username);
return 0;
}
}
printf("\tINVALID USERNAME OR PASSWORD.\n");
main();
return 0;
}
Loading