Autor
|
Tema: Estructuras (Leído 3,398 veces)
|
Eli5Nocive
Desconectado
Mensajes: 1
https://bestpornsites.cc/pornxxx
|
El programa deja de funcionar con la funcion imprimir_mercado, y no entiendo por que sucede esto Código #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct Mercados_Municipales{ char nombre[20]; char direccion[50]; char telefono[11]; }Mercados; Mercados leer_mercado(void); void imprimir_mercado(Mercados mercado); int main(){ Mercados mercados[20]; Mercados mercado; char desicion; int i, cantidad = 0, numero; printf("\n\t\tMercados Municipales de Ciudad Guayana\n\n"); while(cantidad < 20){ do{ printf("%d Mercados Municipales. Pasamos a otro? [S/N] ", cantidad); desicion = getchar(); // Leemos un caracter while(getchar() == EOF); // Necesario para se coma el \n }while(desicion != 'S' && desicion != 's' && desicion != 'N' && desicion != 'n'); if(desicion == 'N' || desicion == 'n') break; // Si elige N, se sale mercado = leer_mercado(); mercados[cantidad++] = mercado; } printf("\nMostrar informacion del Mercado: "); scanf("%d", numero); imprimir_mercado(mercados[numero]); return 0; } Mercados leer_mercado(){ Mercados mercado; printf("\nNombre: "); gets(mercado.nombre); printf("Direccion: "); gets(mercado.direccion); printf("Telefono: "); gets(mercado.telefono); printf("\n"); return mercado; } void imprimir_mercado(Mercados mercado){ printf("\n\n\t\t%s", mercado.nombre); printf("\nDireccion: &s\tTelefono: %s\n", mercado.direccion, mercado.telefono); }
|
|
|
En línea
|
|
|
|
profinet
Desconectado
Mensajes: 31
|
Varias observaciones:
1. Evita el uso de gets() debido a que no verifica el tamaño de la entrada, lo que podría resultar en un desbordamiento del búfer.
2. Has omitido el uso del operador & al utilizar scanf() para la variable número. Debería ser scanf("%d", &numero);
3. En la función imprimir_mercado(), has utilizado &s en lugar de %s. Esto es incorrecto y debe corregirse a %s.
4. He optado por utilizar un puntero para la estructura Mercados en la función leer_mercado(). Esta elección es más adecuada cuando se necesita devolver una variable del struct.
EI: codigo removido, no hagas tareas ajenas por favor.
|
|
« Última modificación: 28 Diciembre 2023, 10:47 am por Eternal Idol »
|
En línea
|
Don't shy away from the terminal; embrace it! In the GNU world, everything is a file.
|
|
|
Atika
Desconectado
Mensajes: 6
|
Error en scanf: Cuando se recibe el número para mostrar la información de un mercado en específico, falta el & antes de la variable numero en la función scanf.
Error de formato en printf: En la función imprimir_mercado, tienes un error en el formato del printf. Estás usando &s en lugar de %s para imprimir la dirección y falta un %s para imprimir el nombre.
Función gets obsoleta: La función gets es obsoleta y puede ser peligrosa debido a problemas de desbordamiento de búfer. Se recomienda usar fgets en su lugar.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Estructuras.....
Programación C/C++
|
Rodri
|
1
|
2,785
|
6 Octubre 2011, 19:46 pm
por satu
|
|
|
Estructuras en C
Programación C/C++
|
Redisteon
|
1
|
1,845
|
10 Agosto 2013, 10:39 am
por Eternal Idol
|
|
|
[C] Estructuras
Programación C/C++
|
yuna88
|
6
|
2,680
|
16 Marzo 2014, 14:29 pm
por rir3760
|
|
|
Estructuras dentro de Estructuras (Visual Basic 2013)
.NET (C#, VB.NET, ASP)
|
Tazmania40
|
0
|
1,896
|
3 Marzo 2017, 21:44 pm
por Tazmania40
|
|
|
Uso de Estructuras dentro de Estructuras en C
Programación C/C++
|
Ghio97
|
0
|
1,879
|
27 Agosto 2019, 05:44 am
por Ghio97
|
|