Advertisement
veto14

questao1.listaed1

May 21st, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 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 mat[81];
  8. char turma;
  9. float p1,p2,p3;
  10. list* next;
  11. }Lista;
  12.  
  13. Lista* new_list(){
  14. return NULL;
  15. }
  16.  
  17. Lista* lst_insereord (Lista* lst, char* nome, char* matricula, char turma, float p1, float p2, float p3){
  18. Lista* new_l;
  19. Lista* ant = NULL;
  20. Lista* p = lst;
  21. while(p != NULL && strcmp(nome,p->nome)>=0){
  22. ant = p;
  23. p = p->next;
  24. }
  25. new_l = (Lista*)malloc(sizeof(Lista));
  26. strcpy(new_l->nome,nome);
  27. strcpy(new_l->mat,matricula);
  28. new_l->p1 = p1;
  29. new_l->p2 = p2;
  30. new_l->p3 = p3;
  31. new_l->turma = turma;
  32. if(ant == NULL){
  33. new_l->next = lst;
  34. lst = new_l;
  35. }
  36. else{
  37. new_l->next = ant->next;
  38. ant->next = new_l;
  39. }
  40. return lst;
  41. }
  42.  
  43. void lst_print(Lista* lst){
  44. Lista* aux;
  45. for(aux = lst; aux!=NULL; aux = aux->next){
  46. printf("Conteudo %s\n", aux->nome);
  47. }
  48. }
  49.  
  50. int lst_void (Lista* lst){
  51. return (lst == NULL);
  52. }
  53.  
  54.  
  55. void lst_destroy(Lista* lst){
  56. Lista* aux = lst;
  57. while(aux != NULL){
  58. Lista* t = aux->next;
  59. free(aux);
  60. aux = t;
  61. }
  62. }
  63.  
  64. int main(void){
  65. Lista* list;
  66. list = new_list();
  67. char nome[81],mat[81];
  68. fgets(nome,81,stdin);
  69. fgets(mat,81,stdin);
  70. list = lst_insereord(list,nome,mat,'1',3.1,3.2,3.3);
  71. fgets(nome,81,stdin);
  72. fgets(mat,81,stdin);
  73. list = lst_insereord(list,nome,mat,'3',4.1,4.9,10.0);
  74. fgets(nome,81,stdin);
  75. fgets(mat,81,stdin);
  76. list = lst_insereord(list,nome,mat,'3',4.1,4.9,10.0);
  77. lst_print(list);
  78. return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement