Advertisement
veto14

questao9.listaed1

May 21st, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct list{
  6. char nome[81];
  7. char tel[15];
  8. char cel[15];
  9. char add[101];
  10. list* next;
  11. }Lista;
  12.  
  13. Lista* new_list(){
  14. return NULL;
  15. }
  16.  
  17. Lista* lst_insere (Lista* lst, char* nome,char* tel, char* cel, char* add){
  18. Lista* new_l = (Lista*)malloc(sizeof(Lista));
  19. strcpy(new_l->nome,nome);
  20. strcpy(new_l->tel,tel);
  21. strcpy(new_l->cel,cel);
  22. strcpy(new_l->add,add);
  23. new_l->next = lst;
  24. return new_l;
  25.  
  26. }
  27.  
  28. void lst_print(Lista* lst){
  29. Lista* aux;
  30. for(aux = lst; aux!=NULL; aux = aux->next){
  31. printf("Conteudo %s\n", aux->nome);
  32. }
  33. }
  34.  
  35. int lst_void (Lista* lst){
  36. return (lst == NULL);
  37. }
  38.  
  39. Lista* lst_search (Lista* lst, char* termo){
  40. Lista* search;
  41. for(search = lst; search!=NULL; search = search->next){
  42. if(strcmp(termo,lst->nome) == 0){
  43. return search;
  44. }
  45. }
  46. return NULL;
  47. }
  48.  
  49. Lista* lst_remove (Lista* lst, char* value){
  50. Lista* anterior = NULL;
  51. Lista* aux = lst;
  52. while(aux != NULL && strcmp(value,lst->nome) != 0){
  53. anterior = aux;
  54. aux = aux->next;
  55. }
  56. if(aux == NULL){
  57. return lst;
  58. }
  59. if(anterior == NULL){
  60. lst = aux->next;
  61. }
  62. else{
  63. anterior->next = aux->next;
  64. }
  65. free(aux);
  66. return lst;
  67. }
  68.  
  69. Lista* lst_copy(Lista* lst){
  70. Lista* p;
  71. Lista* nl;
  72. nl = p;
  73. return nl;
  74. }
  75.  
  76. void lst_destroy(Lista* lst){
  77. Lista* aux = lst;
  78. while(aux != NULL){
  79. Lista* t = aux->next;
  80. free(aux);
  81. aux = t;
  82. }
  83. }
  84.  
  85. int main(void){
  86. Lista* list;
  87. Lista* copia;
  88. char nome[81],tel[15],cel[15],add[101];
  89. copia = new_list();
  90. list = new_list();
  91. for(int i=0; i<3; i++){
  92. fgets(nome,81,stdin);
  93. list = lst_insere(list,nome,"15","155","aeho");
  94. }
  95. copia = lst_copy(list);
  96. lst_print(copia);
  97. return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement