Advertisement
Guest User

Untitled

a guest
Dec 30th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.83 KB | None | 0 0
  1.  
  2. #define _CRT_SECURE_NO_WARNINGS
  3.  
  4. #include <stdio.h>
  5. #include <string.h>
  6. #include <stdlib.h>
  7.  
  8.  
  9. typedef struct
  10. {
  11.     char id[9];
  12.     char *name;
  13.     char *lastName;
  14.     char *age;
  15.     char gender;
  16.     char *userName;
  17.     char *pass;
  18.     char *desc;
  19.     int hobbies;
  20. }user;
  21. user* ptrUser;
  22.  
  23. enum hobbies {BASEBALL = 0,BASKETBALL,BICYCLE,BOOKS,DRAWING,GYM,MOVIES,POETRY};
  24.  
  25. //declaring functions
  26. void login();
  27. int isExist();
  28. void loadData();
  29. void fillUserDetails(int num, char* detail, user* ptrUser);
  30. void freePointers(user* ptrUser);
  31.  
  32. int main()
  33. {
  34.  
  35.     int option;
  36.    
  37.     printf("Welcome!please choose an option\n");
  38.     printf("1 - Log in\n");
  39.     printf("2 - New member\n");
  40.     printf("3 - Exit\n");
  41.     scanf("%d", &option);
  42.     while(option != 3)
  43.     {
  44.         switch (option)
  45.         {
  46.         case 1:
  47.             loadData();
  48.             //login();
  49.             scanf("%d", &option);
  50.             break;
  51.         case 2:
  52.             //newMember();
  53.             break;
  54.         case 3:
  55.             break;
  56.         default:
  57.             printf("Bad choice, please try again\n");
  58.             break;
  59.  
  60.         }
  61.  
  62.     }// end of while
  63.  
  64.  
  65.     return 0;
  66. }
  67.  
  68. void login()
  69. {
  70.     char username[15],pass[11];
  71.     int *ptrUser,*ptrPass  ;
  72.     printf("Please enter your username:\n");
  73.     fgets(username,15,stdin);
  74.     ptrUser = (int*) malloc(strlen(username) * sizeof(char));
  75.     if (ptrUser == NULL)
  76.         return;
  77.     printf("Please enter your password\n");
  78.     fgets(pass,11,stdin);
  79.     ptrPass = (int*) malloc(strlen(pass) * sizeof(char));
  80.     if (ptrPass == NULL)
  81.         return;
  82. }
  83.  
  84. int isExsist()
  85. {
  86.  
  87.  
  88. }
  89.  
  90. void loadData()
  91. {
  92.     FILE *fptr;
  93.     fptr = fopen("input.txt", "r");
  94.     char line[300];
  95.     int i;
  96.     char *detail;
  97.     user users[4];
  98.     ptrUser = users;
  99.  
  100.     if (fptr == NULL)
  101.         return;
  102.  
  103.     while (fgets(line, 300, fptr))
  104.     {
  105.         detail = strtok(line, ";");
  106.         for (i = 0; i < 9; i++)
  107.         {
  108.             //printf("%s", *(ptrUser->name));
  109.             printf("i before %d\n",i);
  110.             fillUserDetails(i, detail,ptrUser);
  111.             printf("i after %d\n",i);
  112.             detail = strtok(NULL, ";");
  113.         }
  114.         freePointers(ptrUser);
  115.         ptrUser++;
  116.        
  117.     }
  118.     fclose(fptr);
  119.    
  120.     //printf("%s", users);
  121.  
  122. }
  123. void fillUserDetails(int num, void* detail, user* ptrUser)
  124. {
  125.     switch (num)
  126.     {
  127.     case 0:
  128.         strcpy(ptrUser->id, detail);
  129.         break;
  130.     case 1:
  131.         ptrUser->name = (char *)malloc(15 * sizeof(char));
  132.         if (ptrUser->name == NULL)
  133.             printf("bffdbd");
  134.         strcpy(ptrUser->name, detail);
  135.         ptrUser->name = (char*)realloc(ptrUser->name,strlen(ptrUser->name) * sizeof(char) + 1);
  136.         if (ptrUser->name == NULL)
  137.             freePointers(ptrUser);
  138.         break;
  139.     case 2:
  140.         ptrUser->lastName = (char *)malloc(15 * sizeof(char));
  141.         strcpy(ptrUser->lastName, detail);
  142.         ptrUser->lastName = (char*)realloc(ptrUser->lastName, strlen(ptrUser->lastName) * sizeof(char) + 1);
  143.         if (ptrUser->lastName == NULL)
  144.             freePointers(ptrUser);
  145.         break;
  146.     case 3:
  147.         ptrUser->age = (char *)malloc(3 * sizeof(char));
  148.         strcpy(ptrUser->age, detail);
  149.         ptrUser->age = (char*)realloc(ptrUser->age, strlen(ptrUser->age) * sizeof(char) + 1);
  150.         break;
  151.     case 4:
  152.         ptrUser->gender = detail;
  153.         break;
  154.     case 5:
  155.         ptrUser->userName = (char *)malloc(10 * sizeof(char));
  156.         strcpy(ptrUser->userName, detail);
  157.         ptrUser->userName = (char*)realloc(ptrUser->userName, strlen(ptrUser->userName) * sizeof(char) + 1);
  158.         if (ptrUser->userName == NULL)
  159.             freePointers(ptrUser);
  160.         break;
  161.     case 6:
  162.         ptrUser->pass = (char *)malloc(15 * sizeof(char));
  163.         strcpy(ptrUser->pass, detail);
  164.         ptrUser->pass = (char*)realloc(ptrUser->pass, strlen(ptrUser->pass) * sizeof(char) + 1);
  165.         break;
  166.     case 7:
  167.         ptrUser->desc = (char *)malloc(250 * sizeof(char));
  168.         strcpy(ptrUser->desc, detail);
  169.         ptrUser->desc = (char*)realloc(ptrUser->desc, strlen(ptrUser->desc) * sizeof(char) + 1);
  170.         if (ptrUser->desc == NULL)
  171.             freePointers(ptrUser);
  172.         break;
  173.     case 8:
  174.         ptrUser->hobbies = detail;
  175.    
  176.    
  177.     }
  178. }
  179.  
  180. void freePointers(user *ptrUser)
  181. {
  182.     free(ptrUser->name);
  183.     free(ptrUser->lastName);
  184.     free(ptrUser->userName);
  185.     free(ptrUser->desc);
  186.  
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement