Autor Zpráva
winz
Profil *
mam tenhle program a nevim jak se switchem
ma vybrat jednu z moznosti a tu provest

#include "stdafx.h"
#include "Cisla.h"

int Cisla::GetA() const
{
    return a;
}

int Cisla::GetB() const
{
    return b;
}

void Cisla::SetA(int v)
{
    a = v;
}

void Cisla::SetB(int v)
{
    b = v;
}

int Cisla::Soucet() const
{
    return a + b;
}

float Cisla::Prumer() const
{
    return (float) (a + b) / 2;
}

int Cisla::Max() const
{
    int m;
    if (a > b)
        m = a;
    else
        m = b;
    return m;
}

int Cisla::Min() const
{
    int m;
    if (a < b)
        m = a;
    else
        m = b;
    return m;

}

bool Cisla::JeNula() const
{
    /*
    if (a == 0)
        return true;
    else
        if (b == 0)
            return true;
        else
            return false;
            */
    return (a == 0) || (b == 0);
}

bool Cisla::JeNulaAll() const
{
    /*
    if (a == 0)
        if (b == 0)
            return true;
        else
            return false;
    else
        return false;
        */
    /*
    if (a == 0 && b == 0)
        return true;
    else
        return false;
        */
    return (a == 0 && b == 0);
}

int Cisla::NSN() const
{
    int n = Max();
    int k = Max();

    while (true)
    {
        if (n % a == 0 && n % b == 0)
            break;
        n += k;  // n = n + k;
    }

    return n;
}

int Cisla::NSD() const
{
    if ((a <= 0) || (b <= 0))
        return -1;

    int n = Min();
    while (n >= 1)
    {
        if (a % n == 0 && b % n == 0)
            break;
        n--;    // n = n - 1
    }
    return n;
}
int Cisla::Rozdil() const
{
    return a - b;
}

int Cisla::Soucin() const
{
    return a * b;
}

float Cisla::Podil() const
{
    if ((a > 0) && (b > 0))
        return float(a / b);
    else 
        return 0;
}

bool Cisla::JsouStejne() const
{
    return (a == b);
}

bool Cisla::JsouKladna() const
{
    return (a > 0 && b > 0);
}

int Cisla::Opacne() const
{
    int m;
    m = a;
    return (-m);
}


int Cisla::Operace(int op) const
{
    
switch (op)
    {
    case '1':
        
        break;
    case '2':
        Rozdil;
        break;
    case '3':
        Soucin;
        break;
    case '4':
        Podil;
        break;
    case '5':
        Max;
        break;
    case '6':
        Min;
        break;
    default:
        cout << "no";
        break;
    }
    return 0;
}
Alphard
Profil
Kde konkrétně je problém? Ten kód trochu vypadá jako slepený bez základních znalostí C++. Proměnná op je typu int, pozor na to. A pak by mělo stačit volat patřičné metody jako metody, tj se závorkami.

Dodávám, že další věc je, jak zpracovat výsledek, když si vracíte různý datový typ. Proto jsem hned neupozorňoval na to, že nikam nepřiřazujete výsledek.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: