Priklady z Mistrovstvi v C++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Priklady z Mistrovstvi v C++ – C / C++ – Fórum – Programujte.comPriklady z Mistrovstvi v C++ – C / C++ – Fórum – Programujte.com

 

Necro
~ Anonymní uživatel
5 příspěvků
19. 8. 2013   #1
-
0
-

Cawte.

Začínam sa učit c++. Učím sa z knihy Mistrovství v C++.

Zatiaľ som si prešiel prvé dve kapitoly. K druhej sú programátorske cvičenia. Bolo tam 6 programov. Spravil som ich ale chcel by som aby sa niekto skúsenejší na ne pozrel a opravil prípadne chyby. Všetky mi išli spustiť.

zadanie: http://imageshack.us/g/43/kah2.jpg/

1.

#include <iostream>

int main()
{
    using namespace std;
    cout << "Volam sa Necro byvam v Bratislave a zacinam s programovanim v c++.";

    cin.get();
    cin.get();

    return 0;
}

2.

#include <iostream>

int main()
{
    using namespace std;

    int furlong, yards;
    
    cout << "Vlozte vzdialenost v jednotkach furlong" << endl;
    cin >> furlong;
    
    yards = furlong * 220;

    cout << furlong << " furlong je: " << yards << " yardov" << endl;

    cin.get();
    cin.get();

    return 0;

}

3.
#include <iostream>

using namespace std;

void mys();
void divaj();

int main()
{
    mys();
    mys();
    divaj();
    divaj();


    cin.get();
    cin.get();

    return 0;
}

void mys()
{
    cout <<"Tri slepe mysi"<<endl;
}

void divaj()
{
    cout << "Divejte sa, jak utekaji" << endl;
}


4.
#include <iostream>

using namespace std;

float prevod(float);

int main()
{

    float teplotaC;
    float teplotaF;

cout << "Zadajte honotu v stupnoch Celsia: " << endl;
cin >> teplotaC;
teplotaF = prevod(teplotaC);
cout << teplotaC<< " stupnov C je " << teplotaF <<" stupnov F" << endl;

cin.get();
cin.get();

return 0;

}

float prevod(float teplotaC)
{
return teplotaC * 1.8 + 32;
}

//alebo
//float prevod(float teplotaC)

//{

//    float teplotaF;

//    teplotaF = teplotaC * 1.8 +32;

//    return teplotaF;

//    

//}

5.
#include <iostream>

using namespace std;

double prevod(double);

int main()
{
    float svetRoky;
    double astromJedn;

    cout << "Zadajte vzdialenost vo svetelnych rokoch." << endl;
    cin >> svetRoky;
    cout << endl;

    astromJedn= prevod(svetRoky);

    cout << svetRoky << " svetelnych rokov je " << astromJedn <<" astronomickych jednotiek" << endl;


    cin.get();
    cin.get();

    return 0;
}

double prevod(double svetRoky)
{
    double astromJedn;

    astromJedn = svetRoky * 63240;
    return astromJedn;
}


6.
#include <iostream>

using namespace std;

void cas(int h, int m)
{
    cout << "Zadal si: " << h << "hodin" << endl;
    cout << "Zadal si: " << m << "minut" << endl;
    cout << "Cas: " << h << ":" << m << endl;
}
int main()
{
    int hodiny, minuty;

    cout << "Zadaj pocet hodin: " << endl;
    cin >> hodiny;
    
    
    cout << "zadaj pocet minut: " << endl;
    cin >> minuty;
    cout << endl;
    
    cas(hodiny, minuty);

    cin.get();
    cin.get();

    return 0;
}

 

Dík.

Nahlásit jako SPAM
IP: 95.105.238.–
Kowalsky950
Stálý člen
19. 8. 2013   #2
-
0
-

Jsou to lehké příklady, chybu jsem tam nenašel žádnou.
Jen dvě poznámky:
1 - Jestliže nemáš v programu cin, nemusíš psát nakonci dvě cin.get(), proč, to se dozvíš v dalších kapitolách
2- cin ti automaticky zalomí řádek, takže v kodu
 

cout << "Zadajte vzdialenost vo svetelnych rokoch." << endl;
cin >> svetRoky;
cout << endl;


budeš mít další řádek ob-jeden.

Nahlásit jako SPAM
IP: 90.176.114.–
Necro
~ Anonymní uživatel
5 příspěvků
19. 8. 2013   #3
-
0
-

#2 Kowalsky95
2x cin na konci som dával preto aby mi to hneď nezmyslo...raz mi niekto povedal že to je lepšie ako system("pause");

