Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z funkcją , walidacja numeru PESEL

Ostatnio zmodyfikowano 2016-02-15 22:49
Autor Wiadomość
carlosmay
» 2016-02-15 21:38:35
Można też ograniczyć ilość znaków przy wczytywaniu.
C/C++
std::string PESEL;
std::cin >> std::setw( 11 ) >> PESEL; // std::setw() <iomanip>
std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); // <limits>
std::cout << "znaki: " << PESEL.size() << "  >" << PESEL << "<" << std::endl;
P-144916
Gibas11
» 2016-02-15 22:49:56
Tylko po co męczyć się ze stringiem? Nie lepiej tak:
C/C++
#include <iostream>
#include <limits>

int pesel[ 11 ];
int main()
{
    for( int i = 0; i < 11; i++ )
         pesel[ i ] = std::cin.get() - '0';
   
    std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
   
    return 0;
}
?
Potem będzie łatwiej przy sprawdzaniu poprawności i podanie liter łatwiej wyłapać, dzięki
cin.bad()
.
P-144919
1 « 2 »
Poprzednia strona Strona 2 z 2