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
  1. Quelle différence dans les include, la façon dont je l'ai fait et les '.h' (j'ai vu les deux formulations) ?
  2. 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
  3. Y a-t-il un moyen de faire plus propre pour le test de sortie/nouveau test ?


Je sais, j'avais di 2

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 lu jusqu'ici soit remercié.
Si tu as un bout de réponse soit vénéré !