Kalkulator Obiektowy blad zapisu i odczytu z pamieci
Ostatnio zmodyfikowano 2016-10-19 09:29
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 #include <iostream> #include <cstdlib> #include "CAL.h" #include <conio.h> ostateczny_wynik::~ostateczny_wynik() { } ostateczny_wynik::ostateczny_wynik( double a, double b ) { suma = b; }
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; 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::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 #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. :) |
|
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. |
|
« 1 » |