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

Poprawa, mała optymalizacja, dodanie 4 funkcji c++


Rekomendowane odpowiedzi

Opublikowano

Witam tu jest kod moje kalkulatora :

#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;

int main()
{
    int menu, s, i, x,h,j;
    double a, b, c, D, wybor;
    {


    do
        {
            wybor==0;//przeciwdziałanie bugowi
            system("CLS");



                cout << "[1] Funkcja kwadratowa "<<endl;
                cout << "[2] Dodawanie"<<endl;
                cout<< "[3] Odejmowanie"<<endl;
                cout<< "[4] Dzielenie"<<endl;
                cout<< "[5] Mnozenie"<<endl;
                cout<< "[6] Silnia"<<endl;
                cout<< "[7] Pierwiastkowanie"<<endl;
                cout<< "[8] Potega n stopnia"<<endl;
                cout<< "[9] Modulo"<<endl;
                cout<< "[10] Zakoncz"<<endl;

                    cin >> menu;
if (menu>=1 && menu<=10)
                {

                    if(menu == 10)
                        {
                            cout << "Zrezygnowales z dzialnia progrmu.";
                                return 0;
                        }
                            {


                                do
                                    {
                                        if (menu == 2)
                                            {
                                                cout<<"Podaj pierwsza liczbe: ";
                                                    cin>> a;
                                                cout<<"Podaj druga liczbe: ";
                                                    cin>> b;
                                                cout << "Wynik dodawania pierwszej i drugiej liczby jest: "<< a+b <<endl;
                                                cout<<"Czy chcesz liczyc jeszcze raz ?  "<<endl;
                                                cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz liczyc jeszcze raz wpisz 0;  ";
                                                    cin >> wybor;

                                            }
                                    }
                                while (wybor==1);
                            }
{
    do
        {
            wybor=0; // Aby resetowac wartosc tej zmiennej w pentli

                if (menu == 1)

                    {
                        cout << "Podaj wspolczynnik a: ";
                            cin >> a;
                        cout << "Podaj wspolczynnik b: ";
                            cin >> b;
                        cout << "Podaj wspolczynnik c: ";
                            cin >> c;

                                D=(b*-(4*a*c);
                                    if (a == 0)

                        {


                            cout << "To nie jest funkcja kwadratowa " <<endl;
                            cout<<endl;
                            cout<<endl;
                            cout<<"wspolczynnik a nie moze byc rowny 0"<<endl;
                            cout <<endl;
                            cout<<"Czy chcesz liczyc funkcje jeszcze raz ?  "<<endl;
                            cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz liczyc jeszcze raz funkcji wpisz 0;  ";
                                cin >> wybor;

                        }
                            else
                                if (D<0)

                                    cout << "Ta funkcja nie ma punktu przeciecia z osia X. Jej wspolrzedne wierzcholka to: " << "(" <<-b/(2*a )<< "," << (4*a)<<")";

                            else
                                if (D>0)
                                    {
                                        cout << "Ta funkcja ma 2 rozne pierwiastki rzeczywiste: " <<"X1= "<<(-b-sqrt(D))/(2*a)<<" oraz X2= "<<(-b+sqrt(D))/(2*a)<<endl;
                                        cout<<endl;
                                        cout<<endl;
                                        cout << "Wspolrzedne wierzcholka to: " <<"("<<-b/(2*a)<<","<< (4*a)<<")";
                                    }
                            else
                                    cout << "Ta funkcja ma tylko 1 rozwiazanie: " << "("<<-b/(2*a)<<","<< (4*a)<<")";
                                    cout << endl;

                    }
    }
        while ( wybor==1);

}
{
    do
{



if (menu ==3)
   {
        cout<<"Podaj pierwsza liczbe: ";
        cin>> a;
        cout<<"Podaj druga liczbe: ";
        cin>> b;
        cout << "Wynik odejmowania drugiej od pierwszej liczby jest: "<< a-b <<endl;
        cout <<endl;
        cout<<"Czy chcesz liczyc jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz liczyc jeszcze raz wpisz 0;  ";
        cin >> wybor;

    }
    }
    while (wybor==1);
}

{
    do
{



if (menu ==4)


   {
        cout<<"Podaj dzielna: ";
        cin>> a;
        cout<<"Podaj dzielnik: ";
        cin>> b;

        if ( b ==0)
        {
        cout << "cholero nie dziel przez 0"<< endl;
        cout<<"Czy chcesz dzielic jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz dzielic jeszcze raz wpisz 0;  ";
        cin >> wybor;
        }
else
{


        cout << "Wynik dzielenia wynosi : "<< a/b <<endl;
        cout <<endl;
        cout<<"Czy chcesz dzielic jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz dzielic jeszcze raz wpisz 0;  ";
        cin >> wybor;
   }
    }
    }
    while (wybor==1);
}
{
    do
{



if (menu ==5)
   {
        cout<<"Podaj pierwsza liczbe: ";
        cin>> a;
        cout<<"Podaj druga liczbe: ";
        cin>> b;
        cout << "Wynik mnożenia wynosi: "<< a*b <<endl;
        cout <<endl;
        cout<<"Czy chcesz mnozyc jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz mnozyc jeszcze raz wpisz 0;  ";
        cin >> wybor;

    }
    }
    while (wybor==1);
}

{
    do
{



if (menu ==6)
   {
       x=1;
                cout<<"podaj a=";
                cin>>s;
                for(i=1;i<=s;i++)
                {
                x=x*i;
                }
                cout<<x<<endl;
                cout <<endl;
        cout<<"Czy chcesz mnozyc jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz mnozyc jeszcze raz wpisz 0;  ";
        cin >> wybor;
    }
    }
    while (wybor==1);
}


{
    do
{



if (menu ==7)
   {
        cout<<"Podaj liczbe pod pierwiastkiem : ";
        cin>> a;
            if (a<0)
            {

 cout<<"liczba pod pierwiastkiem nie moze bycmniejsza 0"<<endl;
 cout <<endl;
 cout<<"Czy chcesz liczyc pierwiastek jeszcze raz ?  "<<endl;
 cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz pierwiastkowac jeszcze raz wpisz 0;  ";
 cin >> wybor;

            }

                            else if (a>=0)
            {
                cout << "Wynik pierwiastkowania wynosi: "<< sqrt(a) <<endl;
        cout <<endl;
        cout<<"Czy chcesz liczyc pierwiastek jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz pierwiastkowac jeszcze raz wpisz 0;  ";
        cin >> wybor;

            }

    }
    }
    while (wybor==1);
}

{
    do
{



if (menu ==8)
   {
        cout<<"Podaj podstawe potegi: ";
        cin>> a;
        cout<<"Podaj wykladnik potegi: ";
        cin>> b;
        cout<< "Wynik potegowania wynosi: "<< pow (a,  <<endl;
        cout <<endl;
        cout<<"Czy chcesz potegowac jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz potegowac jeszcze raz wpisz 0;  ";
        cin >> wybor;

    }
    }
    while (wybor==1);

}
{
    do
{



if (menu ==9)
   {
        cout<<"Podaj liczbe a : ";
        cin>> h;
        cout<<"Podaj liczbe b : ";
        cin>> j;
        cout << "Wynik mnożenia wynosi: "<< h%j <<endl;
        cout <<endl;
        cout<<"Czy chcesz mnozyc jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz mnozyc jeszcze raz wpisz 0;  ";
        cin >> wybor;

    }
    }
    while (wybor==1);
}
}
else
    {
    cout << "Nie ma takiej opcji w menu mozesz wybrac tylko miedzy 1 a 10"<< endl;
    cout << endl;
    cout << endl;
    }
        cout<<"Czy chcesz sprobowac jeszcze raz ?  "<<endl;
        cout<<"Jezeli tak wpisz 1 natomiast jezeli nie chcesz probowac jeszcze raz wpisz 0;  ";
        cin >> wybor;



    }
    while (wybor==1);
}

return 0;
}
// proszę o dodanie 
// nww
// nwd
// czy liczba jest pierwsza
// czy liczba jest parzysta

proszę o dodanie
nww
nwd
sprawdzenie czy liczba jest pierwsza
sprawdzenie czy liczba jest parzysta
Oraz proszę o optymalizacje i zrobienie wygodniejszej pętli i działającej poprawnie wracającej do menu wyboru co liczyć
Pozdrawiam :)
Opublikowano

Po co pisać programy, jeśli wymagasz by inni coś za ciebie zrobili? Rozumiem prosić o podpowiedź czy jakąś tam małą pomoc, no ale są pewne granice. Zwłaszcza że to , o co prosisz to 2-3 minuty roboty jeśli umiesz podstawy, ale naprawdę takie podstawy podstaw. Kup książkę albo znajdź kurs na necie i pisz potem ten program

Opublikowano

Wybaczcie sam to dziś napisze a co do tego że proszę o skończenie tego to jednym z powodów było to że wczoraj po napisaniu tego co już jest w code znalazłem błąd który powoduje że pętla która jest tą końcową ( zakańcza program pyta się czy chcesz liczyć jeszcze raz i powraca na sam początek po wykonaniu zawiesza menu i nie wiem co jest nie tak, pewno coś przeoczyłem ) głównie chodzi mi o optymalizacje kodu albo o radę dotyczącą optymalizacji :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...