Erre a problémára mi a megoldás? Lehetséges egyáltalán C++
/* Hogyan lehet megoldani,hogy ha az illető nem üt be semmilyen karaktert akkor írja ki:
cout <<"Nulla es az alatti erteket nem adhat meg!
A harmadik do while ciklusban levő if-et nem írtam meg teljesen mert nem tudom,hogyan.
Ha pedig nem írok oda semmit akkor az meg nem jó.
És a karakter változónak muszáj char típusúnak lennie.
# include <iostream> //std::cout & minden ami std
# include <windows.h> //Sleep & exit
# include <stdlib.h> //system
# include <string> //string
using std::cout; /*a cout függvényt mindíg az std függvénykönyvtárban keresse */
using std::cin;
using std::string;
int main()
{
int sorok = 0,oszlopok = 0;
short x = 0,y = 0,c = 0;
char karakter;
do
{
x = 0;
cout <<"Hany sor legyen: "; cin >> sorok;
if(sorok <= 0) { cout <<"Nulla es az alatti erteket nem adhat meg! \n";x = 1; }
}while(x == 1);
do
{
y = 0;
cout <<"Hany oszlop legyen: "; cin >> oszlopok;
if(oszlopok <= 0) { cout <<"Nulla es az alatti erteket nem ahat meg! \n";y = 1; }
}while(y == 1);
do
{
c == 0;
cout <<"Milyen karakter legyen: "; cin >> karakter;
if(karakter == ) { cout <<"Adjon meg egy karaktert! \n";c = 1; }
}while(c == 1);
cin.get();
return 0;
}
Elnéztem bocsi ezt kéne ki íratni:
cout <<"Nulla es az alatti erteket nem adhat meg!
De teljesen mindegy mit ír ki csak ha nem üt be semmit az illető és megnyom valamilyen gombot akkor jelenjen meg ez az üzenet.
Ez nem igaz azt hiszem nem aludtam eleget ezt kéne ki íratni:
Adjon meg valamilyen karaktert!
Tényleg bocs hülye vagyok meg most keltem :(
A C++-hoz nem értek, de más nyelvek alapján az üres string lehetne pl. "" (vagyis a két idézőjel között nincs semmi), tehát a feltételvizsgálatban:
if(karakter==""){stb.}
Vagy lekezelheted az összes számodra elfogadható esetet (switch, vagy hogy is van?), és ha egyik sem következik be, akkor érhetne el a rendreutasításig (ha mondjuk, nemcsak az Entert, hanem a funkcióbillentyűket, effélét sem akarod elfogadni).
stringstream s;
string b;
int a;
getline(cin,b);//beolvasunk egy stringet,a getline fugveny kell hogy vegye figyelembe a ""(semmi) karaktert is
if (b=="")//Elenorzi ha van karakter
cout<<"Adjon meg egy szamot!";
else
{
s<<a;//Atkonvertaljuk a stringet int-re
s>>b;
}
if (a<0)
cout <<"Nulla es az alatti erteket nem ahat meg! \n"
ja es elfelejtettem:
#include <sstream>//streamstring-re
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!