Nauč se s námi víc. Využij 50% bonus na e-learningové kurzy.
Pouze tento týden sleva až 80 % na e-learning týkající se Javy
Avatar
ondra.482
Člen
Avatar
ondra.482:13.4.2013 16:21
// 11.4.2013
// Výpočet kořenů pro kvadratickou rovnici
#include<iostream>
#include<cmath> // matematická knihovna


using namespace std;
void main()
{
        float a,b,c;
        float x1,x2,D;




        cout <<"Vypocet korenu kvadraticke rovnice ze vzorce ax + bx + c = 0\n";

        cout << "\n\Zadejte a ";
        cin >> a;








        while (a==0)
        {
                cout << " Neplatny udaj a zvol cislo znovu";
                cout << " \nZadej a ";
                cin >> a;
        }
        cout<<"\Zadejte b ";
        cin>> b;
        cout<<"\Zadejte c ";
        cin>> c;




        D=(b*b)-(4*a*c);
        cout <<"Diskriminant je " << D  << "\n";
                if (D==0)
                {
                        x1=(-(b))*(2*a);
                        cout << "Rovnice ma spolecne koreny";
                        cout << "\ x1,x2= " << x1 << "\n";
                }

                if (D>0)
                {
                        x1=((-b)+sqrt(D))/(2*a);

                        cout << "Rovnice ma 2 koreny\n";
                        cout << "x1= " << x1 << "\n";
                        x2=((-b)-sqrt(D))/(2*a);
                        cout << "x2= " << x2 << "\n";
                }
                if (D<0)
                {

                        x1=-(b/(2*a));

                        x2= sqrt(-D)/(2*a);



                        cout << "Rovnice nema zadny realny koren\n";
                        cout << "Rovnice ma dva imaginarni koreny\n";
                        cout << "x1= " << x1  << "+" << x2 <<"i";
                        //x2=((-b)-sqrt(D))/(2*a);
                        cout << "\nx2= " << x1  <<"-"<< x2 << "i\n";


                }

        system("pause");
}

Ahoj, za boha nevím jakou podmínku dát pro to,aby mi při napsání písmena,vrátilo zpět z opakováním na vložení čísla

 
Odpovědět
13.4.2013 16:21
Avatar
Зайчик
Člen
Avatar
Odpovídá na ondra.482
Зайчик:13.4.2013 16:41
if(scanf("%d", &a) == 1) // uzivatel zadal cislo
else return 0; // nezadal

v c++ s cout to bude podobně :)

-> stackoverflow.com

Maybe not a proper way... I use that in my school homework.

#include <iostream>
#include <stdio.h>
#include <conio.h>

int getInputNumber()
{
    int key;
    do
    {
        key = _getch();
    }while (key < '0' || key > '9');
    std::cout << key - '0';
    return key - '0';
}

int main()
{
    int n = getInputNumber() ;
    system("pause");
    return 0;
}
Editováno 13.4.2013 16:43
Nahoru Odpovědět
13.4.2013 16:41
Коммунизм для нашего будущего!
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
idc
Člen
Avatar
idc:13.4.2013 17:17
while (!(cin >> a))
{
                while(cin.get() != '\n')
                        cin.clear();
                cout << "Opakuj" << endl;
                continue;
}
cout<<"\Zadejte b ";
cin>> b;
cout<<"\Zadejte c ";
cin>> c;
 
Nahoru Odpovědět
13.4.2013 17:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.