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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  hola buenas tardes, colegas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: hola buenas tardes, colegas  (Leído 1,770 veces)
LARANARENElol

Desconectado Desconectado

Mensajes: 11



Ver Perfil
hola buenas tardes, colegas
« en: 10 Diciembre 2018, 07:25 am »

quiero ver si me dicen los errores que tengo y que me ayuden a acomodar en orden alfabetico los hoteles, en la parte que les marcare a continuacion, gracias, ya casi lo termino.

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<ctype.h>
  5. #include<locale.h>//Agregue esta libreria
  6. void altas(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n);
  7. void consulta(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n);
  8. void consulta_n(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n);
  9. void modifica(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n);
  10. int buscar(char nom[70][30],int n);
  11. void bajas(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n);
  12.  
  13. int main(){
  14. char opc=' ' ,opc2=' ', nom[70][30],  cui[70][15];
  15. int numh[70][30],numHD[70][30], R[70][30], n=0;
  16. setlocale(LC_ALL,"");//Esto con la libreria que te agregue te permitira usar acentos al imprimir
  17. do{
  18. system("cls");
  19. printf("Menu de opciones\n");
  20. printf(" a- Altas\n");
  21. printf(" b- Consultas\n");
  22. printf(" c- Modificaciones por nombre de hotel\n");
  23. printf(" d- Bajas por nombre de hotel\n");
  24. printf(" e- Salir\n");
  25. printf(" ¿Que opcion desea?\n");
  26. fflush(stdin);
  27. opc=getchar();
  28. opc=tolower(opc);
  29. switch(opc)
  30. {
  31. case 'a':
  32. printf(" REGISTRO\n");
  33. altas(nom,numh,numHD,R,cui, &n);
  34. break;
  35. case 'b':
  36. do
  37. {
  38. printf("Consultas\n");
  39. printf("a- General\n");
  40.        printf("b- Consulta por nombre de Centro Turistico\n");
  41. printf("c- Salir\n");
  42. fflush(stdin);
  43. scanf("%c",&opc2);
  44. switch(opc2)
  45. {
  46. case 'a':
  47. consulta(nom,numh,numHD, R,cui,n);
  48. break;
  49. case 'b':
  50. consulta_n(nom,numh,numHD, R,cui,n);
  51. break;
  52. case 'c':
  53. break;
  54. default:printf("ERROR\n");
  55. }
  56. }while(opc2!='c');
  57. break;
  58.  
  59. case'c':
  60. printf("Modificaciones por nombre de hotel\n");
  61. fflush(stdin);
  62. modifica(nom,numh,numHD,R,cui, n);
  63.  
  64.  
  65. break;
  66. case'd':
  67. printf("Bajas por nombre de hotel\n");
  68.  
  69.  
  70. break;
  71. case'e':
  72. break;
  73. default: printf("Error\n");
  74. }
  75.  
  76.  
  77. }while(opc!='e');
  78. system("pause");
  79. return 0;
  80. }
  81.  
  82. void altas(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n)
  83. {
  84. char salir;
  85. do
  86. {
  87. printf("Ingrese el nombre de su centro turistico\n");
  88. scanf("%s",&nom[*n]);
  89. printf("Ingrese el numero de habitaciones sencillas \n");
  90. fflush(stdin);
  91. scanf("%d",&numh[*n]);
  92. printf("Ingrese el numero de habitaciones dobles\n");
  93. fflush(stdin);
  94. scanf("%d",&numHD[*n]);
  95. printf("Ingrese el numero de restaurantes dentro del centro\n");
  96. fflush(stdin);
  97. scanf("%d",&R[*n]);
  98. printf("En que ciudad se encuentra el centro\n");
  99. fflush(stdin);
  100. gets(cui[*n]);
  101. *n=*n+1;
  102. printf("¿Quieres ingresar otro S/N ?\n");
  103. fflush(stdin);
  104. salir=toupper(getchar());
  105. }while(salir!='N');
  106. }
  107.  
  108. void consulta(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n)
  109. {
  110. do//en esta parte necesito ayuda para acomodar en orden alfabetico porfavor
  111. {
  112. int a,b,aux,j=0;
  113. char aux2[30];
  114. for(a=1; a<nom[n][30]; a++)
  115. for(b=0; b<nom[n][30]-a; b++)
  116. if(strcmp(nom[b],nom[b+1])>0);
  117. {
  118. n++;
  119. aux2[30]=nom[b][30];
  120. nom[b][70]=nom[b+1][70];
  121. nom[b+1][70]=aux2[30];
  122. }
  123. }while(n==70);
  124. {
  125. fflush(stdin);
  126. printf("%s\n",nom[b]);
  127. printf("Numero de habitaciones sencillas: %d\n",numh[b]);
  128. printf("Numero de habitaciones dobles: %d\n",numHD[b]);
  129. printf("Numero de restaurantes dentro del hotel: %d\n",R[x]);
  130. printf("Se encuentra en la cuidad de: %s\n",cui[x]);
  131. }
  132. system("pause");
  133. }
  134.  
  135. void consulta_n(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n){
  136. int x=0,habitot,coinc=0;//Agregue variable coincidencias
  137. char nomb[30];
  138. printf("Da el nombre del centro turistico que desea conocer\n");
  139. fflush(stdin);
  140. gets(nomb);
  141. for(x=0;x<n;x++)
  142. if(strcmp(nomb,nom[x])==0){
  143. coinc++;
  144. printf("Numero de habitaciones sencillas: %d\n",numh[x]);
  145. printf("Numero de habitaciones dobles: %d\n",numHD[x]);
  146. printf("Numero de restaurantes: %d",R[x]);
  147. }
  148. if(coinc==0){ //Si en la busqueda no hay coincidencias valida que ese hotel no existe en el registro
  149. system("cls");
  150. printf("No está registrado.\n");
  151. system("pause");
  152. }
  153. }
  154.  
  155. int buscar(char nom[70][30],int n)
  156. {char nomb[30];
  157. int y,pos=0;
  158. printf("Ingrese nombre del hotel que desea buscar para modificar\n");
  159. fflush(stdin);
  160. scanf("%s",&nomb);
  161. for(y=0;y<n;y++)
  162. if(nomb==nom[y])
  163. {pos=y;
  164. break;
  165. }
  166. if(pos==-1)
  167. puts("No se encontro hotel\n");
  168. return pos;
  169. }
  170.  
  171. void modifica(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n)
  172. {
  173. int p,opc;
  174. p=buscar(nom,n);
  175. if(p!=-1)
  176. {
  177. printf("Datos a modificar\n");
  178. printf("1- Nombre\n");
  179. printf("2- Numero de habitaciones sencillas\n");
  180. printf("3- Numero de habitaciones dobles\n");
  181.    printf("4- Numero de restaurantes\n");
  182. printf("5- Ciudad\n");
  183. printf("6- Salir\n");
  184. scanf("%d",&opc);
  185. switch(opc)
  186. {
  187. case 1:
  188. printf("Da el nuevo nombre\n");
  189. fflush(stdin);
  190. gets(nom[p]);
  191. break;
  192. case 2:
  193. printf("Da el nuevo numero de habitaciones\n");
  194. scanf("%d",&numh[p]);
  195. break;
  196. case 3:
  197. printf("Da el nuevo numero de habitaciones dobles\n");
  198. scanf("%d",&numHD[p]);
  199. break;
  200. case 4:
  201. printf("Da el nuevo numero restaurantes\n");
  202. scanf("%d",&R[p]);
  203. break;
  204. case 5:
  205. printf("Da la nueva cuidad\n");
  206. scanf("%s",&cui[p]);
  207. break;
  208. case 6:
  209. break;
  210. default:printf("ERROR\n");
  211. }
  212.  
  213. }
  214. }
  215. void baja(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n)
  216. {
  217. int *y;
  218. char p;
  219. p=buscar(nom,*n);
  220. if(p!=-1)
  221. {
  222. for(*y=p;*y<*n;*y++)
  223. {
  224. nom[*y]==nom[*y+1];
  225. strcpy(nom[*y],nom[*y+1]);
  226. p[y]=p[y+1];
  227. }
  228. (*n)--;
  229. }
  230. }

gracias, espero que me puedan ayudar



es en esta parte para ser mas espesifico, en este void y lo tengo que acomodar lo que meta en orden alfabetico

Código
  1. void consulta(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n)
  2. {
  3. do//en esta parte necesito ayuda para acomodar en orden alfabetico porfavor
  4. {
  5. int a,b,aux,j=0;
  6. char aux2[30];
  7. for(a=1; a<nom[n][30]; a++)
  8. for(b=0; b<nom[n][30]-a; b++)
  9. if(strcmp(nom[b],nom[b+1])>0);
  10. {
  11. n++;
  12. aux2[30]=nom[b][30];
  13. nom[b][70]=nom[b+1][70];
  14. nom[b+1][70]=aux2[30];
  15. }
  16. }while(n==70);
  17. {
  18. fflush(stdin);
  19. printf("%s\n",nom[b]);
  20. printf("Numero de habitaciones sencillas: %d\n",numh[b]);
  21. printf("Numero de habitaciones dobles: %d\n",numHD[b]);
  22. printf("Numero de restaurantes dentro del hotel: %d\n",R[x]);
  23. printf("Se encuentra en la cuidad de: %s\n",cui[x]);
  24. }
  25. system("pause");
  26. }


« Última modificación: 10 Diciembre 2018, 16:18 pm por Eternal Idol » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: hola buenas tardes, colegas
« Respuesta #1 en: 10 Diciembre 2018, 15:31 pm »

Linea 116, borra el ; al final de la linea.
Lineas 129 y 130, que es la variable x ?

Sugiero que uses mejores nombres para tus variables, si algo cuenta el numero de habitaciones, llamalo numeroHabitaciones, o algo asi, en vez de numh. Mejores nombres sirven para poder entender mejor el programa, especialmente si vas a pedir ayuda en un foro donde necesitas que otros entiendan lo que para ti tal vez es obvio.


« Última modificación: 10 Diciembre 2018, 16:30 pm por CalgaryCorpus » En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hola a todos buenas tardes
Dispositivos Móviles (PDA's, Smartphones, Tablets)
chicopancho 0 2,002 Último mensaje 2 Abril 2011, 02:11 am
por chicopancho
Buenas tardes....
Foro Libre
pedro57 1 1,852 Último mensaje 15 Septiembre 2013, 19:56 pm
por topomanuel
Hola buenas tardes quien me pudiera guiar
Dudas Generales
mago24 4 3,139 Último mensaje 14 Mayo 2015, 17:46 pm
por el-brujo
buenas tardes
Windows
supertusso 3 2,925 Último mensaje 23 Julio 2015, 20:27 pm
por Randomize
Hola buenas tardes me podrian ayudar con in error ? es este
Programación General
Mr.Frost 0 6,381 Último mensaje 21 Diciembre 2022, 15:40 pm
por Mr.Frost
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines