Les nombres par rapport aux caractères

KearsBonim Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
KearsBonim Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous.

J'ai besoin de votre c'est très urgent.

Voilà mon problème, nous avons des programmes à faire dans lesquels on doit entrer des nombres.

C'est la qu'est mon problème. Notre prof d'info est très fourbe, et n'entrera pas de nombre.. Donc comment faire pour dire que si il entre autre chose qu'un nombre, il doit recommencer tant que ce n'en est pas un.

Je sais, du moins je pense que ça doit commencer par ça:

while(num???)

{

printf("caractère non valide, veuillez recommencer");

scanf("%d",&num);

}

Je pense que vous aurez compris que mon problème se situe '???'

Merci d'avance
A voir également:

1 réponse

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut,
scanf
renvoie le nombre de paramètres qu'il a pu interpréter comme il faut, c'est donc en fonction de ça que ton
while
devra se faire.
En l'occurence tu veux un unique paramètre, donc
1
sera renvoyé si ce qui est entré est un nombre (et
num
sera modifié respectivement),
0
sinon.
0
KearsBonim Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
D'abord, merci pour ta réponse rapide :)
Mais qu'est ce que je dois mettre dans le while?
Parce que la personne qui utilisera mon programme pourra mettre 1239984 si ça lui chante.
Je peux donc pas prédire ce que l'utilisateur mettra
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

scanf("%d",...) n'est pas l'idéal pour la saisie sécurisée...
Utilise plutôt un fgets() sur pour lire une chaîne de caractères.
Ensuite, tu tentes la conversion avec strtol().
Note : il ne faut pas oublier de vider le buffer clavier...
0
KearsBonim Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Ok, merci beaucoup !
Je vais essayer ça
0