fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct Paciente{
  6. char nome[50];
  7. char cpf[50];
  8. char sexo[20];
  9. char sintomas[500];
  10. int telefone;
  11. int idade;
  12. int codi;
  13. int urg;
  14. struct Paciente *prox;
  15. }paciente;
  16.  
  17. typedef struct Arvore{
  18. struct Paciente *No;
  19. struct Arvore *Esq;
  20. struct Arvore *Dir;
  21. }arvore;
  22.  
  23. void adicionar(arvore **Arv, paciente *pac){
  24. arvore *temp = NULL;
  25. if (*Arv == NULL){
  26. temp = (arvore*)malloc(sizeof(arvore));
  27. temp->Esq = NULL;
  28. temp->Dir = NULL;
  29. temp->No = pac;
  30. *Arv = temp;
  31. }
  32. else {
  33. if (pac->urg < ((*Arv)->No->urg)){
  34. adicionar(&((*Arv)->Esq), pac);
  35. }
  36. else{
  37. adicionar(&((*Arv)->Dir), pac);
  38. }
  39. }
  40. }
  41.  
  42. // Em Ordem (Do menor pro maior)
  43. void Mostrar(arvore *Arv){
  44. if(Arv != NULL){
  45. Mostrar(Arv->Esq);
  46. printf("Nome: %s\nCPF: %s\nSexo: %s\nIdade: %d\nTelefone: %d\nSintomas: %s\nUrgencia: %d\nCódigo: %d\n", Arv->No->nome, Arv->No->cpf, Arv->No->sexo, Arv->No->idade, Arv->No->telefone, Arv->No->sintomas, Arv->No->urg, Arv->No->codi);
  47. Mostrar(Arv->Dir);
  48. }
  49. }
  50.  
  51. int main(){
  52. arvore *Arv = NULL;
  53. paciente pc;
  54. strcpy(pc.nome, "Carlos");
  55. strcpy(pc.cpf, "127.452.381-83");
  56. strcpy(pc.sexo, "m");
  57. strcpy(pc.sintomas, "tosse");
  58. pc.idade = 28;
  59. pc.telefone = 12345678;
  60. pc.codi = 1;
  61. pc.urg = 1;
  62.  
  63. paciente pc2;
  64. strcpy(pc2.nome, "Ana");
  65. strcpy(pc2.cpf, "128.452.381-83");
  66. strcpy(pc2.sexo, "f");
  67. strcpy(pc2.sintomas, "dor de cabeça");
  68. pc2.idade = 25;
  69. pc2.telefone = 912345678;
  70. pc2.codi = 2;
  71. pc2.urg = 2;
  72.  
  73. adicionar(&Arv, &pc);
  74. adicionar(&Arv, &pc2);
  75. Mostrar(Arv);
  76.  
  77. return 0;
  78. }
  79.  
Success #stdin #stdout 0s 4540KB
stdin
Standard input is empty
stdout
Nome: Carlos
CPF: 127.452.381-83
Sexo: m
Idade: 28
Telefone: 12345678
Sintomas: tosse
Urgencia: 1
Código: 1
Nome: Ana
CPF: 128.452.381-83
Sexo: f
Idade: 25
Telefone: 912345678
Sintomas: dor de cabeça
Urgencia: 2
Código: 2