Bonjour à tous,
comme dit dans le titre je débute (et je ne suis pas étudiant mais autodidacte )et dans le code ci-dessous j'aurais 2 questions :
Objectif de mon code :
- déterminer si le nombre est un nombre premier
- Saisir un autre nombre pour sinon 'Q' pour quitter
Questions
- Quelle différence dans les include, la façon dont je l'ai fait et les '.h' (j'ai vu les deux formulations) ?
- J’essaie à la fin de tester si c'est un nombre qui est saisie ou si 'Q' et j'ai un problème de conversion char > int
- Y a-t-il un moyen de faire plus propre pour le test de sortie/nouveau test ?
Je sais, j'avais di 2
Si tu as lu jusqu'ici soit remercié.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 #include<cctype> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> using namespace std; int main() { int nb; int div; int res;// res=1 > pas premier / res = 2 > premier char encore; /* Première demande */ cout << "Saisissez un nombre entier : "; cin >> nb; do { /* Test nombre premier */ if (nb==1 || nb==2 || nb==3 || nb==5) res=1; else if (nb%2==0 || nb%3==0 ) res=0; else { div=5; while ( sqrt(nb) <= div && res == 0) { if(nb%div==0) { res=1; } div = div + 2; } } /* Affichage résultat */ if (res==1) cout<<"C'est un nombre premier" << endl; else cout<<"Ce n'est pas un nombre premier" << endl; /* Nouvel essai ... ou pas */ cout<<"Tapez [Q] pour quitter sinon saisissez un autre nombre : "; cin >> encore; if (!isalpha(encore)) nb=atoi(encore.c_str()); } /* Si pas 'Q' on boucle */ while (encore!='Q' && nb!=0); return 0; }
Si tu as un bout de réponse soit vénéré !
Partager