Problem - kurz C++ - lekcia 3 – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problem - kurz C++ - lekcia 3 – C / C++ – Fórum – Programujte.comProblem - kurz C++ - lekcia 3 – C / C++ – Fórum – Programujte.com

 

Tocimanko0
Grafoman
1. 12. 2007   #1
-
0
-

Ahoj... Mam tento kod...

//Autorom tohto programu je © Tomanóczy Michal

#include "iostream"
using namespace std;
int main()
{
int i;
for (i=0; i<10; i++)
{
cout << "Dobry vecer :)\n";
}

cout << "\nZadajte prosim vase meno (max. 25 znakov): ";

char Meno[26];
cin >> Meno; //uzivatel zada svoje meno
cout << "Prve pismeno vasho mena je " << Meno[0] << "\n";

char cislo[6]; //premenna s kapacitou 5 cisel
int a = 0;

while (a < 5)
{
int ciselko; //jednociferne cislo, ktore zada uziv.
cout << "Zadajte jedno jednociferne cislo: \n";
cin >> ciselko;
if(ciselko != 0)
{
cout << a;
cislo[0] = ciselko;
a++;
}
else
{
cout << "\nNezadali ste pozadovane jednociferne cislo!\n";
}

}//koniec cyklu while

cout << "Vysledok: " << Meno <<
cislo[0] << cislo[1] << cislo[2] << cislo[3] << cislo[4];
cin.get();
cin.get();
return 0;
}

Je to rychlo naskrabane, takze skuste si nevsimat nejake ine chyby, nez tie, ktore poviem ze mam.. Ono to totiz nepise ziadnu hlasku... Kompilator mi pise 0 chyb.. Je to dost zvlastna chyba.. Ale uz ziadne kecy, rovno k veci.

Ked zadavam tych 5 cisiel, potom vypis na konci, ten vysledok je dost zvlastny.. Ono to vypisuje ASCII znaky, ked tam zadavam to jednociferne cislo (okrem toho tam ani neni kontrola, ci bolo zadane jednociferne a nie viacciferne.. :( Ale sak nevadi).. Ako osetrit tento vstup/vystup, aby to nezozralo ako ASCII znaky? Diky..

EDIT: Zabudol som dodat, ze pouzivam Dev-C++ :)

Nahlásit jako SPAM
IP: 195.91.54.–
echo1120
Stálý člen
1. 12. 2007   #2
-
0
-

Ako osetrit tento vstup/vystup, aby to nezozralo ako ASCII znaky?

Skús vytvoriť pole premenných typu int.
Ale aj tak tam máš množstvo chýb.
//Autorom tohto programu je © Tomanóczy Michal


#include <iostream>

using namespace std;

int main()

{

int i;

for (i=0; i<10; i++)

{

cout << "Dobry vecer :)\n";

}



cout << "\nZadajte prosim vase meno (max. 25 znakov): ";



char Meno[26];

cin >> Meno; //uzivatel zada svoje meno

cout << "Prve pismeno vasho mena je " << Meno[0] << "\n";



int cislo[5]; //premenna s kapacitou 5 cisel

int a = 0;



while (a < 5)

{

int ciselko; //jednociferne cislo, ktore zada uziv.

cout << "Zadajte jedno jednociferne cislo: \n";

cin >> ciselko;

if(ciselko != 0 || ciselko>9)

{

cout << a;

cislo[a] = ciselko;

a++;

}

else

{

cout << "\nNezadali ste pozadovane jednociferne cislo!\n";

}



}//koniec cyklu while



cout << "Vysledok: " << Meno <<

cislo[0] << cislo[1] << cislo[2] << cislo[3] << cislo[4];

cin.get();

cin.get();

return 0;

}



Nahlásit jako SPAM
IP: 62.168.75.–
Tocimanko0
Grafoman
1. 12. 2007   #3
-
0
-

Nj, diky za fixnutie par veci :) Ale v zadani ulohy (ci to nebola Curova chyba ;) bolo, ze treba tu premennu typu char :( Som si vedomy faktu, ze iny datovy typ by to riesil, ale zial... Hmm

Nahlásit jako SPAM
IP: 195.91.54.–
echo1120
Stálý člen
1. 12. 2007   #4
-
0
-

//Autorom tohto programu je © Tomanóczy Michal




#include <iostream>
#include <cctype>
using namespace std;
int main()
{
int i;
for (i=0; i<10; i++)
{
cout << "Dobry vecer :)\n";
}
cout << "\nZadajte prosim vase meno (max. 25 znakov): ";
char Meno[26];
cin >> Meno; //uzivatel zada svoje meno
cout << "Prve pismeno vasho mena je " << Meno[0] << "\n";
char cislo[5]; //premenna s kapacitou 5 cisel
int a = 0;
while (a < 5)
{
cout << "Zadajte jedno jednociferne cislo: \n";
cin>>cislo[a];
if(isdigit(cislo[a]))
a++;
else
cout << "\nNezadali ste pozadovane jednociferne cislo!\n";
}//koniec cyklu while
cout << "Vysledok: " << Meno <<
cislo[0] << cislo[1] << cislo[2] << cislo[3] << cislo[4];
cin.get();
cin.get();
return 0;
}


Ok, necháme pole premenných typu char, a na kontrolu vstupu použijeme funkciu isdigit() z knihovni cctype.

Nahlásit jako SPAM
IP: 62.168.75.–
Jeyekomon0
Stálý člen
4. 12. 2007   #5
-
0
-

Dival jsem se do sveho reseni a mam to stejne.. Zrovna si neuvedomuju, proc vadi, ze to budou ASCII znaky?? Ty je mas jen nacist a otocit, zadne scitani apod. ,coz by nemel byt problem.. Jinak nevim, jestli je ti to zrejme, ale ASCII obsahuje i znaky 1, 2, .., 9 a promenna typu char nacita vse jako znaky, ne cisla..

Nahlásit jako SPAM
IP: 195.113.65.–
jjk
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, 11 hostů

Podobná vlákna

14 lekcia — založil stanke

3 lekcia — založil k2k21

11. lekcia — založil myky

8.lekcia — založil pavel

8 lekcia — založil Eversmann

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ý