Appel de class sous windows form [Résolu]

Messages postés
9
Date d'inscription
lundi 14 décembre 2009
Dernière intervention
21 janvier 2010
- - Dernière réponse : Angelssen
Messages postés
9
Date d'inscription
lundi 14 décembre 2009
Dernière intervention
21 janvier 2010
- 5 janv. 2010 à 11:17
Bonjour a tous avec un ami on passe a Csharp et on a un soucis sur un appel de class, pour faire simple a la fin de la classe on utilisais un return pour pouvoir l appeler depuis une autre feuille mais la ca ne fonctionne pas, voici le code qui est tout bete il doit afficher un oui/non selon le chiffre sortant (srt). L'idee etant de vouloir faire appel a ce "resultat" depuis l'autre feuille comme dit precdemment

{
public class chiffre
{
int Nb;
chiffre(int Srt)
{
int[] R = new int[18]
{
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
}
int[] N = new int[18]
{
19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38
}
for (int i = 0; i<=18 ; i++)
{
if (Srt == R[i])
{
Nb=1
}
}
for (int i = 0; i<=18 ; i++)
{
if (Srt == N[i])
{
Nb=2;
}
}
return Nb;
}

}
}
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
22
3
Merci
Salut,

Il manque le return

Pour l'appel c'est


int toto = chiffre.chiffre(10);

NB ; c'est pas tres bien nommé
essaie de respecter les conventions de nomages

Exemple

int toto = Chiffre.Traitement(10);


Je ne comprends pas trop l'interet de ton code.
Mais c'est surement voulu comme algo.
Voici un algo plus performant

if (Srt>0 && Str<18) {NB 1;}
else if (Srt>18 && Str<37) {NB 2;}
else { 
//que faire dans ce cas????
}
return NB;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
9
Date d'inscription
lundi 14 décembre 2009
Dernière intervention
21 janvier 2010
0
Merci
Hum pas tres lisible je vous refait ca avec les balises que javais pas vu, premiere fois sur le forum dsl :)

{
    public class chiffre
    {
        int Nb;
        chiffre(int Srt)
        {
            int[] R = new int[18]
            {
                1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
            }
            int[] N = new int[18]
            {
                19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37
            }
            for (int i = 0; i<=18 ; i++)
            {
                if (Srt == R[i])
                {
                    Nb=1
                }
            }
            for (int i = 0; i<=18 ; i++)
            {
                if (Srt == N[i])
                {
                    Nb=2;
                }
            }
        // c est la que ca bloque :
        return Nb;
        }
        
    }
}
Commenter la réponse de Angelssen
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
35
0
Merci
Salut, un constructeur de classe n'a pas de valeur de retour, utilise une classe statique et une méthode statique ( static ).
Commenter la réponse de Lutinore
Messages postés
9
Date d'inscription
lundi 14 décembre 2009
Dernière intervention
21 janvier 2010
0
Merci
merci de la réponse on a en effet un peu mieux avancer mais je galere sur la fin avec une seule erreur restante

namespace WindowsFormsApplication1
{
    public class chiffre
    {
        // erreur ici : que tout le code ne retourne pas de valeure a propos de "chiffre"
        public static int chiffre(int Srt)
        {
            int Nb;
            int[] R = new int[18]
            {
                1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
            };
            int[] N = new int[18]
            {
                19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37
            };
            for (int i = 0; i<=18 ; i++)
            {
                if (Srt == R[i])
                {
                    Nb=1;
                }
            }
            for (int i = 0; i<=18 ; i++)
            {
                if (Srt == N[i])
                {
                    Nb=2;
                }
            }
        }
        
    }
}
Commenter la réponse de Angelssen
Messages postés
9
Date d'inscription
lundi 14 décembre 2009
Dernière intervention
21 janvier 2010
0
Merci
Je l'ai simplifié pour ma question qui concernait plus la syntaxe que l algo en fait ;) merci en tout cas je regarde ca
Commenter la réponse de Angelssen

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.