Where's the error in this simple code?

Hello.
I've this simple code, but I don't know how fix these errors.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  #include <iostream>
class TipoMoeda
{
    public:
    struct real
    {
        public:
    double valor;
    void ConverterParaDolar()
    {
        valor = valor/2.11;
    }
            double operator=(const double valor_a_definir)
        {
            valor = valor_a_definir;
        }
    };

    struct dolar
    {
        public:
        double valor;
        void ConverterParaReal()
        {
            valor = valor*2.11;
        }
        double operator=(const double valor_a_definir)
        {
            valor = valor_a_definir;
        }

    };
};

int main()
{
    TipoMoeda::dolar * DinheiroEstrangeiro;
    DinheiroEstrangeiro = 20.00;
    DinheiroEstrangeiro->ConverterParaReal();
    std::cout<<DinheiroEstrangeiro->valor;
}


Thanks
Sorry, solved.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
class TipoMoeda
{
    public:

        public:
             struct real
    {
    double valor;
    void ConverterParaDolar()
    {
        valor = valor/2.11;
    }
            double operator=(const double& valor_a_definir)
        {
            valor = valor_a_definir;
        }
    };

    struct dolar
    {
        public:
        double valor;
        void ConverterParaReal()
        {
            valor = valor*2.11;
        }
        double operator=(const double& valor_a_definir)
        {
            valor = valor_a_definir;
        }

    };
};



int main()
{
    int tipo;
    int quantia;
    MainLoop:
    std::cout<<"Selecione o tipo conversao:\n1. Reais - Dolares\n2. Dolares - Reais \n\nEscolha: ";
    std::cin>>tipo;

    if (tipo==1)
    {
        TipoMoeda::real Dinheiro;
        std::cout<<std::endl<<"Entre com a quantia: ";
        std::cin>>quantia;
        Dinheiro = quantia;
        Dinheiro.ConverterParaDolar();
        std::cout<<"Entrada: "<<quantia<<" reais\t Saida: "<<Dinheiro.valor<<" dolares\n\n";
        goto MainLoop;

    }
    if (tipo==2)
    {
        TipoMoeda::dolar Dinheiro;
        std::cout<<std::endl<<"Entre com a quantia: ";
        std::cin>>quantia;
        Dinheiro = quantia;
        Dinheiro.ConverterParaReal();
        std::cout<<"Entrada: "<<quantia<<" dolares\t Saida: "<<Dinheiro.valor<<" reais\n\n";
        goto MainLoop;
    }
    else
    {
        std::cout<<"Escolha invalida\n\n\n";
        goto MainLoop;
    }
}


But a question: if i enter 'kkkkkkkkkkkkkkkkkkkkkkkkkk', the result will be an caotic error. How can it just return one time the "error" (else)?
Topic archived. No new replies allowed.