| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
hera24
Registrado: 20 Jun 2010 Mensajes: 14
| Publicado: 22/09/2010 5:11 pm | | | Título: Cargar una matriz en un registro |
| Hola quisiera saber como hago para cargar una matriz en un registro:
yo hice lo siguiente:
#include <stdio.h> #include <conio.h> #include <string.h>
struct registro { int codh, Plazas[10][7]; char nombre[50];
}; main() { registro reg; int I,i,j,h;
printf("Ingrese la cantidad de hoteles"); scanf("%d",&h); for(I=0;I<h;I++) { printf("\nIngrese los datos del registro: %d", I); printf("\nCodigo del Hotel: "); scanf("%d",®.codh); _flushall(); printf("\n Nombre del hotel: "); gets(reg.nombre);
/* Aqui cargo la matriz*/
printf("\nIngrese las plazas: "); _flushall();
for(i=0;i<10;i++) { _flushall(); for(j=0;j<7;j++) { _flushall(); printf("\nPlazas[%d][%d]= "); scanf("%d",®.Plazas[i][j]); } } } getch(); }
pero cuando ejecuto el programa en la posicion del elemento en ves de aparecerme lo que debe valer i y j me sale una serie de numeros:
Espero me hayan entendido. Saludos |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 6586 Ubicación: Mexico
| Publicado: 23/09/2010 9:47 am | | | Título: |
| Te sale asi porque en la llamada a printf olvidaste indicar el valor de esas dos variables:
| Código: | printf("\nPlazas[%d][%d]= "); /* faltan */ |
Aparte de eso el programa tiene muchas deficiencias como el uso de conio, la definicion de main, el uso de extensiones, nombres de variables, etc.
El programa corregido (C estandar) es:
| Código: | #include <stdio.h> #include <stdlib.h>
#define LONG_MAX_LINEA 50
struct registro { int cp; int plaza[3][3]; char nombre[50]; };
int main(void) { struct registro reg; int num_hoteles; int i; int j; int ch; printf("Numero de hoteles: "); fflush(stdout); if (scanf("%d", &num_hoteles) != 1 || num_hoteles < 1) return EXIT_FAILURE; /* Descartamos el resto de la linea */ while ((ch = getchar()) != EOF && ch != '\n') ; printf("Nombre del hotel: "); fflush(stdout); fgets(reg.nombre, LONG_MAX_LINEA, stdin); printf("Codigo del Hotel: "); fflush(stdout); scanf("%d", ®.cp); puts("Ingrese las plazas:"); for (i = 0; i < 3; i++){ for(j = 0; j < 3; j++) { printf("Plaza[%d][%d]: ", i, j); fflush(stdout); scanf("%d", ®.plaza[i][j]); } } return EXIT_SUCCESS; } |
Aparte de eso el programa al parecer debe procesar una lista de hoteles (almacenados en un array de estructuras) pero eso deberias dejarlo para despues solo cuando este ya funcione correctamente con un hotel.
Un saludo |
| | Volver arriba | |  | hera24
Registrado: 20 Jun 2010 Mensajes: 14
| Publicado: 23/10/2010 7:03 pm | | | Título: |
| | problema resuelto!. muchas gracias! |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |