Prvo hvala na svim odgovorima :)
ok, pokushao sam ovaj primer shto je del-boy predlozio.
Code:
#include <stdio.h>
main()
{
int a;
printf("Unesi a: ");
while (!scanf("%d", &a)) {
printf("GRESKA! Unesi ponovo: ");
}
//scanf("%d",&a);
}
Trebalo bi da radi ok, ali mi prejavljuje greshku (poruka o istoj), onako dok ne lupim ctrl+c.
pokushao sam i
Code:
#include <ctype.h>
int isspace( int ch );
shto je predlozio NrmMyth.
ubacio sam ga u meni potreban zadatak.
oblika:
Code:
...
do{
printf("\nUnesite broj takmicara: \n\tN = ");
scanf("%c",&n);
if(isspace(n))printf("\n ne moze! ");
}while(n<2||n>max_dim||isspace(n));
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
{
do{
if(j==0) printf("\nUnesite tezinu koju je %d. takmicar podigao u dizanju sa trzanjem: \n\tA = ",i+1);
if(j==1) printf("\nUnesite tezinu koju je %d. takmicar podigao u dizanju sa izvlacenjem: \n\tB = ",i+1);
if(j==2) printf("\nUnesite tezinu %d. takmicara: \n\tC = ",i+1);
scanf("%c",&a[i][j]);
if(isspace(n))printf("\n ne moze! ");
}while(a[i][j]<1||isspace(a[i][j]));
}
}
...
Funkcija radi svoj posao, ali ponegde mi duplira prijavu greshke i tekst za unos, shto je mozda posledica duple for petlje, al shta da radim kad moram da koristim matrice.
Shto se tiche del-boy ovog resenja verovatno je dobro, mozda mi je kompajler zeznuo stvar, a mozda i nije :)