Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Program...


Rekomendowane odpowiedzi

Opublikowano

Witajcie!

Uczę się Symfonii C++ Standard. Jestem już po pętlach, więc postanowiłem zrobić jakiś łatwy kalkulator z użyciem ich. Możecie mi podpowiedzieć co jeszcze do niego dodać oprócz mnożenia i dzielenia? Dzięki!

Po poprawcę:

#include <iostream>
using namespace std;

int main()
{

    double liczba1, liczba2;
    int wybor;
    do
    {
        cout << "Witaj w nowym kalkulatorze" << endl;
        cout << "Wybierz opcje: 1.Dodawanie 2.Odejmowanie 3.Mnozenie 4.Dzielenie 5.Exit" << endl;
        cin >> wybor;
        if (cin.fail())
        {
            cin.clear();
            cin.sync();
        }

        switch (wybor)
        {
        case 1:
            cout << "A wiec dodawanie...Podaj 2 liczby: " << endl;
            cin >> liczba1;
            cin >> liczba2;
            cout << "Wynik to: " << liczba1 + liczba2 << endl;
            break;
        case 3-1:
            cout << "A wiec odejmowanie...Podaj 2 liczby: " << endl;
            cin >> liczba1;
            cin >> liczba2;
            cout << "Wynik to: " << liczba1 - liczba2 << endl;
            break;
        case 5:
            break;
        default:
            cout << "Opcja nie zaprogramowana.. sorki :>...powracam do poczatku" << endl;
        }
    } while (wybor != 5);
    system("pause");
}
Opublikowano

silnia, potęga, pierwiastek, logarytm itd

i dlaeczgo ograniczasz użytkownika do liczb całkowitych?

Dlaczego ograniczam? Chyba z przyzwyczajenia...Zaraz to poprawię.

Jeszcze nie miałem w książce silni,potęgi, pierwiastka, logarytma.

Opublikowano

sprawdzasz czy wczytywanie danych do strumienia wejścia się powiodło - jeśli nie (został wpisany jakiś znak inny niż taki, który przynależy do danego typu danych (dla int - liczby)) to czyścisz i synchronizujesz strumień.

 

if (cin.fail()) //można też !cin.good()
{
   cin.clear();
   cin.sync();
}
846331404756772371599.jpeg
Opublikowano

Co do tematu, to mozesz zrobic aby program liczyl wyrazenia w nawiasach
 
 

@ EDIT 

Co do kodu

  
do
{
     cin >> wybor;
        if (cin.fail()) //tutaj jest to zbedne bo masz switch'a 
     
switch (wybor)
        {
        case 1:
           {
            cout << "A wiec dodawanie...Podaj 2 liczby: " << endl;
            cin >> liczba1;
            cin >> liczba2;
            
           //warunek sprawdzajacy czy wprowadzono LICZBY powinien bys tutaj
           //jezeli jest spelniony to wyswietlli wynik
           //moze to tak wygladac np.

           if((cin>>liczba1>>liczba2 && (liczba1)*(liczba2)))
           cout<<"Wynik to:"<<liczba1+liczba2<<'\n';

            break;
            }

	
       default:
            cout<<"\nOpcja nie zaprogramowana.. sorki :>...powracam do poczatku";
        }
 
 //tutaj mozesz dac czyszczenie itp.
cin.clear();
cin.sync();
} while (wybor != 5);
}
Opublikowano

kodu 

 

I raczej nieprędko je będziesz miał, bo z tego co pamiętam, nie ma w Symfonii kodu na potęgę, silnię itd.

po co ci jakikolwiek kod takie podstawowe definicje poteg pierwiastkow itd. powinienes umiec ze szkoly i sam napisac kod

Opublikowano

to mi napisz ot tak kod na pierwiastek :')

 

 

;)

double x=1,p,eps=0.0001;
  cout<<"Wartosc liczby podpierwiastkowej : ";
  cin>>p;
 
if(p>0)
{
while(fabs(x-(p/x))>eps)   x=(x+(p/x))/(2.0);
cout<<x;
}

//@ EDIT Jakbys chcial ot tak bez uzycia fabs'a

while((x-(p/x))>0?(x-(p/x))>eps:-(x-(p/x))>eps)    x=(x+(p/x))/2;  
Opublikowano

 

 

;)

double x=1,p,eps=0.0001;
  cout<<"Wartosc liczby podpierwiastkowej : ";
  cin>>p;
 
if(p>0)
{
while(fabs(x-(p/x))>eps)   x=(x+(p/x))/(2.0);
cout<<x;
}

//@ EDIT Jakbys chcial ot tak bez uzycia fabs'a

while((x-(p/x))>0?(x-(p/x))>eps:-(x-(p/x))>eps)    x=(x+(p/x))/2;  

Może mi ktoś ten kod wyjaśnić?Siedze 30minut i nie rozumiem nadal jak on działa..

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...