fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. struct aluno
  6. {
  7. int matricula;
  8. char nome[30];
  9. float n1, n2, n3;
  10. };
  11. typedef struct elemento* Lista;
  12.  
  13. struct elemento
  14. {
  15. struct aluno dadosAlunos;
  16. struct elemento *prox;
  17. };
  18. typedef struct elemento Elem;
  19.  
  20.  
  21.  
  22. void imprime_lista(Lista li){
  23. while (li != NULL)
  24. {
  25. printf("Nome: %s ", li->dadosAlunos.nome /*<--diferente aqui*/);
  26. printf("\nMatricula: %d ", li->dadosAlunos.matricula);
  27. printf("\nN1: %f ", li->dadosAlunos.n1);
  28. printf("\nN2: %f ", li->dadosAlunos.n2);
  29. printf("\nN3: %f ", li->dadosAlunos.n3);
  30.  
  31.  
  32. li = li -> prox;
  33. }
  34. printf("\n");
  35. }
  36.  
  37. int inserir_no_inicio_da_lista (Lista* li, struct aluno al)
  38. {
  39. if (li == NULL)
  40. {
  41. return 0;
  42. }
  43.  
  44. Elem* no = (Elem*) malloc(sizeof(Elem));
  45.  
  46. if (no == NULL)
  47. {
  48. return 0;
  49. }
  50.  
  51. no -> dadosAlunos = al;
  52. no -> prox = (*li);
  53.  
  54. *li = no;
  55.  
  56. return 1;
  57. }
  58.  
  59. int main()
  60. {
  61. int varAux = 0;
  62.  
  63. struct aluno estruturaAlunoAuxiliar;
  64. Lista listaDeAlunos;
  65.  
  66. listaDeAlunos = NULL;
  67.  
  68. estruturaAlunoAuxiliar.matricula = 1;
  69. strcpy(estruturaAlunoAuxiliar.nome, "Thiago Ferreira");
  70. estruturaAlunoAuxiliar.n1 = 7;
  71. estruturaAlunoAuxiliar.n2 = 6;
  72. estruturaAlunoAuxiliar.n3 = 9;
  73.  
  74. varAux = inserir_no_inicio_da_lista (&listaDeAlunos, estruturaAlunoAuxiliar);
  75.  
  76. imprime_lista(listaDeAlunos);
  77.  
  78. return 0;
  79. }
  80.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
Nome: Thiago Ferreira 
Matricula: 1 
N1: 7.000000 
N2: 6.000000 
N3: 9.000000