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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Error en cabecera de funciones?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Error en cabecera de funciones?  (Leído 4,834 veces)
bdoX

Desconectado Desconectado

Mensajes: 35



Ver Perfil
Re: ¿Error en cabecera de funciones?
« Respuesta #10 en: 18 Diciembre 2011, 15:47 pm »

Código
  1. #include <stdio.h>
  2.  
  3. int EsPrimo (int numero);
  4. //int EsPrimo (int); // también se puede de esta forma
  5.  
  6. int main ( )
  7. {
  8.    int numero;
  9.  
  10.    printf("Dame un numero: ");
  11.    scanf("%d", &numero);
  12.  
  13.    if (EsPrimo (numero) == 1)
  14.        printf("Es un numero primo");
  15.  
  16.    else
  17.        printf("No es un numero primo");
  18.  
  19.    setbuf (stdin, NULL);
  20.    getchar ( );
  21.    return 0;
  22.  
  23. }
  24.  
  25. int EsPrimo (int numero)
  26. {
  27.    int i, divisor, v;
  28.  
  29.    v = 1;
  30.    i = (numero - 1);
  31.  
  32.    do
  33.    {
  34.        divisor = (numero % i);
  35.        i--;
  36.    } while ((i > 1) && (divisor != 0));
  37.  
  38.    if ( divisor == 0 )
  39.        v = 0;
  40.  
  41.    return v;
  42. }
  43.  


« Última modificación: 18 Diciembre 2011, 15:53 pm por bdoX » En línea

Constantinoplero


Desconectado Desconectado

Mensajes: 346


Veni, vidi, vici


Ver Perfil WWW
Re: ¿Error en cabecera de funciones?
« Respuesta #11 en: 18 Diciembre 2011, 20:55 pm »

¿Y alguno sabe por qué el argumento por referencia (perimetro) no me sale bien al ejecutar el programa? Compila pero es obvio que ese no es el perímetro...

Siento preguntar tanto pero estoy teniendo problemas para entender esto.

Código
  1. #include <stdio.h>
  2.  
  3. unsigned calcular_area(unsigned base, unsigned lado, unsigned &perimetro);
  4.  
  5. int main()
  6.  
  7. {
  8.    unsigned lado, base, p;
  9.  
  10.    printf("Dime la base de tu rectangulo: ");
  11.    scanf("%u", &base);
  12.  
  13.    printf("Dame el lado de tu rectangulo: ");
  14.    scanf("%u", &lado);
  15.  
  16.  
  17.  
  18.    printf("Tu area es: %u y su perimetro %u", (calcular_area(base, lado, perimetro)), p);
  19. }
  20.  
  21. unsigned calcular_area(unsigned base, unsigned lado, unsigned &perimetro)
  22.  
  23. {
  24.    unsigned area;
  25.  
  26.    area=base*lado;
  27.    perimetro=lado*2+base*2;
  28.  
  29.    return area;
  30.  
  31. }


En línea

Más que buenos principios prefiero mejores finales.
bdoX

Desconectado Desconectado

Mensajes: 35



Ver Perfil
Re: ¿Error en cabecera de funciones?
« Respuesta #12 en: 19 Diciembre 2011, 00:53 am »

Perimetro no está declarado dentro de la main(). No se como es que te compiló

Ecá está en C++ con referencia

Código
  1. #include <iostream>
  2.  
  3. unsigned calcular_area (unsigned base, unsigned lado, unsigned &perimetro);
  4.  
  5. using namespace std;
  6.  
  7. int main ( )
  8. {
  9.    unsigned lado, base, p;
  10.  
  11.    cout << "Dime la base de tu rectangulo: ";
  12.    cin >> base;
  13.  
  14.    cout << "Dame el lado de tu rectangulo: ";
  15.    cin >> lado;
  16.  
  17.    cout << "Tu area es: " << calcular_area (base, lado, p) << " y su perimetro es: " << p << endl;
  18.  
  19.    cin.ignore ( );
  20.    cin.get ();
  21.  
  22.    return 0;
  23. }
  24.  
  25. unsigned calcular_area (unsigned base, unsigned lado, unsigned &perimetro)
  26. {
  27.    unsigned area;
  28.  
  29.    area = (base * lado);
  30.    perimetro = (lado * 2) + (base * 2);
  31.  
  32.    return area;
  33. }
  34.  

En C++ pero con desreferencia

Código
  1. #include <iostream>
  2.  
  3. unsigned calcular_area (unsigned base, unsigned lado, unsigned *perimetro);
  4.  
  5. using namespace std;
  6.  
  7. int main ( )
  8. {
  9.    unsigned lado, base, p;
  10.  
  11.    cout << "Dime la base de tu rectangulo: ";
  12.    cin >> base;
  13.  
  14.    cout << "Dame el lado de tu rectangulo: ";
  15.    cin >> lado;
  16.  
  17.    cout << "Tu area es: " << calcular_area (base, lado, &p) << " y su perimetro es: " << p << endl;
  18.  
  19.    cin.ignore ( );
  20.    cin.get ();
  21.    return 0;
  22. }
  23.  
  24. unsigned calcular_area (unsigned base, unsigned lado, unsigned *perimetro)
  25. {
  26.    unsigned area;
  27.  
  28.    area = (base * lado);
  29.    *perimetro = (lado * 2) + (base * 2);
  30.  
  31.    return area;
  32. }
  33.  

Y acá está en C

Código
  1. #include <stdio.h>
  2.  
  3. unsigned calcular_area (unsigned base, unsigned lado, unsigned *perimetro);
  4.  
  5. int main( )
  6. {
  7.    unsigned lado, base, p;
  8.  
  9.    printf ( "Dime la base de tu rectangulo: " );
  10.    scanf ( "%u", &base );
  11.  
  12.    printf ( "Dame el lado de tu rectangulo: " );
  13.    scanf ( "%u", &lado );
  14.  
  15.    printf ( "Tu area es: %u y su perimetro %u", calcular_area (base, lado, &p), p );
  16.  
  17.    setbuf (stdin, NULL)
  18.    getchar ( );
  19.    return 0;
  20. }
  21.  
  22. unsigned calcular_area (unsigned base, unsigned lado, unsigned *perimetro)
  23. {
  24.    unsigned area;
  25.  
  26.    area = (base * lado);
  27.    *perimetro = (lado * 2) + (base * 2);
  28.  
  29.    return area;
  30. }
  31.  

Saludos!!
« Última modificación: 19 Diciembre 2011, 01:41 am por bdoX » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con la cabecera GOP
Multimedia
Aberroncho 0 1,543 Último mensaje 7 Septiembre 2005, 11:48 am
por Aberroncho
Funciones, selectivas y repetitivas. (tiene un error al ejecutarse, ayuda!)
Programación C/C++
jravelar 3 2,892 Último mensaje 5 Junio 2010, 22:44 pm
por do-while
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 23,582 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
error al leer cabecera http ????
Java
imaginawireless 8 4,305 Último mensaje 9 Abril 2012, 12:46 pm
por Proteus1989
ERROR ARREGLOS, FUNCIONES Y Makefile.win
Programación C/C++
alfo1294 1 2,109 Último mensaje 27 Julio 2012, 05:21 am
por avesudra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines