Kalkulator za pomocą if/for/switch

0

Witam
Mam za zadanie wykonać kalkulator który wykona następujące działania: + - * / % ^
lecz mam mały problem z dzieleniem oraz potęgowaniem. Jeśli chodzi o dzielenie
to nie mam pojęcia jak zamienić liczby int na liczby float:

case '/':
      cout<<"Iloraz "<<liczba1/liczba2;
break;

A jeśli chodzi o potęgowanie to nie mam pojęcia jak to zrobić gdyż taki kod w ogóle nie działa:

case '^':
      cout<<"Potega "<<liczba1^liczba2;
break;

Oto całość kodu:

#include <iostream>
#include <math.h>

using namespace std;
int liczba1,liczba2;
char znak;

int main()
{
    cout<<"Podaj pierwsza liczbe: ";
    cin>>liczba1;
    cout<<"Podaj druga liczbe: ";
    cin>>liczba2;
    cout<<"Podaj znak dzialania: ";
    cin>>znak;

    switch(znak)
    {
        case '+':
            cout<<"Suma "<<liczba1+liczba2;
        break;

        case '-':
            cout<<"Roznica "<<liczba1-liczba2;
        break;

        case '*':
            cout<<"Iloczyn "<<liczba1*liczba2;
        break;

        case '/':
            cout<<"Iloraz "<<liczba1/liczba2;
        break;

        case '%':
            cout<<"Reszta "<<liczba1%liczba2;
        break;

        case '^':
            cout<<"Potega "<<liczba1^liczba2;
        break;

        default: cout<<"Nie ma takiego dzialania! ";
    }

    return 0;
}
2

jak zamienić liczby int na liczby float

rzutuj:

cout<<"Iloraz "<<(double)liczba1/liczba2;

jeśli chodzi o potęgowanie to nie mam pojęcia

Nom. ^ to xor. Jak chcesz potęgować to <cmath> i pow()

case '^':
      cout<<"Potega "<<pow(liczba1,liczba2);
0

Wielkie dzięki za szybką odpowiedź teraz już wszystko działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1