Hej,
mam kolejny problem blondynki :)
otoz, chce by user wprowadzil kod skladajacy sie okreslonej ilosci cyfr. Chce zeby zrobil to od razu.
zadanie programu to
1. sprawdzenie czy wprowadzil wlasciwa ilosc cyfr ( jeszcze tego nie zaczelam nawet)
2. sprawdzenie czy wprowadzone znaki sa prawidlowe, czyli czy cyfry nie sa za wysokie, lub czy w tym ciagu nie pojawily sie litery.
Poki co program wydaje sie dziwny, poniewaz jako ze nie dziala, zaczelam wprowadzac wszedzie gdzie tylko moge wyswietlanie dziwnych elementow, aby znalezc blad.
Zatem :
bool verif = true;
do
{
cout << "\n Podaj kod " << endl;
(cin >> kod_user).get();
cout << " wpisales kod " << kod_user << endl;
for (int j = 0; j < ilosc_miejsc; j++)
{
cout << " wartosc : " << kod_user[j] << endl;
}
cout << "ilosc miejsc" << ilosc_miejsc << endl;
for (int i = 0; i < ilosc_miejsc; i++)
{
if ((kod_user[i] < '0' )|| (kod_user[i] > ilosc_cyfr))
{
cout << "Kod user od i " << i << " rowny " << kod_user[i] << " jest niezgodny ze standardem" << endl;
verif = true;
}
else
{
cout << "kod jest zgodny ze standarderm" << endl;
verif = false;
}
}
} while (verif == true);
problem tak naprawde wystepuje tutaj
if ((kod_user[i] < '0' )|| (kod_user[i] > ilosc_cyfr))
{
cout << "Kod user od i " << i << " rowny " << kod_user[i] << " jest niezgodny ze standardem" << endl;
verif = true;
}
jezeli wpisze
if ((kod_user[i] < '0' )|| (kod_user[i] > '8'))
to program zadziala poprawnie. Tyle ze zalezy mi aby ten gorny zakres byl okrelsony przez zmienna ilosc_cyfr. Jak to zrobic ?
I skoro to jest ciag charow, to dla mnie na logike kazdy znak wprowadzony tez bedzie charem. A wedlug tablicy ascii cyfry maja kod rowny sobie. Nie rozumiem wiec dlaczego kod nie zadziala jesli wpisze
if ((kod_user[i] < 0)
Jak sprawdzic czy podany ciag ma odpowiednia ilosc znakow ?