Zdravím mám za úkol naprogramovat program na faktorizaci... Ale nevím jak udělat podmínku, aby když napíšu text místo číslice, mi to napsalo "nespravny vstup".
Ukázka:
Zadejte hodnoty v, w a h:
1 2 chyba
Nespravny vstup.
Můj program
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double v;
double w;
double h;
cout<<"Zadejte hodnoty v, w a h:"<<endl;
cin>>v;
cin>>w;
cin>>h;
if (w==0 || v<0 || w<0 || h<0)
{
cout<<"Nespravny vstup."<<endl;
return 0;
}
h = h * ((w * v) / (w * w * h));
w = w * ((v * h) / (w * h * h));
std::cout.precision(3);
std::cout << "\n" << std::fixed;
cout<<"Cislo " <<v<< " lze faktorizovat na " <<w<< " x " <<h<< ". Faktorizace ma chybu 0.000."<<endl;
return 0;
}
nicmene kdyz mas cin >> do double tak jakykoliv spatny vstup zpusobi ze se cin zasekne na necem jako fail_bit nebo tak neco... staci to testovat --- nebo si na to nacteni udelat funkci
Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
}
je to test na to, jeslti vstup cin byl nebo nebyl zadán správně, tady je psané - jestliže cin se nerovná správnému vstumu ( no a do tech křivých závorek jen napiš, co to má udelat a dej tam, že to má vypsat ten špatný vstup a musíš tam potom taky dopsat
return 0;
aby se to ukončilo