if else, program sprawdzający poprawność PESEL
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

if else, program sprawdzający poprawność PESEL

AutorWiadomość
Temat założony przez niniejszego użytkownika
if else, program sprawdzający poprawność PESEL
» 2017-01-21 20:13:13
Witam, mam taki oto program, który sprawdza poprawność numeru pesel na podstawie cyfry kontrolnej, która tutaj jest wyliczana na pewno dobrze, jak również na podstawie sprawdzenia płci, płeć męska ma na końcu numeru pesel zawsze numer nieparzysty, płeć damska parzysty, nie wiem czemu nie wykonują mi się poprawnie późniejsze instrukcje zaczynając od pierwszego if..
C/C++
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a, b, c, d, e, f, g, h, i, j, p, sum, wynik;
    char Pesel[ 12 ];
    char plec;
   
    printf( "Podaj plec, napisz 'k' lub 'K' jesli jestes kobieta, napisz 'm' lub 'M' jesli jestes mezczyzna: \n" );
    scanf( "%c", & plec );
    printf( "Podaj nr PESEL: " );
    scanf( "%s", Pesel );
    a = Pesel[ 0 ] - '0';
    b = Pesel[ 1 ] - '0';
    c = Pesel[ 2 ] - '0';
    d = Pesel[ 3 ] - '0';
    e = Pesel[ 4 ] - '0';
    f = Pesel[ 5 ] - '0';
    g = Pesel[ 6 ] - '0';
    h = Pesel[ 7 ] - '0';
    i = Pesel[ 8 ] - '0';
    j = Pesel[ 9 ] - '0';
    p = Pesel[ 10 ] - '0';
    printf( "kontrolna:%d\n", p );
    printf( "plec:%c\n", plec );
    sum = 1 * a + 3 * b + 7 * c + 9 * d + 1 * e + 3 * f + 7 * g + 9 * h + 1 * i + 3 * j;
    wynik = 10 -( sum % 10 );
    printf( "Suma:%d\nWynik:%d\n", sum, wynik );
   
   
    if(( plec == 'k' ) ||( plec == 'K' ) )
    {
        if( p ==( 0 || 2 || 4 || 6 || 8 ) )
        {
            sum = 1 * a + 3 * b + 7 * c + 9 * d + 1 * e + 3 * f + 7 * g + 9 * h + 1 * i + 3 * j;
            wynik = 10 -( sum % 10 );
            printf( "Suma:%d\nWynik:%d\n", sum, wynik );
           
           
            if( wynik == p ) { printf( "\n\n PESEL poprawny.\n\n" ); } else printf( "\n\nPESEL bledny!\n\n" );
           
        } else printf( "PESEL bledny\n" );
       
    }
    else
    {
        if( p ==( 1 || 3 || 5 || 7 || 9 ) )
        {
            sum = 1 * a + 3 * b + 7 * c + 9 * d + 1 * e + 3 * f + 7 * g + 9 * h + 1 * i + 3 * j;
            wynik = 10 -( sum % 10 );
            printf( "Suma:%d\nWynik:%d", sum, wynik );
           
           
            if( wynik == p ) { printf( "\n\n PESEL poprawny.\n\n" ); } else printf( "\n\nPESEL bledny!\n\n" );
           
        } else printf( "PESEL bledny\n" );
       
    }
   
   
    system( "PAUSE" );
   
    return 0;
}
P-156750
» 2017-01-22 14:34:43
Warunki w if łączysz w ten sposób:
if( p == 1 || p == 3 || p == 5 || p == 7 || p == 9 )
.
P-156778
« 1 »
 Strona 1 z 1