elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Tipos de triángulos en C en: 3 Mayo 2012, 21:30 pm
Buenas, estoy empezando a darle caña a C como mi primer lenguage.

El problema es: (no me lo plantea nadie, estoy por libre)
A partir de 3 datos recibidos por el usuario (longitus de los lados de un triangulo) determinar que tipo de triangulo se forma.

El programa me funciona pero seguramente habré cometido barbaridades con los goto y tanto "if". Mi idea es conseguir un código eficiente y legible.

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. float a;
  6. float b;
  7. float c;
  8.  
  9. printf( "Introduce el primer lado: " );
  10. scanf( "%f", &a );
  11. printf( "Introduce el tercer lado: " );
  12. scanf( "%f", &b );
  13. printf( "Introduce el segundo lado: " );
  14. scanf( "%f", &c );
  15. printf( "Los lados valen %f, %f y %f \n", a, b, c);
  16. if (a == b && b == c)
  17. {
  18. if (a==0){
  19.  goto notr;
  20.  }
  21. printf("El triangulo es equilatero");
  22. goto end;
  23. notr:
  24. printf("\nLos datos proporcionados no forman un triángulo");
  25. goto end;
  26. }
  27. if (a>b && a>c){
  28. if (a >= (b + c)) goto notr;
  29. printf( "El primer lado dado, %f, es ", a);
  30. if (b*b+c*c==a*a) printf("la hipotenusa, por lo \nque ls triangulo es rectángulo\n");
  31. else if (b == c) printf ("el mayor, y los otros \nson iguales por lo que el triángulo es isóceles\n");
  32. else printf ("el mayor, y el triángulo es escaleno\n");
  33. }
  34. else if (b>c && b>a){
  35. if (b >= (a + c)) goto notr;
  36. printf( "El segundo lado dado, %f, es ", b);
  37. if (a*a+c*c==b*b) printf("la hipotenusa, por lo \nque el triangulo es rectángulo\n");
  38. else if (a == c) printf ("el mayor, y los otros \nson iguales por lo que el triángulo es isóceles\n");
  39. else printf ("el mayor, y el triángulo es escaleno\n");
  40. }
  41. else if (c>b && c>a){
  42. if (c >= (b + a)) goto notr;
  43. printf( "El tercer lado dado, %f, es ", c);
  44. if (b*b+a*a==c*c) printf("la hipotenusa, por lo \nque el triangulo es rectángulo\n");
  45. else if (b == a) printf ("el mayor, y los otros \nson iguales por lo que el triángulo es isóceles\n");
  46. else printf ("el mayor, y el triángulo es escaleno\n");
  47. }
  48. end:
  49. return 0;
  50. }
  51.  
2  Seguridad Informática / Análisis y Diseño de Malware / Controlar troyanos en Linux en: 2 Junio 2010, 17:07 pm
Hola, tengo mi pc con linux y quisiera saber si hay algún troyano ya creado como subseven o poison ivy con los que puedas acceder remotamente a un pc con window. En mi ordenador no funciona el internet con xp y en situaciones como esta jode un poco xD. Uso Ubuntu lucid
3  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / Mapas gratis en el móvil en: 30 Mayo 2010, 12:31 pm
Alguien sabe de una aplicación para el móvil que sirva como google maps? pero sin tener que pagar la conexión a internet, es decir, que los mapas esten en el móvil. Mi móvil usa J2ME. Buscando por la web lo encontre pero para argentina o mexico
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines