Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kalkulator Obiektowy blad zapisu i odczytu z pamieci

Ostatnio zmodyfikowano 2016-10-19 09:29
Autor Wiadomość
Zdobywca
Temat założony przez niniejszego użytkownika
Kalkulator Obiektowy blad zapisu i odczytu z pamieci
» 2016-10-18 22:58:41
Witam

Mam taki problem:
Kalkulator obiektowy który ma mieć 10 miejsc w pamięci i możliwe działania z tej pamięci (tak jak zwykły  kalkulator)
Problem jest taki, że program nie chce mi zapisywać ani odczytywać wartosci z komórek pamięci innych niż zerowa(m0)
Nie rozumiem dlaczego tak jest - przy probie odczytu wartości są pseudolosowe.

CAL.CPP


C/C++
#include <iostream>
#include <cstdlib>
#include "CAL.h"
#include <conio.h>
ostateczny_wynik::~ostateczny_wynik() { }
ostateczny_wynik::ostateczny_wynik( double a, double b )
{
    suma = b; //zeruje na start sume
}

double ostateczny_wynik::odejmowanie()
{
    using namespace std;
    cin >> a;
    suma = suma - a;
    cout << suma << "\n";
    return suma;
}
double ostateczny_wynik::dodawanie()
{
    using namespace std;
    cin >> a;
    suma = suma + a;
    cout << suma << "\n";
    return suma;
}
double ostateczny_wynik::mnozenie()
{
    using namespace std;
    cin >> a;
    suma = suma * a;
    cout << suma << "\n";
    return suma;
}
double ostateczny_wynik::dzielenie()
{
    using namespace std;
   
    do
    {
        cin >> a;
       
    }
    while( a == 0 );
   
    suma = suma / a;
    cout << suma << "\n";
    return suma;
};
double ostateczny_wynik::zerowanie()
{
    using namespace std;
    suma = 0; // wrzui to do konstruktora
    cout << suma;
    return 0;
};


double ostateczny_wynik::pamieczapis0() {
    m0 = 0;
    m0 = suma;
    return m0;
}


double ostateczny_wynik::pamieczapis1() {
    m1 = 0;
    m1 = suma;
    return m1;
}
/*
double ostateczny_wynik::pamieczapis1(){
double m1=0;         m1 bylo tak jakby zadeklarowane drugi raz i tak bylo w  pozostalych przykladach
m1=suma;
return m1;
}*/

double ostateczny_wynik::pamieczapis2() {
    m2 = 0;
    m2 = suma;
    return m2;
}


double ostateczny_wynik::pamieczapis3() {
    m3 = 0;
    m3 = suma;
    return m3;
}

double ostateczny_wynik::pamieczapis4() {
    m4 = 0;
    m4 = suma;
    return m4;
}


double ostateczny_wynik::pamieczapis5() {
    m5 = 0;
    m5 = suma;
   
    return m5;
}

double ostateczny_wynik::pamieczapis6() {
    m6 = 0;
    m6 = suma;
    return m6;
}

double ostateczny_wynik::pamieczapis7() {
    m7 = 0;
    m7 = suma;
    return m7;
}

double ostateczny_wynik::pamieczapis8() {
    m8 = 0;
    m8 = suma;
    return m8;
}


double ostateczny_wynik::pamieczapis9() {
    m9 = 0;
    m9 = suma;
    return m9;
}





double ostateczny_wynik::pamiecload0() {
   
    suma = m0;
    return suma;
   
}


double ostateczny_wynik::pamiecload1() {
   
    suma = m1;
    return suma;
   
}



double ostateczny_wynik::pamiecload2() {
   
    suma = m2;
    return suma;
   
}



double ostateczny_wynik::pamiecload3() {
   
    suma = m3;
    return suma;
   
}



double ostateczny_wynik::pamiecload4() {
   
    suma = m4;
    return suma;
   
}



double ostateczny_wynik::pamiecload5() {
   
    suma = m5;
    return suma;
   
}



double ostateczny_wynik::pamiecload6() {
   
    suma = m6;
    return suma;
   
}

double ostateczny_wynik::pamiecload7() {
   
    suma = m0;
    return suma;
   
}


