Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- typedef struct
- {
- char id[9];
- char *name;
- char *lastName;
- char *age;
- char gender;
- char *userName;
- char *pass;
- char *desc;
- int hobbies;
- }user;
- user* ptrUser;
- enum hobbies {BASEBALL = 0,BASKETBALL,BICYCLE,BOOKS,DRAWING,GYM,MOVIES,POETRY};
- //declaring functions
- void login();
- int isExist();
- void loadData();
- void fillUserDetails(int num, char* detail, user* ptrUser);
- void freePointers(user* ptrUser);
- int main()
- {
- int option;
- printf("Welcome!please choose an option\n");
- printf("1 - Log in\n");
- printf("2 - New member\n");
- printf("3 - Exit\n");
- scanf("%d", &option);
- while(option != 3)
- {
- switch (option)
- {
- case 1:
- loadData();
- //login();
- scanf("%d", &option);
- break;
- case 2:
- //newMember();
- break;
- case 3:
- break;
- default:
- printf("Bad choice, please try again\n");
- break;
- }
- }// end of while
- return 0;
- }
- void login()
- {
- char username[15],pass[11];
- int *ptrUser,*ptrPass ;
- printf("Please enter your username:\n");
- fgets(username,15,stdin);
- ptrUser = (int*) malloc(strlen(username) * sizeof(char));
- if (ptrUser == NULL)
- return;
- printf("Please enter your password\n");
- fgets(pass,11,stdin);
- ptrPass = (int*) malloc(strlen(pass) * sizeof(char));
- if (ptrPass == NULL)
- return;
- }
- int isExsist()
- {
- }
- void loadData()
- {
- FILE *fptr;
- fptr = fopen("input.txt", "r");
- char line[300];
- int i;
- char *detail;
- user users[4];
- ptrUser = users;
- if (fptr == NULL)
- return;
- while (fgets(line, 300, fptr))
- {
- detail = strtok(line, ";");
- for (i = 0; i < 9; i++)
- {
- //printf("%s", *(ptrUser->name));
- printf("i before %d\n",i);
- fillUserDetails(i, detail,ptrUser);
- printf("i after %d\n",i);
- detail = strtok(NULL, ";");
- }
- freePointers(ptrUser);
- ptrUser++;
- }
- fclose(fptr);
- //printf("%s", users);
- }
- void fillUserDetails(int num, void* detail, user* ptrUser)
- {
- switch (num)
- {
- case 0:
- strcpy(ptrUser->id, detail);
- break;
- case 1:
- ptrUser->name = (char *)malloc(15 * sizeof(char));
- if (ptrUser->name == NULL)
- printf("bffdbd");
- strcpy(ptrUser->name, detail);
- ptrUser->name = (char*)realloc(ptrUser->name,strlen(ptrUser->name) * sizeof(char) + 1);
- if (ptrUser->name == NULL)
- freePointers(ptrUser);
- break;
- case 2:
- ptrUser->lastName = (char *)malloc(15 * sizeof(char));
- strcpy(ptrUser->lastName, detail);
- ptrUser->lastName = (char*)realloc(ptrUser->lastName, strlen(ptrUser->lastName) * sizeof(char) + 1);
- if (ptrUser->lastName == NULL)
- freePointers(ptrUser);
- break;
- case 3:
- ptrUser->age = (char *)malloc(3 * sizeof(char));
- strcpy(ptrUser->age, detail);
- ptrUser->age = (char*)realloc(ptrUser->age, strlen(ptrUser->age) * sizeof(char) + 1);
- break;
- case 4:
- ptrUser->gender = detail;
- break;
- case 5:
- ptrUser->userName = (char *)malloc(10 * sizeof(char));
- strcpy(ptrUser->userName, detail);
- ptrUser->userName = (char*)realloc(ptrUser->userName, strlen(ptrUser->userName) * sizeof(char) + 1);
- if (ptrUser->userName == NULL)
- freePointers(ptrUser);
- break;
- case 6:
- ptrUser->pass = (char *)malloc(15 * sizeof(char));
- strcpy(ptrUser->pass, detail);
- ptrUser->pass = (char*)realloc(ptrUser->pass, strlen(ptrUser->pass) * sizeof(char) + 1);
- break;
- case 7:
- ptrUser->desc = (char *)malloc(250 * sizeof(char));
- strcpy(ptrUser->desc, detail);
- ptrUser->desc = (char*)realloc(ptrUser->desc, strlen(ptrUser->desc) * sizeof(char) + 1);
- if (ptrUser->desc == NULL)
- freePointers(ptrUser);
- break;
- case 8:
- ptrUser->hobbies = detail;
- }
- }
- void freePointers(user *ptrUser)
- {
- free(ptrUser->name);
- free(ptrUser->lastName);
- free(ptrUser->userName);
- free(ptrUser->desc);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement