Autor
|
Tema: [C] Teorema de Pitágoras (Leído 20,939 veces)
|
STANHMAL
Desconectado
Mensajes: 107
ςταηhmαl - hηαfε
|
Holas Esta aburrido así que decidí hacer esta pequeña aplicación, supongo que no tocara explicarla puesto que todo el mundo la conoce /************************************ * Solución al Teorema de Pitágoras * ************************************ * Creado por STANHMAL * ************************************/ #include <stdio.h> #include <math.h> #include <stdlib.h> enum stan {continua}; int main() { int x; double c, c2, C, C2, h, h2; enum stan hmal; printf("\n **************************************\n"); printf(" * Solución al Teorema de Pitágoras *\n"); printf(" **************************************\n\n"); hmal = continua; while (hmal == continua) { printf("\n1. Para hallar un cateto.\n"); printf("2. Para hallar la hipotenusa.\n3. Para salir.\n"); if (x == 1) { printf("Introduzca el valor de un cateto: "); printf("Introduzca el valor de la hipotenusa: "); c2 = c * c; h2 = h * h; printf("El cateto tiene un valor de: %f\n", C ); printf("\nDesea continuar o salir.\n1. continuar 2. salir "); if (x == 1){ hmal = continua; } else if (x == 2) { } } else if (x == 2) { printf("Introduzca el valor del cateto opuesto: "); printf("Introduzca el valor del cateto adyacente: "); c2 = c * c; C2 = C * C; printf("El valor de la hipotenusa es: %f\n", h ); printf("\nDesea continuar o salir.\n1. continuar 2. salir "); if (x == 1){ hmal = continua; } else if (x == 2) { } } else if (x == 3) { } else { printf("Error, opción no definida.\n"); } } return 0; }
Se que se puede acortar el code, pero bueno, es mientras aprendo bien C espero criticas constructivas ^^ $4!u2
|
|
« Última modificación: 7 Julio 2010, 15:25 pm por STANHMAL »
|
En línea
|
Power Metal vs ReggaetonQue es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
"Se que se puede acortar el code" +1 Acortalo lo mas que puedas y ahi si te hago alguna critica... Saludos...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
STANHMAL
Desconectado
Mensajes: 107
ςταηhmαl - hηαfε
|
...
Ya ando pensó como acortarlo bastante, haber como me va. $4!u2
|
|
|
En línea
|
Power Metal vs ReggaetonQue es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Tal vez debieras limpiar el buffer de entrada. Usar fflush(stdout). Y no hace falta que uses exit(0), con el return 0 bastaba.
|
|
|
En línea
|
|
|
|
Ari Slash
|
el buffer de entrada es fflush(stdin) xD
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
el buffer de entrada es fflush(stdin) xD
Sin comentarios.
|
|
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
Leo, el bufer de entrada es stdin. El de salida es stdout. fflush solo se puede utilizar con bufers de salida, para obligar a que se vacien, por ejemplo cuando hay un bufer asociado a un fichero de salida, y se quiere escribir la informacion del bufer en el fichero antes de que este completo... fflush(stdin), funciona solo bajo windows. Al aplicar fflush a cualquier flujo que no sea de salida, el comportamiento queda indefinido. Revisa este post de Littlehorse. ¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Leo, el bufer de entrada es stdin. El de salida es stdout. fflush solo se puede utilizar con bufers de salida, para obligar a que se vacien, por ejemplo cuando hay un bufer asociado a un fichero de salida, y se quiere escribir la informacion del bufer en el fichero antes de que este completo... fflush(stdin), funciona solo bajo windows. Al aplicar fflush a cualquier flujo que no sea de salida, el comportamiento queda indefinido. Revisa este post de Littlehorse. ¡Saludos! Tal vez debieras limpiar el buffer de entrada. Usar fflush(stdout). Y no hace falta que uses exit(0), con el return 0 bastaba.
Lo de "Usar fflush(stdout)" no tiene nada que ver con la primera línea, es por eso que está en una segunda línea. Yo sé que el buffer de entrada es stdin y sé también que fflush() con un buffer de entrada da como resultado un comporamiento indefinido en algunos compiladores. La segunda recomendación no tiene nada que ver con la primera.
|
|
|
En línea
|
|
|
|
globsharp
Desconectado
Mensajes: 84
No me mires
|
Estaría interesante aligerar el main repartiendo la funcionalidad entre diferentes procedimientos, normalmente el main solo debería encargarse de invocar a dichos procedimientos
|
|
|
En línea
|
Duérmete
|
|
|
STANHMAL
Desconectado
Mensajes: 107
ςταηhmαl - hηαfε
|
ya acorte un poco el código, a ver que tal me quedo. Y no hace falta que uses exit(0), con el return 0 bastaba.
te refieres a reemplazar el exit por el return? porque si es así, lo probé y no sirvió. y con respecto al flash fflush, bueno, no lo entiendo muy bien. $4!u2
|
|
|
En línea
|
Power Metal vs ReggaetonQue es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red
|
|
|
|
|