Bonjour,
je souhaite vérifier qu'une variable ne dépasse pas le type INT.
Je commence à étudier et programmer depuis peu ( 2 mois ).
Le petit programme que je suis occupé a réaliser permet de calculer la factorielle d'un nombre.
J'ai ajouté dans la fonction factorielle une vérification pour voir quand le résultat dépasse la valeur maximale du type int mais ça ne fonctionne pas...
Au passage si c'est mal écrit j'attends vos avis je débute ..
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorielle { class Program { //Fonction qui permet de vérifier si le nombre entré est bien un entier. public static int IsIntPos(string message) { Console.WriteLine(message); Console.Write("> "); string verifEntry = ""; int number = 0; bool ok = false; while (!ok ) { verifEntry = Console.ReadLine(); ok = int.TryParse(verifEntry, out number); if (ok == false ) { Console.WriteLine("Veuillez introduire un nombre entier uniquement svp !"); } else if (number < 0) { Console.WriteLine("Veuillez introduire une valeur positive svp !"); ok = false; } } return number; } //Fontion qui permet de calculer la factorielle d'un nombre entier. public static int Factorielle(int nombre) { int resultat = 1; for (int i = 1; i <= nombre; i++) { if (resultat > int.MaxValue) { Console.WriteLine("Ne rentre pas dans un INT"); } else { resultat = i * resultat; } } return resultat; } static void Main(string[] args) { int nombreChoisi = IsIntPos("Introduire un nombre entier pour connaitre la factorielle de ce nombre"); int resultatFactorelle = Factorielle(nombreChoisi); Console.WriteLine("La factorielle du nombre {0} est {1} . ", nombreChoisi, resultatFactorelle); Console.ReadKey(); } } }
Merci pour votre aide.
Partager