Peut-on améliorer ce code ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| if (argc<=1) {printf ("%s %s\n","Trop peu d'arguments","Syntaxe : camera.bin -i [image-sec] -d [nbr-jour]");exit(-1);}
else if (argc >=6) printf("%s\n","Trop d'arguments");
else if (argc ==5)
{
for (i=1;i<=4;i++)
{
if (!(strcmp(argv[i],"-i")))
{
param1 = atoi(argv[i+1]);
if ( (param1>=1) && (param1<=24) ) imsec=param1;
else
{
printf ("%s\n","valeur incorrecte de i (1-24)");
exit (-1);
}
}
if (!(strcmp(argv[i],"-d")))
{
param2 = atoi(argv[i+1]);
if ( (param2>=1) && (param2<=12) ) duree=param2;
else
{
printf ("%s\n","valeur incorrecte de d (1-12)");
exit (-1);
}
}
}
} |
Comme vous le voyez, je lance le programme camera de la façon suivante :
./ camera -i 10 -d 1
Cela correspond à une vidéo de 10 images par seconde pour une journée entière de film.
N'y a-t-il pas une manière plus élégante ( et plus fiable ) de tester les paramètres ?