a ináč je nejaký rozdiel keď mam funkciu pred main? ako v 6 príklade? lebo keď som ju dal pod tak mi to nešlo

Nahlásit jako SPAM
IP: 95.105.238.–
Kowalsky950
Stálý člen
19. 8. 2013   #4
-
0
-

#3 Necro
Ale když v prvním příkladu napíšeš pouze jedno cin.get() tak ti to nezmizne a bude ti to stačit. std::cin za sebou nechává ve frontě znak enter, takže proto musíš mít dvakrát cin.get(), to první ti vezne ten enter, který byl zachován ve frontě, a teprve ten druhý ti čeká na reakci. Určitě se o tom někde v knížce dočteš.

Funkce má prototyp a definici. Počítač čte program z vrchu. Před samotnou funkcí main musíš mít prototypy funkcí, které v ní používáš. Taky se o tom určitě dočteš. Pokud chceš vložit funkci za main, přepiš její hlavičku. Příklad:
 

#include <iostream>
int nasobit(int a);
int main()
{
nasobit(4);
std::cin.get();
return 0;
};

int nasobit(int a)
{
return a*a;
};
Nahlásit jako SPAM
IP: 90.176.114.–
KIIV
~ Moderátor
+43
God of flame
19. 8. 2013   #5
-
0
-

a casem se treba doslechnes i o prikazove radce - a tam kdyz spustis tydle programy, tak ti vypis nezmizne ani bez vynucovani zmacknuti klavesy(nebo jen enteru)... muzes pokracovat dalsima prikazama, aniz by se to muselo nejak odklepavat (hlavne je to absolutne nepouzitelny pro jakoukoliv automatizaci - jako kdyz se misto vstupu z klavesnice presmeruje soubor a program to vidi jako kdyby to psal nekdo na klavesnici)

Nahlásit jako SPAM
IP: 213.220.241.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Kenvelo+2
Super člen
20. 8. 2013   #6
-
0
-

#1 Necro

Já bych dodal možná maličkost. using namespace std; je dobré dávat hned pod #include <....>

a ten 2x cin.get();  praktičtější je get.put(); nebo system("pause");  myslím, že tenkrát sem dělal příklad, kde jen díky cin.get(); mi neběžel tak jak měl ;)

Nahlásit jako SPAM
IP: 89.103.14.–
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
crazy
~ Moderátor
+10
Grafoman
20. 8. 2013   #7
-
0
-

#6 Kenvelo
get.put() ?

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
Kenvelo+2
Super člen
20. 8. 2013   #8
-
+1
-
Zajímavé

#7 crazy
jé sorry :) byl sem někde jinde :D "getchar();" omlouvám se ;) díky za upozornění ;)

Nahlásit jako SPAM
IP: 89.103.14.–
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
Necro
~ Anonymní uživatel
5 příspěvků
21. 8. 2013   #9
-
0
-

tiež som na to pozeral, ale kedže začínam len tak som si nebol istý:D....

dnes idem na ďaľšiu kap, tak potom pošlem cvičenie

Nahlásit jako SPAM
IP: 95.105.238.–
Necro
~ Anonymní uživatel
5 příspěvků
30. 8. 2013   #10
-
0
-

Teraz som sa vrátil z dovolenky, kde som nemal net, tak až teraz posielam ďalšiu kapitolu.

zadanie: http://oi42.tinypic.com/514jtd.jpg , http://oi43.tinypic.com/2s8l21j.jpg

a chcel by som sa opýtať:

symbolické konštanty mám dávať hneď za include? či do mainu?

resp keď je v main tak platí iba v nej a keď je mimo tak platí pre všetky prípadné funkcie?

a ešte by som sa chcel opýtať kedy používať double a nie float?

dik za odpovede, kontrolu a rady

:)

1.
#include <iostream>


using namespace std;

int main()
{
    const int palce = 12;
    int vyskaP;
    int stopy;
    int zvysokP;


    cout << "zadajte vasu vysku v palcoch: ___ /b/b/b " << endl;
    cin >> vyskaP;
    
    stopy = vyskaP / palce;
    zvysokP = vyskaP % palce;
    
    cout << "tvoja vyska je: " << stopy << " stop a " << zvysokP << " palcov. \n";

    system("pause");

    return 0;
}


2.
#include <iostream>

using namespace std;

