• Miércoles 6 de Noviembre de 2024, 19:31

Autor Tema:  Re: Problemas con un for  (Leído 1331 veces)

Arsys

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Problemas con un for
« en: Lunes 25 de Agosto de 2003, 16:17 »
0
Este es el programa en cuestión:

 
Citar
/* Este programa pide el numero de habitaciones de una casa y posteriormente
pide las dimensiones (en metros cuadrados) de cada habitación, para calcular
después los metros cuadrados totales de la casa */

#include <stdio.h>

int main(int argv, char **argc)

{  
  int habitaciones, m2, i;
 
  printf("Introduzca el numero de habitaciones: ");
  scanf("%d", &habitaciones);
 
  for(i=1; i<=habitaciones; i++);
  {
    printf("nIntroduzca las dimensiones de la habitacion %d en metros cuadrados: ", i);
    scanf("%d", &m2);
  }
 
  printf("Los metros cuadrados totales son %dnn", m2);
 
  system("pause");
}
   


Pues bien, al ejecutar el programa en lugar de sustituir el especificador de formato %d por el número i del for, me lo sustituye por el numero que se introduce de habitaciones + 1.

Es decir, que si io le digo que el numero de habitaciones es 5, después cuando pide los metros cuadrados me los pide de la habitación 6.

A ver si a alguien se le ocurre por que puede ser, porque io he estado dándole vueltas y no ha habido manera de entender porque hace eso . . .  :ayuda:

Saludos

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Problemas con un for
« Respuesta #1 en: Lunes 25 de Agosto de 2003, 17:05 »
0
Hola amigo, bueno, no es mucho dell tiempo en que dispongo en este momento, asi que te pondre el codigo que he copiado de aqui y he mejorado, este codigo funciona a la perfeccion...lo he compilado con el Borland C++ 3.1. Bueno Saludos y mas tarde paso a explicarte.




#include <stdio.h>
#include <conio.h> // para el uso de getch();

int main(int argv, char **argc)
{
int habitaciones, m2, i, mtotales=0;     //para metros totales;

printf("Introduzca el numero de habitaciones: ");
scanf("%d", &habitaciones);

for(i=1; i <= habitaciones; i++)
{
printf("nIntroduzca las dimensiones de la habitacion %d en metros cuadrados: ", i);
scanf("%d", &m2);
mtotales = mtotales + m2; // Aqui sumo los metros cuad.
}

printf("Los metros cuadrados totales son %dnn", mtotales);

getch();      // getch para la pausa
//system("pause");
}
:guitar:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

Arsys

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Problemas con un for
« Respuesta #2 en: Lunes 25 de Agosto de 2003, 17:43 »
0
Cierto, funciona perfectamente.

Además ya he encontrado donde estaba el fallo del for, se me había colado un punto y coma, lo extraño es que el compilador no haya avisado ni nada . . . :think:

De todas formas seguía estando mal porque el resultado final no estaba bien, cosa que también has corregido, muchas gracias :good:

Saludos :hippi:

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Problemas con un for
« Respuesta #3 en: Lunes 25 de Agosto de 2003, 23:38 »
0
Hola, bueno, me alegro que hayas encontrado los errores de tu codigo, yo entre para explicarte los errores que habian, pero bueno....Cualquier cosa que necesites me avisas, SALUDOS y SUERTE. :guitar:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»