elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Ayuda con programa para examen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Ayuda con programa para examen  (Leído 886 veces)
Wally_Heber73

Desconectado Desconectado

Mensajes: 1


"I can't defeat Airman..."


Ver Perfil
[C++] Ayuda con programa para examen
« en: 20 Enero 2017, 23:48 »

Hola, soy nuevo en el foro  ;D por lo que no se muy bien como es esto :huh: como dice el titulo queria pedir ayuda con un programa que debo hacer para un examen, en el debo hacer lo siguiente:


Un medico almacena los siguientes datos de sus pacientes:

  • Nombre
  • Telefono
  • Direccion
  • Alergias

1. Trabajar el ejercicio con Funciones.
2. Ingresar los datos hasta que el usuario decida terminar (Ojo: a efectos de la dimension del vector(Array) puede haber como maximo 100 pacientes).
3. Imprimir el listado de la informacion ingresada ordenada por nombre.
4. Listar los pacientes con alergias (Usar Puntero para ello).
5. Ingresar una letra y mostrar todos los pacientes cuyo nombre comience con ella.

Código
  1. /*declaracion de preprocesador*/
  2. #include<stdio.h>
  3. #include<string.h>
  4. #include<stdlib.h>
  5. #include<iostream>
  6. #define I 99
  7. #define J 21
  8. using namespace std;
  9.  
  10. /*declaracion de variables globales*/
  11. int m,n,o,p,q,r,s,t,cont,opcion;
  12. char letra;
  13.  
  14. /*declaracion de la estructura 'datos'*/
  15. struct datos
  16. {
  17. char nombre[20]; /*nombre del paciente, se pueden escribir hasta 20 caracteres*/
  18. int telefono; /*telefono del paciente*/
  19. char direccion[20]; /*direccion del paciente*/
  20. char alergias[20]; /*alergias del paciente*/
  21. };
  22.  
  23. /*declaracion del la funcion void 'ingresar_letra'*/
  24. void ingresar_letra(datos *dat3[I])
  25. {
  26. do /*hacer*/
  27. {
  28. if (letra==dat3[m]->nombre[0]) /*si la letra ingresada es igual a la inicial del nombre del paciente...*/
  29. {
  30. printf("%20s %d %20s %20s\n",dat3[m]->nombre, dat3[m]->telefono, dat3[m]->direccion, dat3[m]->alergias); /*imprimir datos del paciente*/
  31. m=m+1;
  32. }
  33. else
  34. {
  35. m=m+1;
  36. }
  37. }while(m=0 && m<=I); /*mientras 'm' sea igual a '0' y sea igual o menor a 'I', es decir 99*/
  38. if(dat3[I]->nombre[0]!=letra) /*si ningun nombre coincide con la letra ingresada...*/
  39. {
  40. printf("No hay pacientes cuyo nombre empiece con la letra que ingreso."); /*imprimir mensaje indicando que no coinciden los pacientes*/
  41. }
  42. return;
  43. }
  44. /*fin funcion 'ingresar_letra'*/
  45.  
  46. /*declaracion de la funcion void 'listar_alergias'*/
  47. void listar_alergias(datos *dat4[I])
  48. {
  49. for(n=0;n<=I;n++)
  50. {
  51. if(dat4[n]->alergias!='n') /*si el miembro 'alergias' en dat4[] es diferente a 'no'... ERROR*/
  52. {
  53. printf("%20s %d %20s %20s\n",dat4[n]->nombre, dat4[n]->telefono, dat4[n]->direccion, dat4[n]->alergias); /*imprimir datos del paciente*/
  54. }
  55. }
  56. return;
  57. }
  58.  
  59. /*funcion main*/
  60. int main()
  61. {
  62. datos dat1[I],temp[I]; /*declaracion de variables de estructuras locales*/
  63. printf("Pulse Enter para iniciar");
  64. getchar();
  65. system("cls");
  66.    printf("INGRESOS:\n");
  67. for(o=0;o<=I;o++)
  68.   {
  69. printf("Ingrese nombre del paciente:");
  70. scanf("%s",dat1[o].nombre);
  71. printf("Ingrese Numero de Telefono:");
  72. scanf("%d",&dat1[o].telefono);
  73. printf("Ingrese Direccion del paciente:");
  74. scanf("%20s",dat1[o].direccion);
  75. printf("¿El paciente tiene alergias? Ingrese <no> si no las tiene:");
  76. scanf("%20s",dat1[o].alergias);
  77. printf("¿Quieres ingresar otro paciente?<1=si/0=no>");
  78. scanf("%d",&cont);
  79. if(cont==0) /*si 'cont' es igual a '0'...*/
  80. {
  81. o=1000; /*la variable 'o' tendra el valor de '1000', saliendo asi del bucle*/
  82. }
  83. }
  84. printf("Espere por favor mientras se ordena la lista...\n"); /*ordenamiento de burbuja*/
  85. for (p=0;p<=I;p++)
  86. {
  87. for (q=0;q<=I;q++)
  88. {
  89. if (dat1[q].nombre > dat1[q+1].nombre) /*si el nombre actual es alfabeticamente mayor que el siguiente...*/
  90. {
  91. temp[q] = dat1[q];
  92. dat1[q] = dat1[q+1];
  93. dat1[q+1] = temp[q];
  94. }
  95. }
  96. }
  97. getchar();
  98. printf("Esta es la lista de todos los pacientes:\n");
  99. printf("Nombre: Telefono: Direccion: Alergias:\n");
  100. for(r=0;r<=I;r++)
  101. {
  102. /*imprimir los datos de todos los pacientes*/
  103. printf("%s %d %s %s\n",dat1[r].nombre, dat1[r].telefono, dat1[r].direccion, dat1[r].alergias);
  104. }
  105. getchar();
  106. menu: /*regreso a un menu mediante 'goto'*/
  107. system("cls");
  108. printf("¿Que quiere hacer?\n");
  109. printf("====================================\n");
  110. printf("1.Listar pacientes con alergias\n");
  111. printf("2.Buscar pacientes por letra\n");
  112. printf("0.Salir\n");
  113. printf("====================================\n");
  114. scanf("%d",&opcion);
  115. switch(opcion)
  116. {
  117. case 1:
  118. {
  119. printf("LISTADO DE PACIENTES CON ALERGIAS:\n");
  120. for(s=0;s<=A;s++)
  121. {
  122. printf("Nombre: Telefono: Direccion: Alergias:\n");
  123. cout<<listar_alergias(dat1[s])<<endl; /*ERROR*/
  124. }
  125. getchar;
  126. goto menu; /*volver al menu*/
  127. }
  128. case 2:
  129. {
  130. printf("Ingrese una Letra:");
  131. scanf("%s",&letra);
  132. printf("\nPacientes con la letra: <%s> \n",letra);
  133. for(t=0;t<=B;t++)
  134. {
  135. cout<<ingresar_letra(dat2[t])<<endl; /*ERROR*/
  136. }
  137. getchar();
  138. goto menu;
  139. }
  140. case 0:
  141. {
  142. return 0;
  143. goto fin; /*ir al final del codigo y terminar el programa*/
  144. }
  145. default:
  146. {
  147. printf("Opcion Invalida.");
  148. getchar();
  149. goto menu;
  150. }
  151. }
  152. fin:
  153. return 0;
  154. }/*cierra main*/
  155.  

Estos son los errores que aparecen en el compilador (g++):
Citar
LineaColumnaMensaje
In function 'void listar_alergias(datos**)':
4725[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]
In function 'int main()':
12534[Error] cannot convert 'datos' to 'datos**' for argument '1' to 'void listar_alergias(datos**)'
13733[Error] cannot convert 'datos' to 'datos**' for argument '1' to 'void ingresar_letra(datos**)'

Mas o menos se lo que significan los errores, pero no se como resolverlos, si el codigo es ilegible, solo avisenme y tratare de ayudar con eso.

Desde ya muchas gracias  ;D


« Última modificación: 21 Enero 2017, 00:25 por engel lex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con mi EXAMEN de COMANDOS en gnu-linux
Scripting
beholdthe 8 6,298 Último mensaje 25 Enero 2011, 00:21
por Foxy Rider
Examen de Ensamblador [Ayuda]
ASM
Alpha1020 7 9,359 Último mensaje 6 Noviembre 2009, 17:34
por Eternal Idol
Ayuda !!Urgente!! es para un examen de final del me que viene! Porfavor
.NET (C#, VB.NET, ASP)
Brian1511 4 1,363 Último mensaje 17 Noviembre 2012, 01:31
por Brian1511
ayuda, Ejercicio para examen!
Programación C/C++
edu__87 1 933 Último mensaje 15 Febrero 2013, 19:43
por durasno
Ayuda! necesito hacer un código para un examen
Programación C/C++
chucho3116 1 778 Último mensaje 14 Mayo 2015, 03:55
por iUDEX
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines