Lares138 Temat założony przez niniejszego użytkownika |
[Lekcja 14] Kalkulator działa jednak są wątpliwości » 2012-03-31 17:32:27 Witam otóż mam takie pytanie do doświadczonych czy można zamieścić więcej niż jedną wartość w zmiennej lub w samym switch tak jak ja to zrobiłem owszem jak widac wszystko działa jednak zastanawia mnie czy jeżeli bardziej chciałbm rozbudować program to czy nie nastąpią komplikacje wynikające z takiej innowacji programu .Pozdrawiam i czekam na odp. #include <iostream>
int main()
{ int liczba_1, liczba_2; char oper1 = '+'; char oper2 = '-'; char oper3 = '*'; char oper4 = '/'; std::cout << "wpisz pierwsza liczbe : "; std::cin >> liczba_1; std::cout << "wpisz operator "; std::cin >>( oper1, oper2, oper3, oper4 ); std::cout << "wpisz druga liczbe : "; std::cin >> liczba_2; switch( oper1, oper2, oper3, oper4 ) { case '+': std::cout << "wynik = " << liczba_1 + liczba_2; break; case '-': std::cout << " wynik = " << liczba_1 - liczba_2; break; case '*': std::cout << " wynik = " << liczba_1 * liczba_2; break; case '/': std::cout << " wynik = " << liczba_1 / liczba_2; break; } return 0; } Ps nie wiem jak zrobić ,żeby program wyświetlał sie tak jak w orginale czyli kolorowe linie także zamieszczam tylko to |
|
dannooon |
» 2012-03-31 19:47:58 Próbuje zrozumieć po co zrobiłeś 4 zmienne typu char, jeśli wystarczy tylko jedna. Poza tym nie mogę załapać sensu tego programu, widać że jesteś początkujący. Przejdź przez kolejne kursy, poznaj pętle, warunki i dopiero zabierz się za takie programy :) |
|
jankowalski25 |
» 2012-03-31 20:09:11 Zamiast char oper1 = '+'; char oper2 = '-'; char oper3 = '*'; char oper4 = '/';
Można wpisać char oper; . Następnie można zamienić oper1, oper2, oper3, oper4 na oper . //edit: Sprawdź, co się stanie, gdy zamiast liczby wprowadzisz literę lub zamiast znaku działania wpiszesz coś innego. Spróbuj to naprawić. |
|
Lares138 Temat założony przez niniejszego użytkownika |
rr » 2012-03-31 20:41:39 dannooon no jestem początkującym a ten program pisałem bo takie było zadanie i nie mogłem tam wykorzystać żadnych pętli czy czegos innego ponieważ miałem to zrobić z wykorzystaniem dotychczasowej wiedzy takie było zadanie domowe kursu 14 wiem ,że można tu dać bardzo dużo ułatwień i poprawek ale i tak się ciesze ,że w ogóle działa :D Ps zrobiłem 4 zmienny typu char bo nie byłem świadomy ,że można to wszystko dać w jedno a i tak będzie wybór:D(nie wiem czy zrozumiałeś ale zaraz go przerobię i wtedy powinno być lepiej ) A tutaj poprawiona,skrócona wersja i czy można ją jeszcze bardziej skrócić ? #include <iostream> int main()
{ using namespace std; int liczba_1, liczba_2; char oper; cout << "wpisz pierwsza liczbe : "; cin >> liczba_1; cout << "wpisz operator "; cin >> oper; cout << "wpisz druga liczbe : "; cin >> liczba_2; switch( oper ) { case '+': cout << "wynik = " << liczba_1 + liczba_2; break; case '-': cout << " wynik = " << liczba_1 - liczba_2; break; case '*': cout << " wynik = " << liczba_1 * liczba_2; break; case '/': cout << " wynik = " << liczba_1 / liczba_2; break; } return 0; }
|
|
SeaMonster131 |
» 2012-03-31 21:03:59 Hm za dużo to tu skrócić nie można ;) Możesz jedynie tak działanie wpisywać: cin >> liczba_1 >> oper >> liczba_2 Ale to zalezy od Ciebie. Kod wstawiaj w: [cpp] kod [/cpp] Aha, i powinieneś dorobić zabezpieczenie, aby nie można było dzielić przez 0. Oraz powinno sie znaleźć zabezpieczenie przed wpisaniem liter zamiast liczb i innego działania. |
|
Lares138 Temat założony przez niniejszego użytkownika |
» 2012-03-31 21:11:37 O właśnie tego znacznika szukałem tj.do wstawienia kodu z c++ z kolorkami.A na to nie wpadłem o tych zabezpieczeniach ,nawet nie wiem jak zrobić ale bd szukał i jak mi sie uda to wstawię poprawione . |
|
Lares138 Temat założony przez niniejszego użytkownika |
» 2012-04-01 21:23:45 SeaMonster131 moim zdaniem dodanie instrukcji wiersz wyżej od switch czyli if( liczba_1, liczba_2 > 0 ) ,stanowi dobrą bariere aby nie dzielić przez zero ponieważ po w pisaniu 0 program nie wejdzie do switch czyli program się zamknie ,ale nie mogę wynaleźć nic co bo zablokowało wpisywanie liter,mógłbym coś podsunąć ? Tutaj cały kod #include <iostream> int main()
{ using namespace std; int liczba_1, liczba_2; char oper; cout << "wpisz pierwsza liczbe : "; cin >> liczba_1; cout << "wpisz operator "; cin >> oper; cout << "wpisz druga liczbe : "; cin >> liczba_2; if( liczba_1, liczba_2 > 0 ) switch( oper ) { case '+': cout << "wynik = " << liczba_1 + liczba_2; break; case '-': cout << " wynik = " << liczba_1 - liczba_2; break; case '*': cout << " wynik = " << liczba_1 * liczba_2; break; case '/': cout << " wynik = " << liczba_1 / liczba_2; break; } return 0; }
|
|
DejaVu |
» 2012-04-01 21:29:33 if( liczba_1, liczba_2 > 0 )
Znajdź kurs w którym opisywany jest taki zapis to Ci pogratuluje chyba połowa użytkowników tego forum ;p |
|
« 1 » 2 |