Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.85 KB | None | 0 0
  1.  
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <conio.h>
  6. #include <string.h>
  7.  
  8. struct no {
  9.  
  10. char aluno[30];
  11. float g1,g2,mf;
  12. struct no *prox;
  13. };
  14.  
  15. int main(){
  16.  
  17. struct no *inicio, *ult, *aux, *p;
  18.  
  19. inicio= (struct no*)malloc(sizeof(struct no));
  20. if(inicio){
  21. strcpy(inicio->aluno,"Carlos");
  22. inicio->g1=7;
  23. inicio->g2=6;
  24. inicio->mf=(inicio->g1+inicio->g2*2)/3;
  25. inicio->prox=NULL;
  26. ult=inicio;
  27.  
  28. };
  29. aux= (struct no*)malloc(sizeof(struct no));
  30. if(aux){
  31. strcpy(aux->aluno,"Joao");
  32. aux->g1=6;
  33. aux->g2=5;
  34. aux->mf=(inicio->g1+inicio->g2*2)/3;
  35. aux->prox=NULL;
  36. ult->prox=aux;
  37. ult=aux;
  38. };
  39. aux=(struct no*)malloc(sizeof(struct no));
  40. if(inicio){
  41. strcpy(aux->aluno,"Ana");
  42. aux->g1=3;
  43. aux->g2=2;
  44. aux->mf=(inicio->g1+inicio->g2*2)/3;
  45. aux->prox=NULL;
  46. ult->prox=aux;
  47. ult=aux;
  48. };
  49. aux=(struct no*)malloc(sizeof(struct no));
  50. if(inicio){
  51. strcpy(aux->aluno,"Pedro");
  52. aux->g1=8;
  53. aux->g2=7;
  54. aux->mf=(inicio->g1+inicio->g2*2)/3;
  55. aux->prox=NULL;
  56. ult->prox=aux;
  57. ult=aux;
  58. }
  59. //Imprimir as listas
  60. aux=inicio;
  61. while(aux){
  62. printf("///////////////////////////////////////");
  63. printf("\n Nome do aluno %s",aux->aluno);
  64. printf("\n Primeira nota do aluno %.2f",aux->g1);
  65. printf("\n Segunda nota do aluno %.2f", aux->g2);
  66. printf("\n Notal final do aluno %.2f", aux->mf);
  67. aux=aux->prox;
  68. printf("///////////////////////////////////////");
  69. }
  70. //Excluindo nodo fazendo comparação de string
  71. aux=inicio;
  72. while(aux && strcmp(aux->aluno,"Ana")){
  73. p=aux;
  74. aux=aux->prox;
  75. };
  76. printf("\n%s",aux->aluno);
  77. printf("\n%s",p->aluno);
  78. p->prox=aux->prox;
  79. free(aux);
  80. //Mostrando infomações depois de ter apagado o nodo
  81.  
  82. aux=inicio;
  83. while(aux){
  84. printf("\n Nome do aluno %s",aux->aluno);
  85. printf("\n Primeira nota do aluno %.2f",aux->g1);
  86. printf("\n Segunda nota do aluno %.2f", aux->g2);
  87. printf("\n Notal final do aluno %.2f", aux->mf);
  88. aux=aux->prox;
  89. }
  90. aux=inicio;
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement