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.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<locale.h>//Agregue esta libreria
void altas(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n);
void consulta(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n);
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);
void modifica(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n);
int buscar(char nom[70][30],int n);
void bajas(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n);
int main(){
char opc=' ' ,opc2=' ', nom[70][30], cui[70][15];
int numh[70][30],numHD[70][30], R[70][30], n=0;
setlocale(LC_ALL
,"");//Esto con la libreria que te agregue te permitira usar acentos al imprimir do{
printf(" c- Modificaciones por nombre de hotel\n"); printf(" d- Bajas por nombre de hotel\n"); printf(" ¿Que opcion desea?\n"); switch(opc)
{
case 'a':
altas(nom,numh,numHD,R,cui, &n);
break;
case 'b':
do
{
printf("b- Consulta por nombre de Centro Turistico\n"); switch(opc2)
{
case 'a':
consulta(nom,numh,numHD, R,cui,n);
break;
case 'b':
consulta_n(nom,numh,numHD, R,cui,n);
break;
case 'c':
break;
}
}while(opc2!='c');
break;
case'c':
printf("Modificaciones por nombre de hotel\n"); modifica(nom,numh,numHD,R,cui, n);
break;
case'd':
printf("Bajas por nombre de hotel\n");
break;
case'e':
break;
}
}while(opc!='e');
return 0;
}
void altas(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n)
{
char salir;
do
{
printf("Ingrese el nombre de su centro turistico\n"); printf("Ingrese el numero de habitaciones sencillas \n"); printf("Ingrese el numero de habitaciones dobles\n"); printf("Ingrese el numero de restaurantes dentro del centro\n"); printf("En que ciudad se encuentra el centro\n"); *n=*n+1;
printf("¿Quieres ingresar otro S/N ?\n"); }while(salir!='N');
}
void consulta(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n)
{
do//en esta parte necesito ayuda para acomodar en orden alfabetico porfavor
{
int a,b,aux,j=0;
char aux2[30];
for(a=1; a<nom[n][30]; a++)
for(b=0; b<nom[n][30]-a; b++)
if(strcmp(nom
[b
],nom
[b
+1])>0); {
n++;
aux2[30]=nom[b][30];
nom[b][70]=nom[b+1][70];
nom[b+1][70]=aux2[30];
}
}while(n==70);
{
printf("Numero de habitaciones sencillas: %d\n",numh
[b
]); printf("Numero de habitaciones dobles: %d\n",numHD
[b
]); printf("Numero de restaurantes dentro del hotel: %d\n",R
[x
]); printf("Se encuentra en la cuidad de: %s\n",cui
[x
]); }
}
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){
int x=0,habitot,coinc=0;//Agregue variable coincidencias
char nomb[30];
printf("Da el nombre del centro turistico que desea conocer\n"); for(x=0;x<n;x++)
coinc++;
printf("Numero de habitaciones sencillas: %d\n",numh
[x
]); printf("Numero de habitaciones dobles: %d\n",numHD
[x
]); printf("Numero de restaurantes: %d",R
[x
]); }
if(coinc==0){ //Si en la busqueda no hay coincidencias valida que ese hotel no existe en el registro
printf("No está registrado.\n"); }
}
int buscar(char nom[70][30],int n)
{char nomb[30];
int y,pos=0;
printf("Ingrese nombre del hotel que desea buscar para modificar\n"); for(y=0;y<n;y++)
if(nomb==nom[y])
{pos=y;
break;
}
if(pos==-1)
puts("No se encontro hotel\n"); return pos;
}
void modifica(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n)
{
int p,opc;
p=buscar(nom,n);
if(p!=-1)
{
printf("Datos a modificar\n"); printf("2- Numero de habitaciones sencillas\n"); printf("3- Numero de habitaciones dobles\n"); printf("4- Numero de restaurantes\n"); switch(opc)
{
case 1:
printf("Da el nuevo nombre\n"); break;
case 2:
printf("Da el nuevo numero de habitaciones\n"); break;
case 3:
printf("Da el nuevo numero de habitaciones dobles\n"); break;
case 4:
printf("Da el nuevo numero restaurantes\n"); break;
case 5:
printf("Da la nueva cuidad\n"); break;
case 6:
break;
}
}
}
void baja(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int *n)
{
int *y;
char p;
p=buscar(nom,*n);
if(p!=-1)
{
for(*y=p;*y<*n;*y++)
{
nom[*y]==nom[*y+1];
p[y]=p[y+1];
}
(*n)--;
}
}
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
void consulta(char nom[70][30],int numh[70][30],int numHD[70][30],int R[70][30], char cui[70][15], int n)
{
do//en esta parte necesito ayuda para acomodar en orden alfabetico porfavor
{
int a,b,aux,j=0;
char aux2[30];
for(a=1; a<nom[n][30]; a++)
for(b=0; b<nom[n][30]-a; b++)
if(strcmp(nom
[b
],nom
[b
+1])>0); {
n++;
aux2[30]=nom[b][30];
nom[b][70]=nom[b+1][70];
nom[b+1][70]=aux2[30];
}
}while(n==70);
{
printf("Numero de habitaciones sencillas: %d\n",numh
[b
]); printf("Numero de habitaciones dobles: %d\n",numHD
[b
]); printf("Numero de restaurantes dentro del hotel: %d\n",R
[x
]); printf("Se encuentra en la cuidad de: %s\n",cui
[x
]); }
}
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.