Witam, co jest nie tak że rand() generuje int-y ponad przedzial,a enumy już nie...?
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
struct car
{
int waga;
int cena;
enum kolor{bialy=1,czarny=2,czerwony=3,niebieski=4};
enum wyposazenie{podstawowe=1,standard=2,premium=3};
int color;
int equipment;
};
void losuj_liczbe(car* wsk,const int ILE)
{
srand(time(NULL));
for( int i=0;i<=(ILE-1);i++)
{
wsk->waga=500+rand()%1500;
wsk->cena=20000+rand()%30000;
wsk->color=car::bialy+rand()%car::niebieski;
wsk->equipment=car::podstawowe+rand()%car::premium;
wsk++;
}
}
void main()
{
const int ILE=10;
car tab[ILE];
losuj_liczbe(tab,ILE);
int j=0;
printf("%d\n",tab[j].waga);
printf("%d\n",tab[j].cena);
printf("%d\n",tab[j].color);
printf("%d\n",tab[j].equipment);
getchar();
}