IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: programovani c++

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Josef Josef
Člen
Avatar
Josef Josef:11.12.2016 8:02

Dobrý den,

Mám dotaz ohledně tohoto kodu, který jsem vytvořil.¨

#include <iostream>

using namespace std;

int main()
{
int n;
cout << "enter" << endl;
cin >> n;

bool neco = true;

while (1 < n) {

if (n > 5) {
neco = false;

}

if (neco) {
cout << endl;
cout << "enter is ok " << endl;
}
else {
cout << endl;
cout << "enter is not ok " << endl;
}
}
return 0;

}

A já potřebuji tam přidat ještě další dvě podmínky nahoru akorát nevím jak toho docílet.
A ještě potřebuji, aby ty přidané podmínky vypisovali něco jiného než ty původní.
Poraďte mi prosím někdo.

 
Odpovědět
11.12.2016 8:02
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:11.12.2016 8:28

Nerozumím tvému problému, "přidat dvě podmínky nahoru", aby "vypisovaly něco jiného". Mluv prosím konkrétně, já fakt nechápu o čem to mluvíš. A vlož prosím příště zdrojový kód do code, ať se na to dá koukat ;) (při vytváření příspěvku zmáčkni nahoře tlačítko </>, vytvoří se ti dvě značky mezi které zdroják vložíš)

Nahoru Odpovědět
11.12.2016 8:28
Programátor je stroj k převodu kávy na kód.
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:11.12.2016 8:38

A vůbec co to má dělat?
Na stdio vypíšeš text "Enter", načteš vstup do proměnné "n", založíš bool "neco" s hodnotou true.

Dále máš smyčku která se buď zacyklí pokud je n > 1 nebo vůbec neproběhne pokud je n <= 1. Ve smyčce měníš hodnotu "neco" na false, pokud je n > 5. To je ti ale vzhledem k zacyklení úplně na prd.

Pokud smyčka nezačne probíhat, dojde program až sem, kde na základě proměnné "neco" vypíšeš na další řádek "Enter is OK" či "Enter is not OK".

Sumasumárum, pokud uživatel zadá číslo menší rovno jedné, objeví se na stdio text "Enter is OK", pokud zadá větší číslo, program se zacyklí.

K čemu to má vůbec sloužit, já to nechápu. To má jako uživatel uhodnout nějaký kód nebo něco?

Nahoru Odpovědět
11.12.2016 8:38
Programátor je stroj k převodu kávy na kód.
Avatar
Josef Josef
Člen
Avatar
Odpovídá na krepsy3
Josef Josef:11.12.2016 12:08

Ted mi ten program Dělá, když zadám menší číslo než 1 tak vyjede na obrazovku Enter is ok a když zmáčku větší číslo než pět tak vyjede na obrazovku Enter is not. A já bych ještě chtěl přidat podmínku že když zadám číslo větší než 13 tak aby to vypsal třeba enter os.

 
Nahoru Odpovědět
11.12.2016 12:08
Avatar

Člen
Avatar
:11.12.2016 12:40

Asi ti trochu rozumiem, ale je to krkolomne, skus sa pozriet na else if
Takto:

if (podmienka) {
 //vypise sa nieco
} else if (podmienka)  {
 //vypise sa nieco ine
} else if (podmienka)  {

} else {
 //tu moze byt napr, ze zadal si nieco zle
}

Tych else if tam mozes dat kolko chces :)

 
Nahoru Odpovědět
11.12.2016 12:40
Avatar
Josef Josef
Člen
Avatar
Odpovídá na
Josef Josef:11.12.2016 12:55

Já vím takto to jde to jsem zkoušel. Ale potřebuji v tom nějak využít to bool

 
Nahoru Odpovědět
11.12.2016 12:55
Avatar

Člen
Avatar
Odpovídá na Josef Josef
:11.12.2016 13:36

Ma ten kod nejake zadanie?

 
Nahoru Odpovědět
11.12.2016 13:36
Avatar
krepsy3
Tvůrce
Avatar
Odpovídá na Josef Josef
krepsy3:11.12.2016 18:12

Tak si udělej něco jako

bool mensijedne = n < 1;
bool vetsipeti = n > 5;
bool vetsitrinacti = n > 13;

if (mensijedne) {
        cout << endl;
        cout << "enter is ok " << endl;
}
else if (vetsipeti) {
        if (vetsitrinacti) {
                cout << endl;
                cout << "enter is os " << endl;
        else {
                cout << endl;
                cout << "enter is not ok " << endl;
        }
}
else {
        cout << endl;
        cout << "enter is something else" << endl;
}

Je to předpokládám nějaké to zadání ze školy, jak naznačoval [me|]37828[/me|], že?

A mimochodem:

Já vím takto to jde to jsem zkoušel. Ale potřebuji v tom nějak využít to bool

Proč jsi to nenapsal už do prvního příspěvku ke kódu, aby se ti dalo lépe pomoci? ;)

Editováno 11.12.2016 18:13
Nahoru Odpovědět
11.12.2016 18:12
Programátor je stroj k převodu kávy na kód.
Avatar
Josef Josef
Člen
Avatar
Odpovídá na krepsy3
Josef Josef:11.12.2016 18:36

necche to překladač přeložit píše to chybu

 
Nahoru Odpovědět
11.12.2016 18:36
Avatar
Odpovídá na Josef Josef
Luboš Běhounek Satik:11.12.2016 19:26

A tu chybu nám napíšeš nebo si máme sehnat věšteckou kouli? :)

Nahoru Odpovědět
11.12.2016 19:26
https://www.facebook.com/peasantsandcastles/
Avatar
Josef Josef
Člen
Avatar
Josef Josef:11.12.2016 19:35

píše to u toho bool červeně

 
Nahoru Odpovědět
11.12.2016 19:35
Avatar

Člen
Avatar
Odpovídá na Josef Josef
:11.12.2016 20:46

a deklaroval si premennu n?

 
Nahoru Odpovědět
11.12.2016 20:46
Avatar
Josef Josef
Člen
Avatar
Josef Josef:11.12.2016 21:02

ano

 
Nahoru Odpovědět
11.12.2016 21:02
Avatar
Odpovídá na Josef Josef
Luboš Běhounek Satik:11.12.2016 21:30

Ok, už víme, že to píše červeně, to je super a je to důležitá informace, ale ještě by možná mohlo pomoct, když nám řekneš ještě jednu nepodstatnou věc - co přesně to píše a k jakýmu řádku.

Nahoru Odpovědět
11.12.2016 21:30
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Josef Josef
Richard Závodný:11.12.2016 21:34

Hele, děláš to do školy? Jestli ano, tak si někde podej inzerát, protože toto nikam nevede..

 
Nahoru Odpovědět
11.12.2016 21:34
Avatar
krepsy3
Tvůrce
Avatar
krepsy3:11.12.2016 21:36

Boha jeho. Jak jsem to psal sem do chatu, zapoměl jsem na jednu zavírací závorku. Tady je celý kód, funkční. Takovou banalitku jsi mohl najít sám... (vložil jsem si kód do VS, podvlnilo mi to v pořadí první else):

#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
        int n;
        cout << "enter" << endl;
        cin >> n;

        bool mensijedne = n < 1;
        bool vetsipeti = n > 5;
        bool vetsitrinacti = n > 13;

        if (mensijedne) {
                cout << endl;
                cout << "enter is ok " << endl;
        }
        else if (vetsipeti) {
                if (vetsitrinacti) {
                        cout << endl;
                        cout << "enter is os " << endl;
                }
                else {
                        cout << endl;
                        cout << "enter is not ok " << endl;
                }
        }
        else {
                cout << endl;
                cout << "enter is something else" << endl;
        }

        cin >> empty;

        return 0;
}
Nahoru Odpovědět
11.12.2016 21:36
Programátor je stroj k převodu kávy na kód.
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 16 zpráv z 16.