#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
char FilmArray[100][50];
char Film[50], Mask[50];
int r, numberoffilms=0; // You had taken modulo 49 what if less than 49 films are there,I have taken modulo numberofilms
bool PlayAgain();
void GenerateFilm();
void MaskFilm();
int main()
{
char array[50];
bool answer;
FILE *films;
films
= fopen("filmtitles.txt", "r"); if(films == NULL){
printf("\n ************* ERROR *************\n"); printf("\n \"filmtitles.txt\" cannot be opened.\n"); printf("\n PROGRAM TERMINATED\n"); }
while(fgets(array
, sizeof array
, films
) != NULL
){ strcpy(FilmArray
[numberoffilms
], array
); // see how I use strcpy numberoffilms++; // Instead of i numberoffilms
}
printf("\n ************ WELCOME TO MY FILM GENIE GAME ************\n\n");
do{
printf(" Hit ENTER to generate a random film!\n");
GenerateFilm();
MaskFilm();
printf("%s\n",Film
); // printing the film and mask in each random generation case
}while(1); // runs infinitely can change if you want to ask to Hit Enter for a specific number of times
return 0;
}
void GenerateFilm(){
int r
= rand() % numberoffilms
; // used numbeoffilms strcpy(Film
, FilmArray
[r
]); // see how I use strcpy , see use of strcpy on c++ reference site }
void MaskFilm(){
int i;
for(i=0; i<50; i++){
if((Film[i] >= 'a' && Film[i] <= 'z') || (Film[i] >= 'A' && Film[i] <= 'Z') || (Film[i] >= '0' && Film[i] <= '9')){
Mask[i] = '*';
}
else if(Film[i] == '.'){
Mask[i] = '.';
}
else{
Mask[i] = ' ';
}
}
}