Ukol 3 k serialu c++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Ukol 3 k serialu c++ – C / C++ – Fórum – Programujte.comUkol 3 k serialu c++ – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
garbo0
Duch
16. 2. 2015   #1
-
0
-

Začala jsem úplně poprvé programovat. Čtu serial o c++ a plním úkoly. 1. i 2. se mi podařilo splnit bez problémů, ale v polovině 3. úkolu jsem se zasekla a nevím jak dál. Je někde řešení?

Děkuji za odpověd

Nahlásit jako SPAM
IP: 77.87.241.–
Reklama
Reklama
hlucheucho+10
Posthunter
16. 2. 2015   #2
-
0
-

a jaké je zadání úkolu? Jaký kód jsi při řešení vytvořila a co na něm nefunguje?

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:94f8:ef...–
peter
~ Anonymní uživatel
2528 příspěvků
16. 2. 2015   #3
-
0
-

http://programujte.com/clanek/2005041406-c-3-lekce/
Mluvis o tomhle?

Úkol

Na začátek Vás program 10x uvítá(10x se vypíše ta samá hláška pomocí některého cyklu.
Poté se zeptá na Váše jméno a uloží jej, a poté Vám vypíše první písmeno ve jméně.
Vše musí být přehledné,odřádkované apod.
Dále vytvoříte proměnnou (typ char ktera bude mit místo na 5 čísel ) a řeknete uživateli, ať zadá 1. jednociferné číslo, až ho zadá, uloží se jako 1.znak v proměnné typu char , zeptá se znova a uloží až do té doby, až uživatel zadá všech 5 čísel. (Řešte pomocí cyklu)
Nyní Vypíše program první 2 písmena vašeho jména a za ně s mezerami hodnoty, které jste zadali.
Nakonec poděkuje a seznámí uživatele se stránkami www.programujte.com o čem jsou a jak mohou pomoci. (na 3 řádky, ne obecně, ale vaše názory na ně)
Tak, doufám, že máte co dělat ;))

* * *
Zápis příkazů:
Jak můžete například u for, while apod. zapisovat
for (i=0; i<5; i++) cout << "ahoj.";
tak můžete použít i více příkazů. A to tak, že je dáte do tzv. BLOKU.
for (i=0; i<5; i++) { cout << "ahoj."; cout << "ahoj."; }
Vše, co je v závorkách { } je tělo f-ce, a všechny se provedou je-li podmínka pravdivá.
Více v dodatku, který vyjde. (spíše jen o možnostech tohoto vyžití)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:480c:ff...–
peter
~ Anonymní uživatel
2528 příspěvků
16. 2. 2015   #4
-
0
-

 Mozna tam jsou drobne chybky, s temi si snad poradis. Musis prihlednout k tomu, ze je to prvni kod v c++, co sem napsal :) Takze nemam ladici nastroj, ktery by hlasil chybu nebo zobrazil vysledek.

// 10x uvitani
for (i=0; i<10; i++) cout << "ahoj.";
// jmeno, ulozit, prvni pismeno
char name[];
cout << "Vase jmeno: ";
cin >> name;
cin >> name[]; // nebo mozna takto
cout << name[0];
cout << name[1]; // nebo 1
// char na 5 cisel, zadej cisla
char num[5];
for (i=0; i<5; i++) cin >> num[i]; // nebo i=1; i<6
// vypis prvni 2 pismena a cisla
cout << name[0];
cout << name[1];
for (i=0; i<5; i++) cout << num[i]+' '; // nebo i=1; i<6
Nahlásit jako SPAM
IP: 2001:718:2601:1f7:480c:ff...–
hlucheucho+10
Posthunter
16. 2. 2015   #5
-
0
-

Statické pole bez velikosti, cin je R-value. Uvítací nápisy bych vypisoval na jednotlivé řádky.

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:94f8:ef...–
KIIV+42
God of flame
16. 2. 2015   #6
-
0
-

Taky je v c++ dobre pouzivat  ++i  pro inkrementaci v cyklu. Nemusi tam byt totiz jen cislo, ale i objekt. A post inkrementace pak muze zbytecne vyrabet kopii objektu (aby byla k dispozici puvodni hodnota).

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
garbo0
Duch
16. 2. 2015   #7
-
0
-

#4 peter
Dekuji moc. Ted jsem to porovnala s tim , co jsem se snazila napsat. A chyba je jasna:)

Nahlásit jako SPAM
IP: 77.87.241.–
hlucheucho+10
Posthunter
16. 2. 2015   #8
-
0
-

   

#include <iostream>

using namespace std;

 int _tmain(int argc, _TCHAR* argv[])
{
  int i;
  char jmeno[256];
  char cisla[5];

  for (i = 0; i < 10; ++i) {
	cout << "pozdrav" << endl;
  }
  cout << "Jak se jmenujes?" << endl;
  cin >> jmeno;
  cout << endl << "Prvni pismeno tveho jmena je " << jmeno[0] << endl;

  for (i = 0; i < 5; ++i) {
	cout << endl << "Zadej jednociferne cislo" << endl;
	cin >> cisla[i];
  }

  jmeno[2] = 0x00;  //uriznu jmeno, zustanou prvni dve pismena
  cout << endl << "Prvni dve pismena jmena a vypis cisel: " << jmeno;
  for (i = 0; i < 5; ++i) {
	cout << " " << cisla[i];
  }

  cout << "Povidani o programujte ....";

  return 0;
}

Zkompilováno v C++ Builder XE5 a funkční.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
hlucheucho+10
Posthunter
16. 2. 2015   #9
-
0
-
Nahlásit jako SPAM
IP: 2001:67c:1222:800:94f8:ef...–
KIIV+42
God of flame
16. 2. 2015   #10
-
0
-

#9 hlucheucho
jasny, taky usetris tu kopii... A u nejakyho velkyho objektu by uz kopie teprve zabrala casu

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
ondrej39+1
Věrný člen
16. 2. 2015   #11
-
0
-

#8 hlucheucho
Pole charů na řetězce v C++, prosím, nepoužívejte. Od toho máte knihovnu string.

Nahlásit jako SPAM
IP: 46.39.172.–
Inject all the dependencies!
hlucheucho+10
Posthunter
16. 2. 2015   #12
-
0
-

#11 ondrej39
nechtělo se mi hledat jak z std::string získat první znak nebo dva znaky. Jsem si trochu usnadnil práci, u školní úlohy nevadí. Jinak i v C++ jsou případy, kdy "klasický" řetězec je vhodnější řešení - nároky na paměť, rychlost, ale musí se to posuzovat individuelně. Jinak u woknových aplikací používám UnicodeString, ale to je specialita C++ Builderu a Delphi

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:94f8:ef...–
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, 65 hostů

Podobná vlákna

1. program v seriálu C++ — založil Evincars

Ukol — založil Kawasaki

Moderátoři diskuze

 

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