| Autor | Zpráva | ||
|---|---|---|---|
| winz Profil * |
#1 · Zasláno: 24. 10. 2014, 14:24:46
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. |
||
|
Časová prodleva: 12 let
|
|||
0