Přeskočení příkázů při zadání více písmen   otázka

C++/C

Dobrý den,

potřeboval bych poradit. Před pár dny jsem začal se začal učit "programovat" v C++ skrze návody na tomto webu. Chtěl jsem si nyní na procvičení a zároveň vyzkoušení si vytvořit něco vlastního, velmi jednoduchého.

Zde mám problém. Když zapnu program a zadím jednopísmené jméno, tak to funguje, ale jakmile zadám více písmené, tak to přeskočí zadávání přijmení rovnou na další bod. Když zadám celé jméno (tomas), tak to rovnou celé skončí.

Podotýkám, že se jedná o verzi 2010 Express.

Děkuji za každou radu.

#include <iostream>
using namespace std;

int main()
{
	char jmeno;		//zada jmeno
	char prijmeni;	//zada prijmeni
	double rok_nar;	//zada rok narozeni
	double vek;		//vypocita vek z rok_nar
	double vypocitany_vek;	//vypocitany vek, kolik nam bude v roce YYYY
	double v_roce;			//zada rok, abych zjistil, kolik mu v tom roce bude

	cout << "Zadejte vase jmeno bez hacku a carek\n";
	cin >> jmeno;

	cout << "Zadejte vase prijmeni bez hacku a carek\n";
	cin >> prijmeni;

	cout << "Zadejte vas rok narozeni ve formatu YYYY\n";
	cin >> rok_nar;

	vek = 2010 - rok_nar;

	cout << "\nJe vam:" << vek << "let\n\n";

	cout << "Zadejte rok, ve kterem chcete vypocitat vas vek\n";

	cin >> v_roce;

	vypocitany_vek = v_roce - 2010 + (2010 - rok_nar);

	cout << "\nV roce " << v_roce << " vam bude: " << vypocitany_vek << " let";

		
	return 0;
}
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud s programováním začínáte, doporučuji spíš Visual Basic .NET, případně C#. C++ je příliš těžkopádné a komplikované.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zrejme preto, že char je jeden znak. Skúsil by som:

char *jmeno;
char *prijmeni;

A ešte je potrebné dáť do premenných odkaz na existujúci reťazec(do hranatých zátvoriek dajte číslo, ktoré predstavuje maximálnu dĺžku toho, čo uživateľ zadá):

jmeno = new char[50];
prijmeni = new char[50];

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Takhle určitě ne...proč nepoužijete String?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

No a char * nie je reťazec ?Môžte si to skúsiť že to celkom dobre funguje.Mimochodom String t.j. System.String je záležitosť VB.NET .V C++ by ste našiel maximálne tak string .

nahlásit spamnahlásit spam 0 odpovědětodpovědět

System.String je záležitost .NET Frameworku a ne VB.NET, takže byste se asi divil, ale naleznete ho i v C# a třeba v F#.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Nedivil by som sa, len som použil trochu iný výraz, než je pravda.O tom, že System.String je aj v C#, F# atď. viem. Takže ďakujem za opravu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Stačí toto:

#include <iostream>
#include <string>
using namespace std;

int main()
{
string jmeno;
cin >> jmeno;
cout << "toto je vase jmeno: " << jmeno << "\n";

return 0;
}

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za rady. Použil jsem String a funguje to správně.

Můžete označit tento topic za vyřešený.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback