/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Cargar una matriz en un registro

 
      Índice del Foro elrincondelc.com -> Dev-C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
hera24



Registrado: 20 Jun 2010
Mensajes: 14

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 23/10/2010 7:03 pm
Título:

problema resuelto!. muchas gracias!
Volver arriba
      Índice del Foro elrincondelc.com -> Dev-C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com