Introducir bucle [PC]

Miren, estoy empezando a aprender c, y yo solo por mi cuenta se me a ocurrido hacer un programa muy sencillito, tu pones los años que tienes y despues escribes dentro de cuantos años te gustaria saber tu edad, y te los suma y te da los resultados.

El código es este:

/* Programa para calcular tu edad */
#include

main()

{
float Mas, Tuedad;

printf("Cuanta edad tendrias dentro de x años \n");
printf("Tu edad \n");
scanf("%f", &Tuedad);
printf("Dentro de cuantos años");
scanf("%f", &Mas);
Tuedad= +Tuedad +Mas;
printf("Tu edad seria= %f", Tuedad);
}


entonces yo como se usar un poko las palibs de haber programado con la ds y se usan bucles intente meter un bucle while para k no s me cerrara, pero al compilar me da error, como puedo meter ese bucle???
ademas no e llegao a esa parte cn el libro en el k studio.
gracias y salu2
Ese programa que has escrito tiene un pequeño error.

Por otro lado no veo para qué usar float en vez de un int (incluso algo mas pequeño)

Un saludo.
esk he empezado hace poko y en el libro solo voy x el capi 2, no se casi nada(por no decir nada) de c.
x cierto, k error?

salu2
Lo del bucle seria:

while (1)

{

//Codigo

}

Asi no se cerraria nunaca hasta hacer un break dentro del bucle. Tambien en vez de uno puedes poner

while (variable<3) {...}

Y sumarle 1 a la variable cada vez ke se acaba el codigo del bucle..


Respecto al error ke dice Fox, aparte de usar variables float para almacenar un valor ke podemos valorar como entero (ya ke no pondras tengo 20, 5 años o dentro de 6,7 años) por lo ke no sera decimal. Asi puedes usar variables integrer o hasta variables de tipo short ya ke no hace falta almacenar grandes numeros.
Por otra ladola sententencia:

Tuedad= +Tuedad +Mas;

Puede ke te de error y sea mas correcto poner:

Tuedad = Tuedad+Mas;

O podemos podemos poner tambien:

Tuedad += Mas; (ke seria igual ke la sentencia anterior)


Espero haverte ayudado.


Salu2
Sin nos dices los errores ke te da el compilador y ke compilador estas usando te podremos ayudar mejor..


Salu2
compilador: DEVc++
Yo pongo el codigo asi:

/* Programa para calcular tu edad */
#include

main()

while(1)

{
float Mas, Tuedad;

printf("Cuanta edad tendrias dentro de x años \n");
printf("Tu edad \n");
scanf("%f", &Tuedad);
printf("Dentro de cuantos años");
scanf("%f", &Mas);
Tuedad= +Tuedad +Mas;
printf("Tu edad seria= %f", Tuedad);
}


y me dice noseke de } before "token"
salu2
teniendo en cuenta que es viernes tarde y q ya estoy algo más q empanao, creo q simplemente sería así

Zestt escribió:/* Programa para calcular tu edad */
#include

main(){

while(1)

{
float Mas, Tuedad;

printf("Cuanta edad tendrias dentro de x años \n");
printf("Tu edad \n");
scanf("%f", &Tuedad);
printf("Dentro de cuantos años");
scanf("%f", &Mas);
Tuedad= +Tuedad +Mas;
printf("Tu edad seria= %f", Tuedad);
}

}


A mis ojos faltaban esos corchetillos ahí, y me lo compila con el Dev C++ PERO, al menos en mi XP las aplicaciones de ms2 se me cierran solas y éste programa no llego a verlo funcionar. A ver si alguien más despierto arroja algo de luz... Saludos!
zestt escribió:teniendo en cuenta que es viernes tarde y q ya estoy algo más q empanao, creo q simplemente sería así



A mis ojos faltaban esos corchetillos ahí, y me lo compila con el Dev C++ PERO, al menos en mi XP las aplicaciones de ms2 se me cierran solas y éste programa no llego a verlo funcionar. A ver si alguien más despierto arroja algo de luz... Saludos!


Si lo ejecutas directamente pasa eso, pero puede hacer varias cosas:

- O ejecutarlo desde una consola de Windows abierta previamente.

- Incluir al final del codigo la funcion system(); (esta en la libreria estandar de C) con la ke puedes pasarle comandos al S.O correspondiente. Con lo cual en Windows podrias hacer un

system("pause");

Y al acabar el programa te saldria el resultado del comando pause, ke no es mas ke:

Presione una tecla para continuar...

(y apretas cualkier tecla)

- Pero tendrias ke modificar el codigo para correrlo en Windows ya ke pause no existe en Linux como comando.
Por lo ke lo mejor es escribir un getchar(); (tambien en stdio) y asi podras pausar la aplicacion hasta ke apretes cualkier tecla. (Y escribir una "instruccion" comola ke sale al hacer Pause.


Salu2
mellon escribió:
Si lo ejecutas directamente pasa eso, pero puede hacer varias cosas:

- O ejecutarlo desde una consola de Windows abierta previamente.

- Incluir al final del codigo la funcion system(); (esta en la libreria estandar de C) con la ke puedes pasarle comandos al S.O correspondiente. Con lo cual en Windows podrias hacer un

system("pause");

Y al acabar el programa te saldria el resultado del comando pause, ke no es mas ke:

Presione una tecla para continuar...

(y apretas cualkier tecla)

- Pero tendrias ke modificar el codigo para correrlo en Windows ya ke pause no existe en Linux como comando.
Por lo ke lo mejor es escribir un getchar(); (tambien en stdio) y asi podras pausar la aplicacion hasta ke apretes cualkier tecla. (Y escribir una "instruccion" comola ke sale al hacer Pause.


Salu2


Aparte de lo dicho, tambien puedes crear un fichero *.bat y meter dentro:

aplicacion.exe
pause


Yo suelo utilizar esta forma a menudo para hacer "make" sin tener que abrir una consola o ejecutar aplicaciones de consola que necesitan parametros, de forma automatizada en Windows :)
10 respuestas