Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct registro_st{ // sequência de objetos do mesmo tipo
  5. char login[50];
  6. char nome[50];
  7. float valor;
  8. struct registro *prox;
  9. } registro;
  10.  
  11. typedef struct nodo_st{
  12. registro dado;
  13. struct nodo *prox;
  14. } nodo;
  15.  
  16. typedef struct Lista_st{
  17. nodo *cabeca;
  18. nodo *cauda;
  19. int tamanho;
  20. } lista;
  21.  
  22.  
  23. nodo* CriarNodo(registro p){
  24.  
  25. nodo* n;
  26. n = (nodo*)malloc(sizeof(nodo));
  27. n->dado = p;
  28. n->prox= NULL;
  29. return n;
  30. }
  31.  
  32. void criarLista(lista *l){
  33. return NULL;
  34. }
  35.  
  36. void insere_ini(lista *l, registro dado){
  37. nodo* novo = (nodo*)malloc(sizeof(nodo));
  38. if(novo=NULL){
  39. return 0; //falta de espaço
  40. };
  41. novo->dado = dado;
  42. novo->prox = l->cauda; //antigo primeiro aponta para o próximo
  43. l->cauda = novo; // novo nodo recebe ponteiro para começo
  44. return novo;
  45.  
  46.  
  47.  
  48. }
  49.  
  50. //FUNÇÕES PARA UTILIZAR NO MAIN
  51.  
  52. void imprime_nomes(nodo* lista){ // função que imprime os valores
  53. nodo* p;
  54. for(p = lista; p != NULL; p = p->prox){
  55. printf("Nome eh: %sn", p->dado->nome);
  56. }
  57. }
  58. void criar_registro(registro *p){
  59. printf("Qual login para registro:n");
  60. scanf("%s", &p->login);
  61. printf("Qual o nome do contato:n");
  62. scanf("%s", &p->nome);
  63. printf("Qual valor para registrar:n");
  64. scanf("%f", &p->valor);
  65. }
  66.  
  67.  
  68. int main(){
  69.  
  70. registro p1_main;
  71. lista p2_main;
  72. nodo p3_main;
  73.  
  74. char escolha;
  75.  
  76. printf("Gostaria de registrar contatos?n");
  77. printf("Digite -->>!! sim!! <<-- para registrar e -->>!! não !!<<-- para sair.n");
  78. scanf("%s", &escolha);
  79.  
  80. criarLista(&p2_main);
  81.  
  82. do {
  83. criar_registro(&p1_main); //poderia usar esta forma alternativa registro *novoRegistro = criar_registro()
  84.  
  85. insere_ini(&p2_main, p1_main);
  86. }
  87.  
  88. while(escolha != "nao");
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement