Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

C++ minimálka?
Jdi na stránku 1, 2, 3  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: ne srpen 09 2015, 16:53    Předmět: C++ minimálka? Citovat

Ahoj, když kdesi chtějí základní znalosti C++, co přesně se pod tím rozumí? Co je to minimum? Toto? Abych věděl, co se tak v průměru očekává.

kód:

#include <iostream>
using namespace std;
int main()
{
  int volba, cislo1, cislo2 ; // deklarovani funkce volba a operandů příkladů
  float deleni ; // deleni se zbytkem umoznuje pouze nekolik druhu pameti, viz Floating point anebo Pohyblivá řádová čárka
  do //do-while loop starts here.that display menu again and again until user select to exit program
  {
     //Vlastni nabidka:
     cout << "Vitejte v ukazkovem programu na vypocet ele. vykonu." << endl;
    cout << "Upozorneni: pri psani desetinnych cisel dodrzujte" << endl;
    cout << "anglosasky standart, tudiz 2.5 (nikoliv 2,5)!" << endl;
    cout << "(Vyhotoven: 9.8.2015)" << endl;
    cout << "1) P = W / t" << endl;
     cout << "2) W = P * t" << endl;
     cout << "3) t = W / P" << endl;
     cout << "4) KONEC" << endl;

     cout << "Prosim, zadejte volbu: ";
     cin >> volba;
     
     if(volba == 1)
     {
    cout << "Zvolen vykon P = W / t" << endl;
    cout << "Zadejte praci [J]: " << endl;
   cin >> deleni;
   cout << "Zadejte cas [s]: " << endl;
   cin >> cislo1;
   deleni /= cislo1;
   cout << "Vas vysledek: [W]" << endl;
   cout << deleni << endl;
    }
     else if(volba == 2)
     {
    cout << "Zvolena prace W = P * t" << endl;
    cout << "Zadejte vykon [W]: " << endl;
   cin >> cislo1;
   cout << "Zadejte cas [s]: " << endl;
   cin >> cislo2;
   cislo1 *= cislo2;
   cout << "Vas vysledek: [J]" << endl;
   cout << cislo1 << endl;
     }
     else if(volba == 3)
     {
    cout << "Zvolen cas t = W / P:" << endl;
    cout << "Zadejte praci [J]: " << endl;
   cin >> deleni;
   cout << "Zadejte vykon [W]: " << endl;
   cin >> cislo1;
   deleni /= cislo1;
   cout << "Vas vysledek: [s]" << endl;
   cout << deleni << endl;
     }
    else if(volba == 9)
     {
    cout << "Zvoleno deleni:" << endl;
   cout << "Zadejte prvni cislo: " << endl;
   cin >> deleni;
   cout << "Zadejte druhe cislo: " << endl;
   cin >> cislo1;
   deleni /= cislo1;
   cout << "Vas vysledek: " << endl;
   cout << deleni << endl;
  }
    else if(volba == 5)
     {
    cout << "Zvoleno MODULO (navratka zbytku po deleni):" << endl;
    cout << "Zadejte prvni cislo: " << endl;
   cin >> cislo1;
   cout << "Zadejte druhe cislo: " << endl;
   cin >> cislo2;
   cislo1 %= cislo2;
   cout << "Vas vysledek: " << endl;
   cout << cislo1 << endl;
  }
    else if(volba == 6)
     {
       
        cout << "test kruh" << endl;
  }
    else if(volba == 7)
     {
       
        cout << "test rez" << endl;
  }
     else if(volba == 4)
     {
       cout << "Ukonceni programu..." << endl;
     }
     else if(volba % 2 == 0) 
     {
       
        cout << "Toto neni cislo!" << endl;
    }
  else //doplnit hlídání CÍSELNÝCH výrazů
     {
       //Displaying error message
       cout << "Zadan neplatny udaj." << endl;
     }
  }
  while(volba != 8); 
   
   return 0;
}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frpr666



