PESEL klasy
Ostatnio zmodyfikowano 2017-03-09 05:44
Bielan |
» 2017-03-08 21:34:57 Jest wiele podejść, ja ci proponuję te, które są według mnie najprostsze i w miarę eleganckie, choć w obliczu takich ograniczeń jest to... zabawne.
Możesz połączyć te dwie funkcje i za każdym razem wykonywać obliczenia albo od razu za pomocą stałych wartości pobrać dane z PESELu, tak jak sugeruje @carlosmay.
Prowadzący ustosunkował się do numerów PESEL po 2000 roku? Wczytywanie ich jako liczby będzie problematyczne używając standardowych funkcji wczytujących, ponieważ wiele PESELi zaczyna się od zera. Wtedy trzeba będzie wczytywać dane od użytkownika znak po znaku a następnie te znaki (char) konwertować na int (co z ograniczeniem o nieużywaniu tablic robi naprawdę śmieszne konstrukcje...). |
|
Mashnar Temat założony przez niniejszego użytkownika |
» 2017-03-08 21:37:58 Powiedział nam , ze mamy załozyc do 2000.. Ok , rok juz ogarnałem własnie tak jak kolega pokazał , teraz bede myslał z dniem i reszta..Dziękuje , bede rozkminiał. |
|
1aam2am1 |
» 2017-03-08 22:39:31 Nie przykro mi ale ta pętla z PESEL nie zadziała jak myślisz:) Liczba = 123;
1 obieg pętli X = liczba / 10: //x = 12
2 obieg pętli X = liczba / 10: //x = 12
Z każdym następnym obiegiem pętli nic nie zmieniasz. Wartość pesel pozostaje nie zmieniona. Więc dzieląc ta samo wartość przez 10 otrzymujesz ciągle to samo. Nie chciałeś czasem napisać X = x / 10; ? |
|
Mashnar Temat założony przez niniejszego użytkownika |
» 2017-03-08 23:12:47 Zapomnijmy o tamtej pętli , jestem juz na koncówce w liczeniu sumy kontrolnej , ale jako że nie chce tworzyc 10 zmiennych , postanowiłem stworzyc tablice. void Pesel::CzyPoprawny( long long int w ) { int x = 0; long long int y; int tab[ 9 ]; w = PESEL; for( int i = 0; i <= 9; i++ ) { x++; y = 0; y = pow( 10, x ); tab[ i ] = w / y; tab[ i ] = tab[ i ] % 10; } for( int i = 0; i <= 9; i++ ) { cout << "," << tab[ i ]; } }
wypisuje mi tylko polowe dobrych wartosci , lecz reszta jakies sa dziwne.. poczatkowe sa inne (dokladnie 0,1,2) a reszte ok odczytuje... Ktoś ma pomysł co ja tutaj złe napisałem? W peselu jest 96021307699 i wypisuje mi 960213 a juz 0769 jakies inne... |
|
carlosmay |
» 2017-03-09 05:44:43 Wychodzisz poza zakres tablicy tab . Tablica dziewięcioelementowa ma indeksy od 0 do 8 . Opisz w komentarzach o co chodzi i co sprawdzasz w każdej linii tej metody. |
|
1 « 2 » |