Witam. Mam problem. Zrobiłem program do losowania liczb, ale nie wiem jak go zabezpieczyć tak aby użytkownik nie wpisywał znaków tylko same liczby. Prosiłbym o jakąś radę. Z góry dzięki.
#include <iostream>
#include <cstdio>
#include <windows.h>
#include <clocale>
#include <cstring>
#include <time.h>
using namespace std;
struct RRecordData
{
int ID;
int Number;
};
int RandRange( int min, int max )
{
return min + rand() % (1 + max - min);
}
void GetBalls(int *numbers, int *mini, int *maxi)
{
printf( "Podaj ilosc kulek do wylosowania: " );
scanf( "%d", numbers);
printf( "Podaj najmniejsza wartosc losowanej kulki: " );
scanf( "%d", mini);
printf( "Podaj najwieksza wartosc losowanej kulki: " );
scanf( "%d", maxi);
}
void GetRandomNumbers(int *num, int *mini, int *maxi)
{
RRecordData * Losowanie;
Losowanie = new RRecordData[ *num + 1];
srand( time( NULL ) );
for( int i = 1; i <= *num; i++ )
{
Losowanie[ i ].ID = i;
Losowanie[ i ].Number = RandRange( *mini, *maxi );
}
printf( "----------------\n" );
printf( "| ID | Number |\n" );
printf( "-----------------\n" );
for( int j = 1; j<=*num; j++ )
printf( "| %4d | %4d |\n", Losowanie[ j ].ID, Losowanie[ j ].Number );
delete[] Losowanie;
}
int main()
{
int mini, maxi;
int numbers;
GetBalls(&mini, &maxi, &numbers);
GetRandomNumbers(&mini, &maxi, &numbers);
return 0;
}