int main ()
{
    const int stopyPalce = 12;
    const float palceMeter = 0.0254;
    const float libKilo = 2.2;

    int vyStopy;
    int zvysokVyskyVPalcoch;
    int vaLibry;

    cout << "Zadajte vysku v stopach. \n";
    cin >> vyStopy;

    cout << "Zadajte zvysok vysky v placoch. \n";
    cin >> zvysokVyskyVPalcoch;

    cout << "Zadajte vahu v librach. \n";
    cin >> vaLibry; 
    

    int palce = ((vyStopy * stopyPalce) + zvysokVyskyVPalcoch);

    float vyskaM = palce * palceMeter;
        
    float vahaKg =  vaLibry / libKilo;

    float BMI = (vahaKg / (vyskaM * vyskaM));

        cout << "Vas BMI index je: " << BMI << endl;

        cin.get();
        cin.get();

        return 0;
}

3.
#include <iostream>
using namespace std;

int main()
{
    const float uhlovaMinuta = 60.0;    //uhlovaminuta=60 uhlovych sekund
    const float uhlovyStupen = 60.0;    //uhlovystupen = 60 uhlovych minut
    
    int stupne;
    int minuty;
    int sekundy;
    double zemSirka;

    cout << "Zadaj zemepisnu sirku v stupnoch, minutach a sekundach \n";
    cout << "Najprv stupne: ";
    cin >> stupne;
    
    cout << "Teraz uhlove minuty: ";
    cin >> minuty;
    
    cout << "Nakoniec sekundy: ";
    cin >> sekundy;

    zemSirka = (((((minuty * uhlovaMinuta) + sekundy) / uhlovaMinuta) / uhlovyStupen) + stupne);

    cout << stupne << " stupnov " << minuty << " minut " << sekundy << " sekund = " << zemSirka << " stupnov.";

    cin.get();
    cin.get();

    return 0;
}

4.
#include <iostream>
using namespace std;

int main()
{
    const int hodinaVDen = 24;
    const int minutaVHodina = 60;
    const int sekundaVMinuta = 60;

    long Lsekunda;
    
    cout << "Zadaj pocet sekund: ";
    cin >> Lsekunda;

    int den = (((Lsekunda / sekundaVMinuta) / minutaVHodina) / hodinaVDen);
    int prvyZvysokSek = Lsekunda - (den * hodinaVDen * minutaVHodina * sekundaVMinuta);
    int hodina = ((prvyZvysokSek / sekundaVMinuta) / minutaVHodina);
    int druhyZvysokSek = prvyZvysokSek - (hodina * minutaVHodina * sekundaVMinuta);
    int minuta = druhyZvysokSek / minutaVHodina;
    int sekunda = druhyZvysokSek - (minuta * sekundaVMinuta);

    cout << Lsekunda << "sekund = " << den << " dni " << minuta << " minut " << sekunda << " sekund ";
    //cout << Lsekunda << "sekund = " << den << " dni " << hodina << " hodin " << minuta << " minut " << sekunda << " sekund ";
    cin.get();
    cin.get();

    return 0;

}
5.
#include <iostream>

using namespace std;

int main()
{
    double mil;
    double galon;

    cout << "Aku vzdialenost v milach ste presli a kolko galonov benzinu ste pri tom spotrebovali? \n";
    cout << "Pocet mil: ";
    cin >> mil;
    cout << "Pocet galonov: ";
    cin >> galon;

    float spotreba = mil / galon;

    cout << "Spotreba auta je : " << spotreba << " mil na galon.\n";

        cin.get();
        cin.get();
}

6.
#include <iostream>

using namespace std;

const float stoKmNaM = 62.14;
const float literNaG = 3.857;

int main()
{
cout << "Zadaj spotrebu auta v litroch na 100km: ";
float eSpotreba;
cin >> eSpotreba;

float uSpotreba = (stoKmNaM / ( eSpotreba / literNaG));

cout << "V americkom style je tato spotreba rovna: " << uSpotreba << " mil na galon \n";

cin.get();
cin.get();

return 0;
}

 
Nahlásit jako SPAM
IP: 95.105.238.–
Necro
~ Anonymní uživatel
5 příspěvků
4. 9. 2013   #11
-
0
-

Nechcem zakladať nové vlákno, keď sa všetko týka učenia sa z knihy.

Mám dotaz: Aký je rozdiel v použití getline() a get()?

cin.getline()

cin.get()

ďik

Nahlásit jako SPAM
IP: 193.87.115.–
KIIV
~ Moderátor
+43
God of flame
4. 9. 2013   #12
-
0
-
Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

Podobná vlákna

Mistrovstvi C++ — založil Petr Pilař

Mistrovstvi V C++ — založil defer

Mistrovstvi C++ 8.4 — založil Onsi

Mistrovství v C++ - cvičenia — založil Enuyvatar

Moderátoři diskuze

 

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