Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.38 KB | None | 0 0
  1. #ifdef _MSC_VER
  2. #define _CRT_SECURE_NO_WARNINGS
  3. #endif
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <time.h>
  7. #include <string.h>
  8.  
  9. typedef struct Jogador_s {
  10.     char nome [50];
  11.     int numero;
  12.     int idade;
  13.     char posicao [20];
  14. }Jogador_t;
  15.  
  16. typedef struct node_Jogador_s {
  17.     Jogador_t jogador;
  18.     struct node_Jogador* next;
  19. }node_Jogador_t;
  20.  
  21. typedef struct list_Jogador_s {
  22.     node_Jogador_t* head;
  23. }list_Jogador_t;
  24.  
  25. typedef struct Utilizador_s {
  26.     char nome [50];
  27.     char username [20];
  28.     char password[20];
  29.     list_Jogador_t Jogadores;
  30. }Utilizador_t;
  31.  
  32. typedef struct node_Utilizador_s {
  33.     Utilizador_t utilizador;
  34.     struct node_Utilizador* next;
  35. }node_Utilizador_t;
  36.  
  37. typedef struct list_Utilizador_s {
  38.     node_Utilizador_t * head;
  39. }list_Utilizador_t;
  40.  
  41. node_Jogador_t * new_Node_Jogador () {
  42.     node_Jogador_t* node = NULL;
  43.     node = (node_Jogador_t*) malloc (sizeof (node_Jogador_t));
  44.     return (node);
  45. }
  46.  
  47. node_Utilizador_t * new_Node_Utilizador () {
  48.     node_Utilizador_t* node = NULL;
  49.     node = (node_Utilizador_t*) malloc (sizeof (node_Utilizador_t));
  50.     return (node);
  51. }
  52.  
  53. void remove_Node_Utilizador (node_Utilizador_t* node) {
  54.     if (node)
  55.         free (node);
  56. }
  57.  
  58. void remove_Node_Jogador (node_Jogador_t* node) {
  59.     if (node)
  60.         free (node);
  61. }
  62.  
  63. list_Utilizador_t* new_List_Utilizador()
  64. {
  65.     list_Utilizador_t* list;
  66.     list = (list_Utilizador_t *) malloc (sizeof (list_Utilizador_t));
  67.     list->head = NULL;
  68.     return (list);
  69. }
  70.  
  71. list_Jogador_t * new_List_Jogador () {
  72.     list_Jogador_t* list;
  73.     list = (list_Jogador_t *) malloc (sizeof (list_Jogador_t));
  74.     list->head = NULL;
  75.     return (list);
  76. }
  77.  
  78. void criar_Utilizador (list_Utilizador_t* list, node_Utilizador_t* node){
  79.     if (list->head != NULL)
  80.         node->next = list->head;
  81.     else node->next=NULL;
  82.     list->head = node;
  83. }
  84.  
  85. void criar_Jogador (list_Jogador_t* list, node_Jogador_t* node){
  86.     if (list->head != NULL)
  87.         node->next = list->head;
  88.     else node->next=NULL;
  89.     list->head = node;
  90. }
  91.  
  92. node_Utilizador_t* verifica_Utilizador (list_Utilizador_t* list, node_Utilizador_t* node) {
  93.     node_Utilizador_t* node1 = list->head;
  94.     while (node1) {
  95.         if ( strcmp(node1->utilizador.username,node->utilizador.username)==0 && strcmp(node1->utilizador.password,node->utilizador.password)==0){
  96.         break;}
  97.         else{
  98.             node1=node1->next;}
  99.     }
  100.     return (node1);
  101. }
  102.  
  103. int menuinicial () {
  104.     int opcao;
  105.     printf("\n\t Menu\n\n");
  106.     printf("\n\t 1 - CRIAR CONTA");
  107.     printf("\n\t 2 - LOGIN\n\n");
  108.     scanf("%d", &opcao);
  109.     return opcao;
  110. }
  111.  
  112. node_Utilizador_t* criar_conta_Utilizador () {
  113.         printf("\n\t CRIAR CONTA \n\n");
  114.         node_Utilizador_t* node_Utilizador = new_Node_Utilizador();
  115.         printf("\t Insira Nome Completo: ");
  116.             scanf (" %[^\n]%*c", &node_Utilizador->utilizador.nome);
  117.             printf("\n\t Insira um Username: ");
  118.             scanf ("%s", &node_Utilizador->utilizador.username);
  119.             printf("\n\t Insira uma Password: ");
  120.             scanf ("%s", &node_Utilizador->utilizador.password);
  121. }
  122.  
  123. node_Jogador_t* criar_Jogador () {
  124.             printf("\n\t CRIAR JOGADOR \n\n");
  125.         node_Jogador_t* node_Jogador = new_Node_Jogador(); 
  126.             printf("\t Insira Nome Completo: ");
  127.             scanf (" %[^\n]%*c", &node_Jogador->jogador.nome);
  128.             printf("\n\t Insira o numero: ");
  129.             scanf ("%s", &node_Jogador->jogador.numero);
  130.             printf("\n\t Insira uma idade: ");
  131.             scanf ("%s", &node_Jogador->jogador.idade);
  132.             printf("\n\t Insira a posicao: ");
  133.             scanf ("%s", &node_Jogador->jogador.posicao);
  134. }
  135.  
  136. node_Utilizador_t* login () {
  137.             printf ("\n\t LOGIN \n\n");
  138.             node_Utilizador_t* node_Utilizador;
  139.             if(!node_Utilizador) printf("\tNome ou password errados\n");
  140.             node_Utilizador = new_Node_Utilizador();
  141.             printf("\n\t Insira um Username: ");
  142.             scanf (" %s", &node_Utilizador->utilizador.username);
  143.             printf("\n\t Insira uma Password: ");
  144.             scanf (" %s", &node_Utilizador->utilizador.password);
  145.             return node_Utilizador;
  146. }
  147.  
  148. int main (void) {
  149.  
  150. list_Utilizador_t* list_Utilizador = new_List_Utilizador();
  151. node_Utilizador_t* node_Utilizador = new_Node_Utilizador();
  152.  
  153.  
  154. while (1) {
  155.  
  156.     int opcao = menuinicial();
  157.     switch (opcao)
  158.     {
  159.     case 1:
  160.         system("cls");
  161.         node_Utilizador = criar_conta_Utilizador ();
  162.             criar_Utilizador(list_Utilizador, node_Utilizador);
  163.              break;
  164.     case 2:    
  165.         do{
  166.             system("cls");
  167.             node_Utilizador = login ();
  168.             node_Utilizador = verifica_Utilizador(list_Utilizador,node_Utilizador);
  169.         }while (!node_Utilizador);
  170.  
  171.  
  172.         break;
  173.     default:
  174.         break;
  175.         }
  176.     }
  177. return 0;
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement