C++ problém se zadáním.

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Dominatorcze 4. 10. 2017 14:19

Zdravím,
Píši sem, protože nechápu nebo spíš nerozumím zadání, které jsme dostali ve škole. Já bych ho i uměl udělat, jenže ze zadání nechápu co se po mě chce. Pracuje se tam se stukturou, pár proměnnými v ní, tečkovou notací s polem a for cyklem. Něco jsem zkoušel, ale přijde mi to strašně nesrozumitelné.

***ZADÁNÍ***

1: vytvorte datovy typ auto, ktery bude obsahovat string regZnacka, string typ, cele cislo, vykon motoru a cislo
najezd.
2: vytvorte pole s nazvem garaz, ktere bude DT auto, velikost pole 10.
3: naplnte pole vychozimi hodnotami 0A1-0000 automobil, 50, 10.
4: do pate pozice ulozte hodnoty, ktere zada uzivatel.
5: vypiste cele pole se vsemi polozkami, jednotlive polozky budou na zvlastnim radku, policka oddelte **.
Dominatorcze
Kolemjdoucí

Odeslat příspěvekod zivan 4. 10. 2017 14:31

Nesrozumitelny mi prijde jen bod 5. Ale odhadl bych, ze se ma vypsat:

0A1-0000
50
10
**
0A1-0000
50
10
**
...atd.
Motorola Edge 20; HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
zivan
Junior

Odeslat příspěvekod Dominatorcze 4. 10. 2017 14:37

Co nechápu ?

Bod 2: vytvorte pole s nazvem garaz, ktere bude DT auto. Co to má znamenat ? V prvním momentě jsem jen otevřel pusu a přemýšlel, co se po mě vůbec chce.
Bod 3: Jak můžu zadávat na pátou pozici nějakou hodnotu, když na páté pozici je právě 0 z proměnné regZnacka ?

Ostatní mi dávají smysl.
Dominatorcze
Kolemjdoucí

Odeslat příspěvekod Wikan 4. 10. 2017 14:38

Spíš bych to chápal jako:
0A1-0000**automobil**50**10

Ale jinak taky nechápu, co je nejasného.

2) Vytvoříš pole obsahující auta.
3) Tím se nejspíš myslí pátá položka v poli.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod SirionRazzer 4. 10. 2017 15:27

1) typedef struct Auto {...} ...
2) auto garaz[10] = ... (DT = datovy typ)
3) do kazdeho auta v garazi nahazis ty hodnoty
4) cin >> garaz[i].najezd ...
5) for(...){for(...) cout << }

A kolem toho omáčka (include, main, namespace std)
SirionRazzer
Junior
Uživatelský avatar

Odeslat příspěvekod Dominatorcze 4. 10. 2017 15:54

A bod čtyři ? Už to chápu, ale jedinou 4 ne.
Dominatorcze
Kolemjdoucí

Odeslat příspěvekod Wikan 4. 10. 2017 16:04

Tím se nejspíš myslí pátá položka v poli.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Dominatorcze 4. 10. 2017 16:10

To znamená, že to bude vypisovat něco takového ?

0A1-0000
50
10
---
hodnota od uživatele
******************
0A1-0000
50
10
---
hodnota od uživatele
******************
Dominatorcze
Kolemjdoucí

Odeslat příspěvekod Wikan 4. 10. 2017 17:14

Ne. Pole má 10 položek, ty vypíšeš pátou.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Just_jo 4. 10. 2017 17:34

Podle mě by se měli vypsat všechny položky z pole.
Asi hodit cyklus a při páté položce zobrazit dotaz na uživatelský vstup.

Cyklus dojede a hned vypsat defacto to co psal Wikan

0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
uzivatelsky_vstup
0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
0A1-0000**automobil**50**10
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Dominatorcze 4. 10. 2017 20:20

A ten bude nejlepší tam dopsat jak ? Podmínkou if ?
Dominatorcze
Kolemjdoucí

Odeslat příspěvekod Dominatorcze 5. 10. 2017 16:11

Už 4 hodiny na to čumím a nemůžu přijít na to, jak to udělat. Nechápu vůbec zadání. Není tady někdo, kdo by sem poslal ten kod ?
Dominatorcze
Kolemjdoucí

Odeslat příspěvekod Just_jo 5. 10. 2017 16:17

V čem je takový problém?
Je to konzolová aplikace?
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Dominatorcze 5. 10. 2017 16:58

Nevím, jestli jsem ten kod podle zadání napsal správně.
Navíc netuším proč, když chci zadat desetkrát 0A1-0000 automobil 50 10, tak mi to program dovolí napsat jen 3x a potom to jen tříkrát vypíše. Avšak, když do pole dosadím jiné hodnoty vše funguje dobře.

Kód: Vybrat vše
#include <iostream>


using namespace std;

int main()
{
    struct automobil{
    string regZnacka, Typ;
    int vykonMotoru, cisloNajezdu;
    string garaz[10];
    string uzivatel;
    };
    //0A1-0000 automobil 50 10//s

    automobil vypis;

    vypis.regZnacka="0A1-0000";
    vypis.vykonMotoru=10;
    vypis.cisloNajezdu=10;

    for(int x=0;x<=9;x++){
        cin>>vypis.garaz[x];
    }
    for(int x=0;x<=4;x++){
        cout<<vypis.garaz[x];
    }
        cout<<"hodnota od uzivatele";
        cin>>vypis.uzivatel;

    for(int x=0;x<=4;x++){
        cout<<vypis.garaz[x];
    }
    }

Dominatorcze
Kolemjdoucí

Odeslat příspěvekod Just_jo 5. 10. 2017 17:15

Už jen z těch cyklů je mi ...

Ze zadání jsi nepochopil 2. - vytvořil jsi sice pole, ale ne typu "auto" - pouze string.

Prvně hoď cyklus jen pro nastavení toho pole a při 4. zápisu hoď dotaz na vyplnění všech dat.
Ne jen stringu.

V C++ nedělám, ale do 10min to dokážu napsat. Až se najím tak to spíchnu
EDIT: A až si doinstaluju Visual Studio pro C++ - mám jen pro ASP.NET C#
Just_jo
Junior
Uživatelský avatar

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků