Czy jest to poprawnie zapisane (string zamiast int)

0

Tak sobie przeglądam kurs p. Mirosława Zalent na YT i otworzyłem przykładową paczkę z kodami źródłowymi i tak mnie zastanawia czy dobrze to jest zapisane. Mianowicie PIN jako liczbę całkowitoliczbową przypisuje on do zmiennej** string PIN** zamiast int. W efekcie zamiast if(PIN==1729) wartość zapisuje w cudzysłowach.

#include <iostream>

using namespace std;

string PIN;

int main()
{
    cout << "Witaj w naszym banku!" << endl;
    cout << "Podaj numer PIN:";
    cin >> PIN;

    if(PIN=="1729")
    {
        cout<<"Poprawny PIN";
    }
    else
    {
        cout<<"Niepoprawny PIN";
    }
    return 0;
}

Jak dla mnie, poprawnie to powinno wyglądać tak:

#include <iostream>
using namespace std;
int main()
{
	int PIN;
	cout << "Podaj numer PIN: ";
	cin >> PIN;
	
	if (PIN == 1729) 
	{
		cout << "Poprawnie.";
	}
	else
	{
		cout << "Niepoprawnie.";
	}
	return 0;
	
}
 
5

a co zrobisz jak wartość PIN będzie "0123"

3

I jeszcze taka mała uwaga. Nie używaj zmiennych globalnych. Nawet w takich małych programikach. Pomimo, że tu akurat nie robi to różnicy, jednak jak wejdzie Ci w krew, to będziesz używał tego w większych programach, co się szybko zemści na Tobie.

0

Tak, jest to poprawnie zapisane. W pierwszym przypadku porównujesz słowa a w drugim liczby. Główna różnica w działaniu jest taka, że gdy początek kodu będzie się składał z kilku zer to w drugim przypadku nie będzie trzeba ich wpisać

0

Filmy Pana Zalenta zawierają pewne pułapki na studentów. Na przykład gdy miałem pokazać wykładowcy listę jednokierunkową, skopiowałem program od Zalenta nie zauważając, że to jest lista z biblioteki "<list>" a nie taka ze wskaźnikami jak trzeba było zrobić. Albo inny przykład, skopiowałem drzewo binarne od Zalenta a nauczyciel od razu powiedział że to z internetu i kazał mi dobudować piąty poziom drzewa. Niestety Zelent zrobił dodawanie poziomów drzewa na if'ach i musiałem dodać 16 ifów i jeszcze jakby tego było mało ustawić wartości "gotoxy" dla każdego ifa.

18


to dowodzi, że ten pan niezbyt się zna na programowaniu i żaden z niego wielki programista i nie powinien się dzielić się swoją "wiedzą".
Użycie wartości Sender to podstawa w programowaniu w BCB.

1 użytkowników online, w tym zalogowanych: 0, gości: 1