Anonymní profil Ondra – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Ondra – Programujte.comAnonymní profil Ondra – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:1001:69c:fdd3:55...–

Ondra
C / C++ › Školní projekt v C++ - probl…
15. 10. 2014   #194957

Tenhle kod dělá přesně to co v tom první zdrojáku, tj. vypíše další fib. číslo po zadání jakéhokoli znaku kromě 'n', které ukončí program. Já potřebuju ještě k tomu aby se číslo zobrazilo i pouze po stisknutí klávesy enter bez nutnisti zadání znaku :/ a to mi právě nějak nejde a nevím si s tím pořád rady :(

Ondra
C / C++ › Školní projekt v C++ - probl…
15. 10. 2014   #194950

Jakmile se program spustí, vypíše se pouze jedno fib. číslo a to když zadám znak. Na enter nereaguje a po zobrazení jednoho čísla už pak ani na znak :/

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

using namespace std;

int main()
{
    int a = 1, b = 1, c = 2, fib = 0;
    char znak;
    cout << "Fibonacciho posloupnost zacina cisly 1,1,2" << endl;
    cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
    //cin >> znak;

    do
    {
        cin >> znak;
        if (znak != 'n')
        {
                fib = b + c;
                b = c;
                c = fib;
                cout << "Dalsi cislo Fibonacciho posloupnosti je:" << fixed << fib << endl;
                cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
        }
        char dummy = znak;
        while (dummy != '\n') // nacteme vsechny znaky do konce radku... ale ve znaku nechame jen ten prvni
        {
                cin >> dummy;
        }
    }
    while(znak != 'n');
    return 0;
}

Připojen obrázek.

Ondra
C / C++ › Školní projekt v C++ - probl…
14. 10. 2014   #194939

Nějak na to pořád nemůžu přijít :( pořád dělám něco špatně :/ už mě nic nenapadá...

Ondra
C / C++ › Školní projekt v C++ - probl…
14. 10. 2014   #194933

Mohl by jste mi prosím zkusit naznačit jak by to mělo vypadat nebo jak tu podmínku použít? Zkusil jsem, ale pořád mi to dělá to samé nebo to co nechci :(

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

using namespace std;

int main()
{
    int a = 1, b = 1, c = 2, fib = 0;
    char znak;
    cout << "Fibonacciho posloupnost zacina cisly 1,1,2" << endl;
    cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
    cin >> znak;

    do
    {
        if((znak != 'n') || (znak != '\n'))
        {
                fib = b + c;
                b = c;
                c = fib;
                cout << "Dalsi cislo Fibonacciho posloupnosti je:" << fixed << fib << endl;
                cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
                cin >> znak;
        }
        if(znak == '\n')
        {
                fib = b + c;
                b = c;
                c = fib;
                cout << "Dalsi cislo Fibonacciho posloupnosti je:" << fixed << fib << endl;
                cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
         
    }
    while(znak != 'n');

    return 0;
}
Ondra
C / C++ › Školní projekt v C++ - probl…
13. 10. 2014   #194913

Dobrý večer, poradil by mi někdo s projektem do školy? Mám za úkol vypisovat postupně Fibonacciho posloupnost po zadání jakéhokoliv znaku kromě "n" (znak + enter pro odeslní ) nebo pouze po stisknutí klávasnice enter bez zadání znaku. Po zadání znaku "n" se program ukončí. Vše mi funguje jak má, kromě té části, která zařídí, aby po stisknutí klávesnice enter se provedlo to samé co po zadání znaku a enter. Jsem začátčník a fakt si nevím rady :/ dočetl jsem se něco o použití cin.het() >> "\n"; , ale nevím kde a jak to použít aby mi to fungovalo jak má :/ všem moc díky za rady :)

Ukázka zdrojového kódu:

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

using namespace std;

int main()
{
    int a = 1, b = 1, c = 2, fib = 0;
    char znak;
    cout << "Fibonacciho posloupnost zacina cisly 1,1,2" << endl;
    cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
    cin >> znak;

        if((znak != 'n') & (cin.get() == '\n'))
        {
            fib = b + c;
            b = c;
            c = fib;
    cout << "Dalsi cislo Fibonacciho posloupnosti je:" << fixed << fib << endl;


    for (znak = 0; znak != 'n'; znak)

    {
        cout << "Zobrazit dalsi? [cokoliv/n]" << endl;
        cin >> znak;

        if((znak != 'n') & (cin.get() == '\n'))
        {
            fib = b + c;
            b = c;
            c = fib;
        cout << "Dalsi cislo Fibonacciho posloupnosti je:" << fixed << fib << endl;
        }
        else
        {
        cout << endl;
        }
    }
        }
    return 0;
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý