C# : nombres premiers.

Résolu/Fermé
Nowhere Man Messages postés 307 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 8 avril 2011 - 9 janv. 2010 à 15:58
Nowhere Man Messages postés 307 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 8 avril 2011 - 9 janv. 2010 à 16:08
Bonjour,
Je suis en train de développer une application en console en C# pour m'initier un peu aux bases du langage, c'est en fait une adaptation d'un script que j'ai déjà fait dans d'autres langages (php par exemple).
C'est une application pour afficher les n nombres premiers à partir d'un certain rang p.

Voici la source :
1using System;
2
3namespace prime
4{
5	class Program
6	{
7		public static void Main(string[] args) {
8			public static bool isPrime(double p) {
9				long diviseur = 2;
10				long compteur = 0;
11				while (diviseur < Math.Sqrt(p) && compteur == 0) {
12					if (Math.Floor(p / diviseur) == p / diviseur) {
13						compteur++;
14					}
15					diviseur++;
16				}
17				if(compteur == 0) {
18					bool retour = true;
19				}
20				else {
21					bool retour = false;
22				}
23				return r;
24			}
25			
26			Console.WriteLine("Prime :");
27			Console.Write("Value to start : ");
28			string pIni = Console.ReadLine();
29			double pInt = Convert.ToDouble(pIni);
30			double p = Math.Floor(pInt);
31			Console.Write("How many? ");
32			string nIni = Console.ReadLine();
33			double nInt = Convert.ToDouble(nIni);
34			double n = Math.Floor(nInt);
35			while (n != 0) {
36				if (isPrime(p) == true) {
37					Console.WriteLine("{0}", p);
38				}
39				p++;
40				n--;
41			}
42		}
43	}
44}


(J'ai volontairement numéroté les lignes du code ici)
Mon problème est que lors de la compilation, j'ai 13 erreurs de signalées qui sont :
7 : } attendue
26 :Jeton '(' non valide
27 :Jeton '(' non valide
31 :Jeton '(' non valide
35 :Jeton '!=' non valide
35 :Jeton 'while' non valide
36 :; attendu
36 :Identificateur attendu.
36 :Une méthode de classe, de structure doit posséder un type de retour.
37 :Jeton ')' non valide
37 :Jeton '(' non valide
39 :Un espace de noms ne contient pas directement des membres tels que des champs ou des méthodes.

J'utilise SharpDevelop comme IDE.
Je ne comprends pas ces erreurs... si quelqu'un pouvait m'éclaircir, j'ai déjà fait quelques applications de ce genre en console, mais j'ai toujours compris mes erreurs.

Merci d'avance pour votre aide !


2 réponses

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
9 janv. 2010 à 16:04
Salut,
ta fonction:public static bool isPrime(double p) ne doit pas etre dans le main....
@+
0
Nowhere Man Messages postés 307 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 8 avril 2011 94
9 janv. 2010 à 16:08
Merci, je ne savais pas ça, je n'avais jamais utilisé de fonction autre que le main jusque là. Ça marche nickel maintenant. (Avec quelques erreurs dans le code à corriger quand même).

Bonne aprem' !
0