Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int findSizeOfFile(FILE *file_reader) {
- char holder, size = 0;
- int status = fscanf(file_reader, "%c", &holder);
- for (int i = 0; status != EOF; i++) {
- if (holder == '\n')
- size++;
- status = fscanf(file_reader, "%c", &holder);
- if (status == EOF)
- size++;
- }
- fclose(file_reader);
- return size;
- }
- void readWordFromFile(FILE *file_reader, char list_arr[][100]) {
- char holder;
- int status = 0;
- for (int i = 0; status!=EOF; i++) {
- status = fscanf(file_reader, "%c", &holder);
- for (int j = 0; holder!='\n'; j++) {
- list_arr[i][j] = holder;
- status = fscanf(file_reader, "%c", &holder);
- if (status == EOF)
- break;
- }
- }
- fclose(file_reader);
- }
- void displayArray(char arr[][100], int size) {
- for (int i = 0; i < size; i++) {
- printf("%s\n", arr[i]);
- }
- }
- void menu(char user_arr[], char pass_arr[]) {
- int error=0;
- char holder;
- printf("\n---------------------------\nWELCOME TO THE DATABASE OF PENTAGON\n");
- printf("---------------------------\nUsername: ");
- scanf("%s", user_arr);
- holder = '*';
- do {
- for (int i = 0; holder != '\0'; i++) {
- holder = user_arr[i];
- if (((holder >= 48 && holder <= 57) || (holder >= 65 && holder <= 90)) || holder == '\0')
- error = 0;
- else {
- error = 1;
- break;
- }
- }
- if (error == 1) {
- holder = '*';
- printf("\nInput can consist only of capital letters and numerals. Please enter an input accordingly: ");
- scanf("%s", user_arr);
- }
- } while (error == 1);
- printf("---------------------------\nPassword: ");
- scanf("%s", pass_arr);
- holder = '*';
- do {
- for (int i = 0; holder != '\0'; i++) {
- holder = pass_arr[i];
- if (((holder >= 48 && holder <= 57) || (holder >= 65 && holder <= 90)) || holder == '\0')
- error = 0;
- else {
- error = 1;
- break;
- }
- }
- if (error == 1) {
- holder = '*';
- printf("\nInput can consist only of capital letters and numerals. Please enter an input accordingly: ");
- scanf("%s", pass_arr);
- }
- } while (error == 1);
- }
- int findSize(char arr[]) {
- char holder = '*';
- int size = 0;
- for (int i = 0; arr[i] != '\0'; i++)
- size++;
- return size;
- }
- int isEqual(char input_arr[], char list_arr[], int input_size, int list_size) {
- if (input_size != list_size)
- return 0;
- for (int i = 0; i < input_size; i++) {
- if (input_arr[i] != list_arr[i])
- return 0;
- }
- return 1;
- }
- int main() {
- FILE *user_reader = fopen("Users.txt", "r");
- FILE *password_reader = fopen("Passwords.txt", "r");
- char users[100][100] = {}, passwords[100][100] = {};
- char username[100] = {}, password[100] = {};
- int orderNumber;
- readWordFromFile(user_reader, users);
- readWordFromFile(password_reader, passwords);
- user_reader = fopen("Users.txt", "r");
- int sizeOfUsers = findSizeOfFile(user_reader);
- password_reader = fopen("Passwords.txt", "r");
- int sizeOfPasswords = findSizeOfFile(user_reader);
- do {
- int i;
- menu(username, password);
- for (i = 0; i < sizeOfUsers; i++) {
- if (isEqual(username, users[i], findSize(username), findSize(users[i])) == 1) {
- orderNumber = i;
- break;
- }
- else
- orderNumber = -1;
- }
- if (orderNumber != -1) {
- if (isEqual(password, passwords[i], findSize(password), findSize(passwords[i])) == 1)
- printf("---------------------------\n\nYou're now (somehow) logged in to Pentagon, great job\n");
- else
- printf("(!)\n\nPassword is not correct\n");
- }
- else
- printf("\n(?)\nUsername not found\n");
- } while (orderNumber == -1);
- return 0;
- }
Add Comment
Please, Sign In to add comment