mic132 Posted May 30, 2010 Report Share Posted May 30, 2010 zrobiłem BARDZO prosty kalkulator w c++.jego kod wygląda tak: cout << "Podaj dwie liczby: "; cin >> x >> y; cout << "suma: " << x + y << endl ; cout << "roznica: " << x - y << endl ; cout << "Iloczyn: " << x * y << endl ; cout << "iloraz: " << x / y << endl ; cout << "Reszta z dzielenia: " << x % y << endl ; jaka jest komenda,by zamiast "reszty" w dzieleniu podawany był wynik w dziesiętnych, np.2,25? Link to comment Share on other sites More sharing options...
wies.niak Posted May 30, 2010 Report Share Posted May 30, 2010 Operuj na zmiennych typu double, albo przy dzieleniu intów zrób rzutowanie na double int x = 5; int y = 4; double wynik = (double)x / (double)y; Link to comment Share on other sites More sharing options...
readerCDA Posted May 30, 2010 Report Share Posted May 30, 2010 Powinieneś wprowadzić jakąś dodatkową zmienną typu float, która przechowywała by wynik z dzielenia. I to wszystko, wynik będzie wyświetlany również w liczbach rzeczywistych, bo float przechowuje właśnie takie liczby. Link to comment Share on other sites More sharing options...
Aldaron127 Posted May 30, 2010 Report Share Posted May 30, 2010 Zadeklaruj zmienną, która ma być wynikiem dzielenia, jako float, np. float wynik; wynik = liczba1/liczba2; cout << wynik; Wtedy Ci się wyświetli wynik dzielenia jako liczba z ułamkiem dziesiętnym. P.S. Pisanie z telefonu ma to do siebie, że zacząłem pisać jak nie było żadnych odpowiedzi w tym temacie, a jak skończyłem, to już dwie odpowiedzi były . Link to comment Share on other sites More sharing options...
wichniar24 Posted May 30, 2010 Report Share Posted May 30, 2010 Podsumowując to co zostało napisane wcześniej C++ ma kilka zasadniczych typów danych: int - liczby całkowite float i double - są po miedzy nimi różnice ale na razie wystarczy że będziesz wiedział ze to po prostu liczby z ułamkiem dziesiętnym char - pojedyńczy znak Jeśli chcesz przypisać np typowi int liczbe typu float to możesz zrobić to tak: int a; float b = 100.55; a = b; ale wtedy dostaniesz ostrzeżenie o możliwej utracie danych bo liczby po przecinku nie zostaną zapisane do zmiennej a dlatego należy zastosować formułe a = (int) b; aby poinformować kompilator o tym że chcesz zamienić liczbe z ułamkiem na całkowitą Link to comment Share on other sites More sharing options...
mic132 Posted May 30, 2010 Author Report Share Posted May 30, 2010 ok,dzięki.Już zrozumiałem gdzie i co trzeba poprawić. Link to comment Share on other sites More sharing options...
[Ekspert] Hakken Posted June 30, 2010 Report Share Posted June 30, 2010 W takim dziale "prosty kalkulator" to moge Ci pokazać takie coś: #include <iostream> #include <string> using namespace std; float a; float b; string c; int main() { cout << "Podaj liczbe 1\n"; cin >> a; cout << "Podaj liczbe 2\n"; cin >> b; cout << "Podaj Dzialanie\n"; cin >> c; if (c=="+") {float d; d=a+b; cout << d <<endl; system("pause");} if (c=="-") {float d; d=a-b; cout << d <<endl; system("pause");} if (c=="*") {float d; d=a*b; cout << d <<endl; system("pause");} if (c=="/") {float d; d=a/b; cout << d <<endl; system("pause");} } troche bardziej zlożony, ale ciągle banalny W Twoim jest jeszcze ten problem, że można przeciążyć program każąc mu np. policzyć liczbę pi, gdy chcielisy tylko zobaczyc ile to jest 22*7 Link to comment Share on other sites More sharing options...
MIssqu Posted July 18, 2010 Report Share Posted July 18, 2010 W takim dziale "prosty kalkulator" to moge Ci pokazać takie coś: #include <iostream> #include <string> using namespace std; float a; float b; string c; int main() { cout << "Podaj liczbe 1\n"; cin >> a; cout << "Podaj liczbe 2\n"; cin >> b; cout << "Podaj Dzialanie\n"; cin >> c; if (c=="+") {float d; d=a+b; cout << d <<endl; system("pause");} if (c=="-") {float d; d=a-b; cout << d <<endl; system("pause");} if (c=="*") {float d; d=a*b; cout << d <<endl; system("pause");} if (c=="/") {float d; d=a/b; cout << d <<endl; system("pause");} } troche bardziej zlożony, ale ciągle banalny W Twoim jest jeszcze ten problem, że można przeciążyć program każąc mu np. policzyć liczbę pi, gdy chcielisy tylko zobaczyc ile to jest 22*7 Hakken czemu tak skomplikowanie... jeżeli nie jesteś zupełnie zielony, tylko po prostu zielony użyj funkcji switch Nada estetyki twojego programu. Możesz jeszce umieścić switch w pętli do...while ,żeby program pytal się czy chce zakończyć jak nie to po prostu od nowa funkcja switch ii znów sie pyta o liczby. I tak w kółko ;P Link to comment Share on other sites More sharing options...
[Ekspert] Hakken Posted July 19, 2010 Report Share Posted July 19, 2010 mówisz użyć funkcji switch... można, ale wtedy zamiast "+","-" "*" itd, trzeba by pisac "1","2","3", bo z tego co wiem, to swtich dziala tylko na int-y :O Link to comment Share on other sites More sharing options...
wichniar24 Posted July 19, 2010 Report Share Posted July 19, 2010 @Hakken - switch działa na wszystkie typy bazowe tylko po prostu musisz zapisać zmienną w odpowiedniej formie. Link to comment Share on other sites More sharing options...
[Ekspert] Hakken Posted July 19, 2010 Report Share Posted July 19, 2010 fakt, mozna zastopic to za pomaca char c switch ? case '+' // case '-' mój błąd EDIT czemu to forum zamienie ( c ) (bez spacji) na © :O Link to comment Share on other sites More sharing options...