Bonjour,
Je suis en train d'apprendre à programmer en C mais malheureusement les cours sont en finnois et je ne comprends pas grand chose.
je vais peut être me faire taper dessus mais je tente le coup. Le but de mon programme C est de lire une string écrite en command line argument et de la transformer en C. J'ai pensé utiliser la fonction scanf. L'appel du programme et la donnée des paramêtre se fait en même temps. Je ne sais pas si ce que je dis est compréhensible donc je vais mettre des exemples avec les résultats voulu en dessous:
./monProg
ERROR
./monProg 1 abc
ERROR
./monProg -25.3
ERROR: valeur différente de 0123456789
./monProg 25.5
ERROR: valeur différente de 0123456789
./monProg 5
5
Voici le code que j'ai écrit que j'ai écrit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <stdio.h> int main(int argc, char *argv[]) { int nbr=0; int square=0; if (!(argc==2)){ printf("ERROR \n"); return 1; } else{ if(scanf("i%",&nbr)==1){ square=nbr*nbr; printf("\n", nbr); printf("\n", square); getchar(); return(0); } else{ printf("ERROR: valeur différente de 0123456789 \n"); return 1; } } }
Le programme ne fonctionne pas. Je suppose que c'est à cause du test "if(scanf("i%",&nbr)==1)" car il y a la string monProg avant le nombre dans tous les cas. Il faudrait donc la passer pour faire tourner correctement le programme? Pouvez vous m'aider svp?
Merci d'avance
Jo
Partager