Založen: Dec 28, 2009
Příspěvky: 1051

PříspěvekZaslal: po srpen 10 2015, 7:38    Předmět: Citovat

No ono jedna věc je chápat syntaxi jazyka jako takového a druhá věc je schopnost v daném jazyce zvládnout naprogramovat nějaký reálný projekt. Výpis 100 řádků konzolové aplikace pro PC s tím nemá co dělat. Jinak programování obecně je podle mě docela dřina, ne každý má na tuhle práci dispozice.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: po srpen 10 2015, 7:45    Předmět: Citovat

Já dělal plno věcí, ale vždy pasivně... modifikace a podobně, prostě "vivisekce" původního kódu.

Dobře no... vidím, že moje prrojekty byly tak na úrovni hezčího .bat souboru.

Ještě ocením nějaký tipy na knížky anebo kurzy, protože takle bych se donekonečna točil dokola.

díky...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: po srpen 10 2015, 7:56    Předmět: Citovat

" Jinak programování obecně je podle mě docela dřina, ne každý má na tuhle práci dispozice."

To nepopírám, ale nejdříve to chci zkusit.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: po srpen 10 2015, 10:36    Předmět: Citovat

To beru, taky "se učím programovat, a používám na to jazyk C++" - ve strojáku psát nebudu.

Co s tímto? Detekce, zda do int ukládám číslo, anebo, špatně, znak:

http://programujte.com/forum/vlakno/29783-c-detekce-zda-do-promenne-ukladam-cislo-zda-pismeno/#p204185
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1092

PříspěvekZaslal: po srpen 10 2015, 10:49    Předmět: Citovat

ten kód to je zatím C kód pro C++ kompilátor (místo funkce printf se přetěžuje operátorem << objekt pro streamy)...
C++ je o objektivním programování a dalších fičurách. Čisté Cčko jako podmnožina jazyka, tam je kvůli kompatibilitě a tvoří cca čtvrtinu z celého jazyka. Very Happy
Co se týče požadavku základy C++, tak nevím co si pod tím "pan manažer" představuje. Spoustu lidí dělající do moderních mcuček (a signálových procesorů) používají "ANSI" C++, ale používají z jazyka minimum, protože spoustu věcí z principu na malých procesorech nemůže fungovat. Podobně jako na 8bitovým mcučku s malou pamětí se nedá implementovat dynamická alokace paměti.
Pokud to C++ je pro desktop, tak se máš hodně co učit. Většinou to je kvůli nějakým toolchainům pro GUI apod
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: po srpen 10 2015, 17:29    Předmět: Citovat

Arduino << na takový nudlový kód asi nebude nikdo zvědavý, ale když už bych to měl před sebou, chtěl bych dost detailně vysvětlit co znamená
kód:
cout << cislo1 << endl;

jak by se to napsalo s vynecháním
kód:
using namespace std;

a co to je to std. Jak oddělit data a kód a jak to lépe strukturovat, aby z toho nebyl takový guláš.

Obvykle se dávají jako příklady krátké kusy kódu s chybou a úkolem je chybu najít (například přetečení čísla a v důsledku nekonečný cyklus). Napsat (třeba v pseudokódu) tisk nějaké posloupnosti podle zadaného algoritmu typu prvek n+1 je dán jako součet prvku n a n-1 a podobně, napsat funkci na setřídění pole podle velikosti nebo na vybrání největšího prvku z posloupnosti o předem neznámé délce. Vypsat čísla od 1 do 100 bez použití cyklu (očekává se rekurse). Dotazy typu jaký je rozdíl mezi malloc a calloc, jaké jsou způsoby zpracování chyb za běhu programu. Vysvětlit vzájemný vztah a odlišnosti pointeru a pole, předávání parametrů odkazem a hodnotou, třídy uložení dat a tak dále.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1092

PříspěvekZaslal: po srpen 10 2015, 18:16    Předmět: Citovat

dobrý je taky ukázat zdroják některých svých projektů.
Zkušený programátor hned pozná, jestli dotyčný má nějaké zkušenosti nebo to je jenom další pras...bastlič. Spoustu lidí, co mastí programy pro 8bity, si o sobě myslí jaký jsou profesionálové a přitom jejich zdrojáky jsou totální nemodulární paskvil.
Největší prdel je pak s takovýma lidma dělat na nějakém projektu nebo nedej bože použít jejich zdroják jako výchozí...

EDIT: Jinak pokud se hodláš učit opravdové C++, tak se doporučuju vyhnout často doporučovaným knihám jako je Mistrovství C++. Autor je nějakej astronomickej akademik, co C++ vysvětluje jako Cčkař. Takže po přečtení knihy sice píšeš v C++ ale se s dost blbými zlozvyky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: po srpen 10 2015, 18:25    Předmět: Citovat

Po zvládnutí syntaxe a možností C++ to nekončí. Dnes se programátor, který nezná návrhové vzory, považuje za nehotového. Dobrá kniha je tato:

http://knihy.abz.cz/prodej/navrhove-vzory

Je sice psána pro Javu, ale principy se dají převzít snadno pro C++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: po srpen 10 2015, 18:32    Předmět: Citovat

pfff
a modrý z nebe by nechtěli? Skutečně, když se člověk kouká na inzeráty, tak tam chtějí třeba i tři jazyky, to je každej takle do mrtě?

Anebo jsou aspoň tak podobný, že lze "know-how" z jednoho přenést na jinej?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Wolfik



Založen: Jul 28, 2009
Příspěvky: 1092

PříspěvekZaslal: po srpen 10 2015, 19:05    Předmět: Citovat

dude...kdyby to bylo tak jednoduchý, tak by to zvládl každej ňouma a nebyl by za to tolik placenej
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: po srpen 10 2015, 19:10    Předmět: Citovat

To je mi jasný... spíš se realisticky ptám, do jaký míry je daný know how přenositelný mezi používanejma jazykama.

Taky se snáz naučíš nizozemsky, když umíš německy, než když umíš čínsky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: po srpen 10 2015, 20:47    Předmět: Citovat

Co se týče kódování, tak některé moderní jazyky vycházejí ze syntaxe C, jmenujme například Java, Perl. Kdo se jednou naučil C, necítí se v takových jazycích ztracený a po chvíli koukání do kódu se zorientuje co a jak.

Co se týče programovacích návyků, strukturování, generického přístupu nebo objektového uvažování, to jde napříč programováním nezávisle na konkrétním jazyku. Jistě, různé jazyky mají různé specifické možnosti, ale to není velký problém.

V kódu, který zde na fóru bývá prezentován, často vidím začátečnické chyby. Nudlový kód, který se mastí bez dekompozice úlohy, opakují se velmi podobné sekvence aniž by autor podumal, jak napsat obecný blok, který se pak parametrizuje. Směska kódu a dat, řešení high-level vrstvy úlohy je promícháno na stejné úrovni jako řešení detailů.

Doporučuji studovat zdrojový kód, například jak jsou napsány knihovny pro Arduino. Na FTP serveru je dostupný můj zdrojový kód pro generátor s AD9851 v holém C. Netvrdím, že je to ukázka skvělého kódu bez chyb, najde se ohromné množství lepšího, ale něco byste tam okoukat mohl.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
frpr666



Založen: Dec 28, 2009
Příspěvky: 1051

PříspěvekZaslal: út srpen 11 2015, 10:46    Předmět: Citovat

Programováním (PC) se zabývají odborné fóra jako root.cz atd.
Každopádně kopu peněz lze vydělat i jinak než programováním...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
arduino2015



Založen: Jan 30, 2015
Příspěvky: 158

PříspěvekZaslal: út srpen 11 2015, 11:13    Předmět: Citovat

Nejde mi o kopu prachu, spíš o to, že to jistým způsobem pomáhá s rozvíjením myšlení.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.21 sekund