Pour répondre à ndeye, si on saisit une chaîne, on ne met pas de "&" devant la variable parce que cette variable est déjà, en elle-même, une adresse => scanf("%s", unit)
Pour répondre à madko, scanf n'est pas "mal" quand on l'utilise pour soi. Mais si on veut faire un programme à l'épreuve des neuneu qui tapent une lettre quand on leur demande un chiffre, scanf est difficile à bien mettre en oeuvre
Pour répondre à oliv, tu as un moyen très élégant de gérer ton pb comme l'a suggéré abgech
1) tu fais saisir une chaîne avec "fgets"
2) tu parses ta chaîne dans ta variable avec "sscanf"
char saisie[1024];
int unit;
fgets(saisie, 1024, stdin);
sscanf(saisie, "%d", &unit);
Poste le Tuesday 14 June 2005 09:21:36