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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con este problema en C++ (Utilizando Visual Studio 12')
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con este problema en C++ (Utilizando Visual Studio 12')  (Leído 8,228 veces)
αиσиyмσυรCร

Desconectado Desconectado

Mensajes: 83


[αиσиyмσυร̲̅Cร̲̅]


Ver Perfil
Re: Ayuda con este problema en C++ (Utilizando Visual Studio 12')
« Respuesta #10 en: 15 Julio 2013, 00:08 am »

En realidad las funciones que tu utilizas también se puden utilizar en C++, solo que es más efectivo utilizar la librería iostream y las funciones cout y cin.

Un saludo

"El fin justifica los medios" como decía Maquiavelo da igual como lo hagas el caso es que hace la misma función y sin errores :P

Un saludo αиσиyмσυรCร


En línea

UV09

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda con este problema en C++ (Utilizando Visual Studio 12')
« Respuesta #11 en: 22 Julio 2013, 02:37 am »

#include "stdafx.h"
#include "iostream"

using namespace System;
using namespace std;

class PROCESOS
{
private: int a, b, r;
public:
    void asignar1(int y)
    {
        a = x;
    }
    void asignar2(int z)
    {
        b = y;
    }
    void suma()
    {
        r = a + b;
        cout<<"La suma de " <<a <<" y " <<b <<" es " <<r <<"\n";
    }
    void resta()
    {
        r = a - b;
        cout<<"La resta de " <<a <<" y " <<b <<" es " <<r <<"\n";
    }
    void multi()
    {
        r = a * b;
        cout<<"La multiplicacion de " <<a <<" y " <<b <<" es " <<r <<"\n";
    }
    void div()
    {
        if (b != 0)
        {
            r = a / b;
            cout<<"La divicion de " <<a <<" y " <<b <<" es " <<r <<"\n";
        }
        else
        {
            cout<<"ERROR :(" <<"\n";
            cout<<"No existe la divicion por " <<b <<"\n";
        }
    }

};
int main(array<System::String ^> ^args)
{
    int j, k;
    PROCESOS objFUN;
    cout<<"Introduce 2 numeros\n";
    cin>>j;
    cin>>k;
    objFUN.asignar1(j);
    objFUN.asignar2(k);
    objFUN.suma();
    objFUN.resta();
    objFUN.multi();
    objFUN.div();
    system("PAUSE");
    return 0;
}


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Ayuda con este problema en C++ (Utilizando Visual Studio 12')
« Respuesta #12 en: 22 Julio 2013, 10:12 am »

Por lo que he visto en tu código, la variable r no tiene razón de ser.

Es una variable que guarda un resultado temporal que no tiene sentido más allá de la función en la que defines su valor. Es decir, si haces una suma, en r guardas el resultado... pero ese resultado no se vuelve a usar para nada... en cuanto hagas otra operación, ese valor se pierde y nadie va a suspirar por el.

En estos casos es mejor reducir su ámbito de uso y declarar variables dentro de las funciones que las necesiten.

Saber declarar cada variable dentro de un ámbito correcto es bastante importante, aunque eso es algo que irás aprendiendo con el tiempo.

Además te faltaría definir el constructor de la clase. ¿ Qué sucede si se te olvida llamar a asignar1 y/o asignar2 antes de realizar alguna operacion? Pruébalo, verás que los resultados serán raros raros. Los constructores te ayudan a evitar ese tipo de problemas.

La declaración que haces del main es un poco rara... es una sintaxis propia del visual studio 12???

Dicho lo dicho, yo dejaría tu código así:

Código
  1. #include "stdafx.h"
  2. #include "iostream"
  3.  
  4. using namespace System;
  5. using namespace std;
  6.  
  7. class PROCESOS
  8. {
  9. private:
  10.    int a, b;
  11. public:
  12.  
  13.    PROCESOS( )
  14.    {
  15.      a = 0;
  16.      b = 0;
  17.    }
  18.  
  19.    void asignar1(int y)
  20.    {
  21.        a = x;
  22.    }
  23.    void asignar2(int z)
  24.    {
  25.        b = y;
  26.    }
  27.    void suma()
  28.    {
  29.        int r = a + b;
  30.        cout<<"La suma de " <<a <<" y " <<b <<" es " <<r <<"\n";
  31.    }
  32.    void resta()
  33.    {
  34.        int r = a - b;
  35.        cout<<"La resta de " <<a <<" y " <<b <<" es " <<r <<"\n";
  36.    }
  37.    void multi()
  38.    {
  39.        int r = a * b;
  40.        cout<<"La multiplicacion de " <<a <<" y " <<b <<" es " <<r <<"\n";
  41.    }
  42.    void div()
  43.    {
  44.        if (b != 0)
  45.        {
  46.            int r = a / b;
  47.            cout<<"La divicion de " <<a <<" y " <<b <<" es " <<r <<"\n";
  48.        }
  49.        else
  50.        {
  51.            cout<<"ERROR :(" <<"\n";
  52.            cout<<"No existe la divicion por " <<b <<"\n";
  53.        }
  54.    }
  55.  
  56. };
  57. int main(array<System::String ^> ^args)
  58. {
  59.    int j, k;
  60.    PROCESOS objFUN;
  61.    cout<<"Introduce 2 numeros\n";
  62.    cin>>j;
  63.    cin>>k;
  64.    objFUN.asignar1(j);
  65.    objFUN.asignar2(k);
  66.    objFUN.suma();
  67.    objFUN.resta();
  68.    objFUN.multi();
  69.    objFUN.div();
  70.    system("PAUSE");
  71.    return 0;
  72. }
« Última modificación: 22 Julio 2013, 10:17 am por eferion » En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Ayuda con este problema en C++ (Utilizando Visual Studio 12')
« Respuesta #13 en: 22 Julio 2013, 15:06 pm »

@SrCooper, cout y cin son objetos, no funciones  ;)
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Ayuda con este problema en C++ (Utilizando Visual Studio 12')
« Respuesta #14 en: 22 Julio 2013, 15:55 pm »

Ale, he aquí mi code ;D

Código
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5.  
  6. main(){
  7.  
  8. float x, y;
  9. float suma, resta, multiplicacion, division;
  10.  
  11. cout << "Introduzca el primer numero: ";
  12. cin >> x;
  13. cout << "Introduzca el segundo numero: ";
  14. cin >> y;
  15.  
  16. suma=x+y;
  17. resta=x-y;
  18. multiplicacion=x*y;
  19. division=x/y;
  20.  
  21. cout << "La suma es: " << suma << endl;
  22. getch();
  23. cout << "La resta es: " << resta << endl;
  24. getch();
  25. cout << "La multiplicacion es: " << multiplicacion << endl;
  26. getch();
  27. cout << "La division es: " << division << endl;
  28. getch();
  29.  
  30. return 0;
  31.  
  32. }

Ya se que me he saltado las reglas del: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html (Punto 4)

Pero me la pela un poco xD >:D
PD: Estoy aprendiendo C++ gracias a estas dudas yo tmb aprendo.
PDS: El code es un remix de todos los vuestros xD
En línea


Interesados hablad por Discord.
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con Visual Studio 2005
.NET (C#, VB.NET, ASP)
Maurol12 3 2,416 Último mensaje 13 Mayo 2008, 17:18 pm
por viviz02
Problema con Visual Studio 2008, Visual Source Safe 2005.
.NET (C#, VB.NET, ASP)
davidesgt 0 4,736 Último mensaje 14 Octubre 2009, 17:32 pm
por davidesgt
Problema con Visual Studio [SOLUCIONADO]
Programación C/C++
3mp3z@ndo 2 3,659 Último mensaje 27 Febrero 2011, 00:50 am
por 3mp3z@ndo
Problema con Visual Studio 2008.net
.NET (C#, VB.NET, ASP)
~ Ghost_Networks ~ 0 1,588 Último mensaje 4 Julio 2012, 01:26 am
por ~ Ghost_Networks ~
Problema con Visual Studio 2010
.NET (C#, VB.NET, ASP)
firma10s04 2 2,630 Último mensaje 18 Junio 2013, 04:34 am
por raul338
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines