Witam, jestem poczatkujacym programista, pisze projekt na zaliczenie I semestru <projekt niby="niby" banalny="banalny">, totolotka. Prawie już jest gotowy ale cos jest nie tak w mojej funkcji losującej np. w dużym lotku gdy komputer kaze podac 6 liczb to ja podaje np. 12,2,3,4,5 i gdy na końcu podam 1 to on traktuje to jako początek wpisywania i musze dalej podac 6 liczb, jakichkolwiek bez jedynki na końcu. Ktos moglby rzucic na to okiem? i powiedzieć mi co wypadaloby zmienić?
Wklejam caly kod programu funkcja losujaca jest na samym pocztku
#include <stdio.h>
#include <stdlib.h>
int losowanie(int ilosc, int zakres)
{
int i,spr,j,k,l,liczby[ilosc];
for( i=1 ;i<=ilosc;)
{
k =1+rand()%zakres;
spr=0;
for(j=1; j<i; j++)
if(liczby[j]==k)
spr=1;
if(spr)
i--;
else
{
liczby[i] = k;
i++;
}
}
for(l=1; l<=ilosc; l++)
printf("%d ",liczby[l]);
}
int multi()
{
int multi[10],i;
srand((unsigned)time(NULL));
printf("Podaj 10 roznych od siebie liczb z zakresu od 1 do 80\n\n");
for(i=1; i<=10; i++) {
scanf("%d",&multi[i]);}
printf("Wylosowane liczby to: \n\n");
losowanie(20,80);
{
system("PAUSE");
}
}
int multichybil()
{
printf("\n\nZa chwile komputer wylosuje za Ciebie 10 sposrod 80 liczb \n\n");
printf("\n\nOto 10 liczb, ktore wytypowal za Ciebie komputer \n\n");
losowanie(10,80);
printf("\n\nOto wyniki losowania\n\n");
losowanie(20,80);
{
system("PAUSE");
}
}
int multiwybor()
{
int i;
printf("1 Chybil-trafil\n\n2.Wytypuj liczby\n\n3.Cofnij do menu\n");
i=getchar();
switch(i)
{
case'1' : multichybil();break;
case'2' : multi();break;
case'3' : menu();break;
}
system("cls");
multiwybor();
system("PAUSE");
}
int duzy()
{
int i,duzy[6];
srand((unsigned)time(NULL));
printf("Podaj szesc roznych od siebie liczb z zakresu od 1 do 49\n\n");
for(i=1; i<=6; i++) {
scanf("%d",&duzy[i]);}
printf("Wylosowane liczby to: \n\n");
losowanie(6,49);
printf("\n");
system("PAUSE");
}
int duzychybil()
{
printf("Za chwile komputer wylosuje za Ciebie 6 z 49 liczb\n\n");
printf("Oto 6 liczb, ktore wytypowal za Ciebie komputer\n\n");
losowanie(6,49);
printf("\n\nOto wyniki losowania\n\n");
losowanie(6,49);
{
system("PAUSE");
}
}
int duzywybor()
{
int i;
printf("1 Chybil-trafil\n\n2.Wytypuj liczby\n\n3.Cofnij do menu\n");
i=getchar();
switch(i)
{
case'1' : duzychybil();break;
case'2' : duzy();break;
case'3' : menu();break;
}
system("cls");
duzywybor();
system("PAUSE");
}
int szczesliwy();numerek()
{
int szczesliwy[4],numerek[1],i;
printf("Podaj cztery, rozne od siebie liczby od 1 do 45.\n\n");
for(i=1; i<=4; i++) {
scanf("%d",&szczesliwy[i]);}
printf("Teraz nastapi losowanie czterech sposrod czterdziestu pieciu liczb.\n\n");
printf("Wylosowane liczby to: \n");
losowanie(4,45);
printf("\n\nPodaj jedna liczbe z zakresu od 1 do 36\n\n");
for(i=1 ;i<=1; i++){
scanf("%d",&numerek[i]);
}
printf("Teraz nastapi losowanie jednej liczby.\n\n");
printf("Twoim Szczesliwym Numerkiem jest liczba:\n\n");
losowanie(1,36);
{
system ("PAUSE");
}
}
int szczesliwychybil()
{
printf("Za chwile komputer wylosuje za Ciebie 4 z 45 liczb oraz jedna - Twojego Szczesliwego Numerka\n\n");
printf("Oto 4 liczby, ktore wytypowal za Ciebie komputer\n\n");
losowanie(4,45);
printf("\n\nOto 1 liczba, ktora komputer wytypowal za Ciebie\n");
losowanie(1,36);
printf("\n\nWyniki losowania czterech liczb\n\n");
losowanie(4,45);
printf("\n\noraz wylosowany Twoj Szczesliwy Numerek\n ");
losowanie(1,36);
{
system("PAUSE");
}
}
int szczesliwywybor()
{
int i;
printf("1 Chybil-trafil\n\n2.Wytypuj liczby\n\n3.Cofnij do menu\n");
i=getchar();
switch(i)
{
case'1' : szczesliwychybil();break;
case'2' : szczesliwy;numerek();break;
case'3' : menu();break;
}
system("cls");
szczesliwywybor();
system("PAUSE");
}
int menu()
{
int c;
printf("========================================================================\n\n");
printf(" LOTTO\n\n");
printf(" Copyright by Aleksander Romanowski\n\n");
printf("========================================================================\n\n");
printf("1.Duzy lotek\n2.Multi lotek\n3.Twoj Szczesliwy Numerek\n4.Wyjscie\n");
c=getchar();
switch(c)
{
case'1': duzywybor();break;
case'2': multiwybor();break;
case'3': szczesliwywybor();break;
case'4': exit(0); break;
}
system("cls");
menu();
}
int main()
{
srand(time(NULL));
menu();
}