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

C++ Kalkulator


Rekomendowane odpowiedzi

Opublikowano

Czesc 

Zaczalem nauke z C++ i chcialbym stworzyc prosty kalkulator na poczatek aczkolwiek nie wiem do konca jak go zrobic

Co chcialbym osiagnac?:

Zeby wyswietlal sie napis

Wpisz dzialanie

Nastepnie zeby ktos mogl wpisac dzialanie

np 2+2

I zeby wyswietlal sie wynik

4

Widzialem sporo kalkulatorow na internecie ale one mialy menu wyboru typu dzialania

Prosze o pomoc! :D

Pomogłem? Daj +

Opublikowano

Musisz odczytać znak pomiędzy liczbami i zastosować działanie, np. z wykorzystaniem pętli

switch (char znak) {
case '+':
	wynik=a+b;
	break;
case '-':
	wynik=a-b;
	break;
//itd
}

Jeśli w ogóle nie masz pojęcia o C++ i nawet nie potrafisz wypisać tekstu to zacznij naukę od podstaw.

Opublikowano

Musisz odczytać znak pomiędzy liczbami i zastosować działanie, np. z wykorzystaniem pętli

switch (char znak) {
case '+':
	wynik=a+b;
	break;
case '-':
	wynik=a-b;
	break;
//itd
}

Jeśli w ogóle nie masz pojęcia o C++ i nawet nie potrafisz wypisać tekstu to zacznij naukę od podstaw.

Słaby pomysł, w takim wypadku musiałby oddzielnie brać liczbe, działanie, znów liczbe.

std::cin >> l1 >> znak >> l2

Skorzystaj z biblioteki cstdio.

No chyba, że jesteś z tych kombinatorów to możesz próbować z std::cin.getline().

TuByłaSygnatura.png

Opublikowano
#include <iostream>

using namespace std;

int l1;
int l2;
string znak;
int x;
string a;
string b;
string c;


int main()
{
    cout << "Wpisz dzialanie:" << endl;
    a = +
    b = -
    c = *
    cin >> l1 >> znak >> l2;
    if(znak==a)
    {
    x = l1+l2
    cout << x << endl;
    }
    if(znak==c)
    {
        x = l1*l2
        cout << x << endl;
    }
    if(znak==
    {
        x = l1-l2
        cout << x << endl;
    }
    return 0;
}

Słaby pomysł, w takim wypadku musiałby oddzielnie brać liczbe, działanie, znów liczbe.

std::cin >> l1 >> znak >> l2
Skorzystaj z biblioteki cstdio.

No chyba, że jesteś z tych kombinatorów to możesz próbować z std::cin.getline().

 

 

Czemu ten kod nie działa?

Pomogłem? Daj +

Opublikowano

@1373230489-U611928.pngVereX. dlaczego niby cstdio miałoby być lepsze?

 

@DoZoDesign

Stałe tekstowe wpisujemy tak:

"+"

Brakuje też paru średników i zapomniałeś o:

#include <string>
Opublikowano

 

@1373230489-U611928.pngVereX. dlaczego niby cstdio miałoby być lepsze?

 

No to może porównaj sobie sam.

 

if(scanf("%lf %c %lf",&a,&znak,&==3)
            {
             if(znak=='+') printf("%lf + %lf = %lf\n",a,b,a+;
             else if(znak=='-') printf("%lf - %lf = %lf\n",a,b,a-;
             else if(znak=='/') printf("%lf / %lf = %lf\n",a,b,a/b);
             else if(znak=='*') printf("%lf * %lf = %lf\n",a,b,a*; }

Jeśli chcesz mi pokazać lepszy kod napisany zapisany za pomocą iostreamu to z chęcią obejrzę.

TuByłaSygnatura.png

Opublikowano

@1373230489-U611928.pngVereX.

if (std::cin >> a >> znak >> 
{
if (znak == '+') std::cout << a << " + " << b << " = " << a + b << std::endl;
else if (znak == '-') std::cout << a << " - " << b << " = " << a - b << std::endl;
else if (znak == '/') std::cout << a << " / " << b << " = " << a / b << std::endl;
else if (znak == '*') std::cout << a << " * " << b << " = " << a * b << std::endl; }
Zero różnicy poza faktem że musisz się użerać z wpisywaniem formatu poszczególnych zmiennych...
Opublikowano

Najpierw wypisz w tekście opcje do wyboru, np.

 

Kalkulator

Wybierz działanie:

1.Dodawanie

2.Odejmowanie

Twój wybór:

 

I W tym miejscu std::cin >> Wybor .

Potem:

 

switch (Wybor)

case 1: std::cout << "Dodawanie podaj pierwszą liczbę, a potem drugą" << std::endl;

std::cin >> nLiczba1;

std::cin >> nLiczba2;

int nWynik1 = nLiczba1 + nLiczba2;

std::cout << nWynik1 << std::endl;

 

I podobnie z odejmowaniem.

 

Jestem na podobnym poziomie co Ty, tylko ja już zrobiłem kalkulator z procentami :D

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...