double ostateczny_wynik::pamiecload8() {
   
    suma = m0;
    return suma;
   
}



double ostateczny_wynik::pamiecload9() {
   
    suma = m9;
    return suma;
   
}





double ostateczny_wynik::pamiecplus0() {
   
    suma = suma + m0;
    return suma;
   
}


double ostateczny_wynik::pamiecplus1() {
   
    suma = suma + m1;
    return suma;
   
}

double ostateczny_wynik::pamiecplus2() {
   
    suma = suma + m2;
    return suma;
   
}

double ostateczny_wynik::pamiecplus3() {
   
    suma = suma + m3;
    return suma;
   
}

double ostateczny_wynik::pamiecplus4() {
   
    suma = suma + m4;
    return suma;
   
}

double ostateczny_wynik::pamiecplus5() {
   
    suma = suma + m5;
    return suma;
   
}

double ostateczny_wynik::pamiecplus6() {
   
    suma = suma + m6;
    return suma;
}

double ostateczny_wynik::pamiecplus7() {
   
    suma = suma + m7;
    return suma;
   
}


double ostateczny_wynik::pamiecplus8() {
   
    suma = suma + m8;
    return suma;
   
}

double ostateczny_wynik::pamiecplus9() {
   
    suma = suma + m9;
    return suma;
   
}




double ostateczny_wynik::pamiecminus0() {
   
    suma = suma - m0;
    return suma;
   
}

double ostateczny_wynik::pamiecminus1() {
   
    suma = suma - m1;
    return suma;
   
}

double ostateczny_wynik::pamiecminus2() {
   
    suma = suma - m2;
    return suma;
   
}

double ostateczny_wynik::pamiecminus3() {
   
    suma = suma - m3;
    return suma;
   
}

double ostateczny_wynik::pamiecminus4() {
   
    suma = suma - m4;
    return suma;
   
}

double ostateczny_wynik::pamiecminus5() {
   
    suma = suma - m5;
    return suma;
   
}

double ostateczny_wynik::pamiecminus6() {
   
    suma = suma - m6;
    return suma;
   
}

double ostateczny_wynik::pamiecminus7() {
   
    suma = suma - m7;
    return suma;
   
}

double ostateczny_wynik::pamiecminus8() {
   
    suma = suma - m8;
    return suma;
   
}

double ostateczny_wynik::pamiecminus9() {
   
    suma = suma - m9;
    return suma;
   
}


double ostateczny_wynik::memory() {
   
    suma = suma - m9;
    return suma;
   
}






int main()

{ using namespace std;
    double m0 = 0;
    double m1 = 0;
    double m2 = 0;
    double m3 = 0;
    double m4 = 0;
    double m5 = 0;
    double m6 = 0;
    double m7 = 0;
    double m8 = 0;
    double m9 = 0;
    char t;
    char y;
    cout << "Kalkulator\n";
    zerowanie:
    double suma = 0;
    cout << suma;
    char wybor = ' ';
   
    ostateczny_wynik klasa;
    for( int i = 0; i < 99999999; i++ )
    { cout << "Jesli chcesz wybrac zapis odczyt dodawanie odejmowanie od pamieci nacisnij M a pozniej enter";
       
        cin >> wybor;
        switch( wybor )
        {
        case '-': klasa.odejmowanie();
            break;
           
        case '+': klasa.dodawanie();
            break;
           
        case '*': klasa.mnozenie();
            break;
           
        case '/': klasa.dzielenie();
            break;
           
        case 'c': klasa.zerowanie();
            break;
        case 'm': cout << "Podaj numer pamieci na ktorej chcesz dzialac od 0 do 9 \n";
            cin >> t;
            switch( t )
            {
               
               
               
            case '0':
                cout << "Co chcesz zrobic dodac(+) z pamieci odjac(-) zapisac(z) czy zaladowac z pamieci(l) dane\n";
                cin >> y;
                switch( y ) {
                   
                case '+': klasa.pamiecplus0();
                    break;
                case '-': klasa.pamiecminus0();
                    break;
                case 'z': klasa.pamieczapis0();
                    break;
                case 'l': klasa.pamiecload0();
                    break; }
               
                break;
               
               
            case '1':
                cout << "Co chcesz zrobic dodac(+) z pamieci odjac(-) zapisac(z) czy zaladowac z pamieci(L) dane\n";
                cin >> y;
                switch( y ) {
                   
                case '+': klasa.pamiecplus1();
                    break;
                case '-': klasa.pamiecminus1();
                    break;
                case 'z': klasa.pamieczapis1();
                    break;
                case 'l': klasa.pamiecload1();
                    break; }
               
                break;
               
               
            case '2':
                cout << "Co chcesz zrobic dodac(+) z pamieci odjac(-) zapisac(z) czy zaladowac z pamieci(L) dane\n";
                cin >> y;
                switch( y ) {
                   
                case '+': klasa.pamiecplus2();
                    break;
                case '-': klasa.pamiecminus2();
                    break;
                case 'z': klasa.pamieczapis2();
                    break;
                case 'l': klasa.pamiecload2();
                    break; }
                break;
            case '3':
                cout << "Co chcesz zrobic dodac(+) z pamieci odjac(-) zapisac(z) czy zaladowac z pamieci(L) dane\n";
                cin >> y;
                switch( y ) {
                   
                case '+': klasa.pamiecplus3();
                    break;
                case '-': klasa.pamiecminus3();
                    break;
                case 'z': klasa.pamieczapis3();
                    break;
                case 'l': klasa.pamiecload3();
                    break; }
                break;
               
               
            case '4':
                cout << "Co chcesz zrobic dodac(+) z pamieci odjac(-) zapisac(z) czy zaladowac z pamieci(L) dane\n";
                cin >> y;
                switch( y ) {
                   
                case '+': klasa.pamiecplus4();
                    break;
                case '-': klasa.pamiecminus4();
                    break;
                case 'z': klasa.pamieczapis4();
                    break;
                case 'l': klasa.pamiecload4();
                    break; }
                break;
               
               
               
               
               
               
               
               
               
               
               
                break;
               
            }
           
           
           
           
            break;
           
           
        case 'e': return 0;
            break;
        }
    }
    return 0;
}


CAL.h
C/C++
#include <iostream>
#include <cstdlib>

class ostateczny_wynik
{
public:
    double a;
    double suma;
    double m0;
    double m1;
    double m2;
    double m3;
    double m4;
    double m5;
    double m6;
    double m7;
    double m8;
    double m9;
    ostateczny_wynik( double a = 0, double b = 0 );
    ~ostateczny_wynik();
   
    double odejmowanie();
    double dodawanie();
    double mnozenie();
    double dzielenie();
    double zerowanie();
    double memory();
   
   
   
    double pamiecminus0();
    double pamiecminus1();
    double pamiecminus2();
    double pamiecminus3();
    double pamiecminus4();
    double pamiecminus5();
    double pamiecminus6();
    double pamiecminus7();
    double pamiecminus8();
    double pamiecminus9();
   
    double pamieczapis0();
    double pamieczapis1();
    double pamieczapis2();
    double pamieczapis3();
    double pamieczapis4();
    double pamieczapis5();
    double pamieczapis6();
    double pamieczapis7();
    double pamieczapis8();
    double pamieczapis9();
   
   
   
    double pamiecload0();
    double pamiecload1();
    double pamiecload2();
    double pamiecload3();
    double pamiecload4();
    double pamiecload5();
    double pamiecload6();
    double pamiecload7();
    double pamiecload8();
    double pamiecload9();
   
    double pamiecplus0();
    double pamiecplus1();
    double pamiecplus2();
    double pamiecplus3();
    double pamiecplus4();
    double pamiecplus5();
    double pamiecplus6();
    double pamiecplus7();
    double pamiecplus8();
    double pamiecplus9();
};



EDIT: Znalazlem już błąd. :)
P-152634
michal11
» 2016-10-19 09:29:01
Podziwiam ludzi którzy piszą taki kod, ile to trzeba mieć samozaparcia i silnej woli żeby w połowie nie rzucić tego wszystkiego.
P-152635
« 1 »
  Strona 1 z 1