SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Arsys en Lunes 25 de Agosto de 2003, 16:17
-
Este es el programa en cuestión:
/* 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
-
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:
-
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:
-
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: