Appel de class sous windows form

Résolu
Angelssen Messages postés 9 Date d'inscription lundi 14 décembre 2009 Statut Membre Dernière intervention 21 janvier 2010 - 4 janv. 2010 à 15:29
Angelssen Messages postés 9 Date d'inscription lundi 14 décembre 2009 Statut Membre 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;
}

}
}

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 janv. 2010 à 23:35
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;
3
Angelssen Messages postés 9 Date d'inscription lundi 14 décembre 2009 Statut Membre Dernière intervention 21 janvier 2010
4 janv. 2010 à 15:34
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;
        }
        
    }
}
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
4 janv. 2010 à 15:39
Salut, un constructeur de classe n'a pas de valeur de retour, utilise une classe statique et une méthode statique ( static ).
0
Angelssen Messages postés 9 Date d'inscription lundi 14 décembre 2009 Statut Membre Dernière intervention 21 janvier 2010
4 janv. 2010 à 16:16
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;
                }
            }
        }
        
    }
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Angelssen Messages postés 9 Date d'inscription lundi 14 décembre 2009 Statut Membre Dernière intervention 21 janvier 2010
5 janv. 2010 à 11:17
Je l'ai simplifié pour ma question qui concernait plus la syntaxe que l algo en fait ;) merci en tout cas je regarde ca
0
Rejoignez-nous