Bonjour à tous, je debute en C (2 jour que je "programme"). J'ai un probleme sur un exo tout simple qui me demande de d'afficher une table de multiplication d'un entier compris entre 0 et 20 avec un test sur l'entier en question. Je suis sous windows et j'utilise Dev-C++, voila le programme que j'ai ecrit:
Quand je compile pas de soucis et quand je l'éxecute avec un entier quelqu'il soit ou un réel lui entre 0 et 20 pas de soucis non plus mais si je lui donnes un réel non compris dans [0;20] il boucle a l'infini
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 #include <stdio.h> int main(void) { int N, i=0, produit, Borne_Inf=0, Borne_Sup=20; do { printf ("Tapez l'entier compris entre 0 et 20 dont vous voulez la table de multiplication \n"); scanf("%d",&N); // pas de test pour le caractere entier scanf(%d) prend seulement la partie entiere if (N < Borne_Inf || N > Borne_Sup) {printf ("L'entier choisit n'est pas compris entre 0 et 20!\n"); } } while(N < Borne_Inf || N > Borne_Sup); for (i=Borne_Inf; i<=Borne_Sup; i++) { produit = i * N; printf ("%d x %d = %d\n", N, i, produit); } system("PAUSE"); return 0; }!
Je ne comprend pas pourquoi...
Je suis allez voir les tutoriel de devellopez à propos de scanf ou de Do while et je n'arrive pas a voir l'erreur.
Merci d'avance pour vos reponse à mes questions!
Partager