Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.11 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_s* 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_s* 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. int menujogador () {
  113.     int opcao_jogador;
  114.     printf ("\n\t   JOGADORES   \n\n");
  115.     printf ("\n\t   1 - CRIAR JOGADOR");
  116.     printf ("\n\t   2 - CONSULTAR JOGADORES");
  117.     scanf ("%d", opcao_jogador);
  118.     return opcao_jogador;
  119. }
  120.  
  121. node_Utilizador_t* criar_conta_Utilizador () {
  122.         printf("\n\t CRIAR CONTA \n\n");
  123.         node_Utilizador_t* node_Utilizador = new_Node_Utilizador();
  124.             printf("\t Insira Nome Completo: ");
  125.             scanf (" %[^\n]%*c", &node_Utilizador->utilizador.nome);
  126.             printf("\n\t Insira um Username: ");
  127.             scanf ("%s", &node_Utilizador->utilizador.username);
  128.             printf("\n\t Insira uma Password: ");
  129.             scanf ("%s", &node_Utilizador->utilizador.password);
  130. }
  131.  
  132. node_Jogador_t* criar_jogador (){
  133.         printf ("\n\t   CRIAR JOGADOR   \n\n");
  134.         node_Jogador_t* node_Jogador = new_Node_Jogador();
  135.             printf("\t Insira Nome Completo: ");
  136.             scanf (" %[^\n]%*c", &node_Jogador->jogador.nome);
  137.             printf("\n\t Insira o numero do Jogador: ");
  138.             scanf (" %[^\n]%*c", &node_Jogador->jogador.numero);
  139.             printf("\n\t Insira a idade do Jogador: ");
  140.             scanf (" %[^\n]%*c", &node_Jogador->jogador.idade);
  141.             printf("\n\t Insira a posicao do Jogador: ");
  142.             scanf (" %[^\n]%*c", &node_Jogador->jogador.posicao);
  143. }
  144.  
  145. node_Utilizador_t* login () {
  146.             printf ("\n\t LOGIN \n\n");
  147.             node_Utilizador_t* node_Utilizador;
  148.             if(!node_Utilizador) printf("\tNome ou password errados\n");
  149.             node_Utilizador = new_Node_Utilizador();
  150.             printf("\n\t Insira um Username: ");
  151.             scanf (" %s", &node_Utilizador->utilizador.username);
  152.             printf("\n\t Insira uma Password: ");
  153.             scanf (" %s", &node_Utilizador->utilizador.password);
  154.             return node_Utilizador;
  155. }
  156.  
  157. int main (void) {
  158.  
  159. list_Utilizador_t* list_Utilizador = new_List_Utilizador();
  160. node_Utilizador_t* node_Utilizador = new_Node_Utilizador();
  161. list_Jogador_t* list_Jogador = new_List_Jogador();
  162. node_Jogador_t* node_Jogador = new_Node_Jogador();
  163.  
  164.  
  165. while (1) {
  166.  
  167.     int opcao = menuinicial();
  168.     switch (opcao)
  169.     {
  170.     case 1:
  171.         system("cls");
  172.         node_Utilizador = criar_conta_Utilizador ();
  173.             criar_Utilizador(list_Utilizador, node_Utilizador);
  174.              break;
  175.     case 2:    
  176.         do{
  177.             system("cls");
  178.             node_Utilizador = login ();
  179.             node_Utilizador = verifica_Utilizador(list_Utilizador,node_Utilizador);
  180.         }while (!node_Utilizador);
  181.             int opcao_jogador = menujogador();
  182.                
  183.                 switch (opcao_jogador) {
  184.                     case 1:
  185.                         system("cls");
  186.                         node_Jogador = criar_Jogador ();
  187.                         criar_Jogador(list_Jogador, node_Jogador);
  188.                         break;
  189.                     case 2:
  190.                         break;
  191.  
  192.                     default:
  193.                         printf ("ATENCAO: Opcao Invalida!");
  194.                         break;
  195.                     }
  196.  
  197.         break;
  198.     default:
  199.         printf ("ATENCAO: Opcao Invalida!");
  200.         break;
  201.         }
  202.     }
  203. return 0;
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement