VS fonction de nombre aléatoire

Résolu
Ncisboys -  
ncisboys Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J ai un petit probleme

Je souhaite faire apparraitre un texte en fonction d un nombre aléatoire

en effet si la valeur est 1 par exemple un type de texte apparait

si c est deux un autre texte ect ... tous cela.

J ai fais plusieurs select case

et le problème c est que le nombre aléatoire est tous le temps le même

Comment faire pour le faire changer ?

voila le code pour le nombre aléatoire

Randomize() 
        number = 0 
        max = 4 
        min = 0 
        Hasard = New Random 
        max = max + 1 
        number = Hasard.Next(min, max) 
        number1 = number   ' stockage dans une autre variable. 


ensuite j ai mon select case qui dépend de la variable number
Select Case (number) 
                Case 0 
                    Introduction = "Bonjour " ' introduction est déclarér  
                Case 1 
                    Introduction = "Bonsoir " 
                Case 2 
                    Introduction = "Hello " 
                Case 3 
                    Introduction = "Good morning " 
                Case 4 
                    Introduction = "Good Afternoon " 
                Case 5 
                    Introduction = "good evening " 

            End Select 

Je remet le code pour changer la valeur de number
Randomize() 
        number = 0 
        max = 4 
        min = 0 
        Hasard = New Random 
        max = max + 1 
        number = Hasard.Next(min, max) 
        number1 = number   ' stockage dans une autre variable. 


Et il y a un autre select case

Le problème c est que le number du premier select case est identique a celui du deuxieme comment faire ?


Encore merci a tous de vos futur réponse
A voir également:

5 réponses

Utilisateur anonyme
 
Salut,
En fait tu veux un nombre (number) de 0 à 5

               int min = 0;
               int max = 5;
               int number = 0;

               Random r = new Random();
               number = min + r.nextInt((max - min) +1);


Cordialement,

Dan
1
Le Dodo Messages postés 1934 Date d'inscription   Statut Membre Dernière intervention   246
 
bon ben problème résolu :-)
0
Utilisateur anonyme
 
Salut,

On peut copier chaque nombre aléatoire dans l'ordre d'obtension et sans doublons dans un tableau.

Quand les 6 n° sont dans le tableau on les exploite tous l'un après l'autre.

Le code:


            int min = 0;
            int max = 5;
         
         // on initialise le tableau des nombres déjà obtenus à une valeur différente de min à max
         // soit par exemple à max +1
         
            int nbresDiff = ((max - min) +1); // sera la taille du tableau.
            System.out.println("nbresDiff = " + nbresDiff);
            boolean encore = true;
            int[] tab = new int[nbresDiff];
         
            for (int i = 0; i <nbresDiff; i++) 
               tab[i] = max +1;
         
         
            int i2 = 0;
            while(encore)
            {
               for (i1 = 0; i1 <nbresDiff; i1++)
               {
                  encore = false; // sera forcé true si doublon
                  Random r = new Random();
                  int number = min + r.nextInt(nbresDiff); //trouvé
               
                  for (i2 = 0; i2 <nbresDiff; i2++)
                  {
                     if (number == tab[i2])
                     {
                        encore = true;
                        System.out.println("Le nouveau num. obtenu:\n" + number
                           + " est un doublon, on ne le prend pas.(i2 = " + i2 + ")\n");
                        i1--;
                        break;
                     }
                  }
               
                  if (encore == false)
                     tab[i1] = number;
               }
            }
         
         //L'ordre aléatoire des chiffres 0 à 5 est dans le tableau tab.
            for (i1 = 0; i1 <nbresDiff; i1++)
            {
               System.out.println("num. " + (i1 +1) + ": " + tab[i1]);
               int sel = tab[i1];
               switch (sel)
               {
                  case 0:
                     System.out.println( "Bonjour ");
                     break;
                  case 1:
                     System.out.println("Bonsoir ");
                     break;
                  case 2:
                     System.out.println("Hello ");
                     break;
                  case 3:
                     System.out.println("Good morning ");
                     break;
                  case 4:
                     System.out.println("Good Afternoon ");
                     break;
                  case 5:
                     System.out.println("good evening ");
                     break;
               }
            }

Cordialement,

Dan
1
ncisboys Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci sa marche ...

sauf que en VB c est pas switch mais select case
0
coding:cp1252 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   1
 
Le nom du langage ?
0
Ncisboys
 
J utilise Visual Studio avec des window application form

apres le nom du langague je ne sais pas

Donc je dirai que le nom du language c est Visual Basic

J ai essayer La fonction Rnd mais cela ne marche pas ...
0
Le Dodo Messages postés 1934 Date d'inscription   Statut Membre Dernière intervention   246
 
un programmeur qui ne connaît pas son langage de programmation !
J'ai jamais vu ça ! xD

peux-tu nous copier le code en entier (y compris les directives de préprocesseur) ?
0
Ncisboys
 
Qu est que tu entend par préprocesseur ?

sinon voici le code
Public Class Generateur
#Region " Déclaration des variables"
    
    
    Dim Hasard, Hasard1, As Random
    Dim max, min As Integer
    Dim number, number1, number2 As Integer
    Dim Bonjour As String
    Dim Introduction As String
    Dim Introduction2 As String

#End Region

#Region " Interface"
    
    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        max = 10
        min = 0
        compteur = 0
    End Sub

    Private Sub Generateur_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Randomize()
    End Sub

#End Region

Public Sub Generer_Click(sender As System.Object, e As System.EventArgs) Handles Generer.Click

        Nombre aléatoire 
        Randomize()
        number = 0
        max = 5
        min = 0
        Bonjour = " Bonjour "
        Emprunt = (Val(Somme.Text))
        Hasard = New Random
        max = max + 1
        number = Hasard.Next(min, max)
        Entrer = Environment.NewLine
        number1 = number
        Virgule = " , "

        ' Introduction 
        If (number > 10) Then
            MsgBox(" Erreur ")
            compteur = compteur + 1
            hasardbox.Text = " Le nombre Hasard est " & number
            Console.WriteLine(hasardbox)
        Else
            Select Case (number) 
                Case 0 
                    Introduction = "Bonjour " ' introduction est déclarér  
                Case 1 
                    Introduction = "Bonsoir " 
                Case 2 
                    Introduction = "Hello " 
                Case 3 
                    Introduction = "Good morning " 
                Case 4 
                    Introduction = "Good Afternoon " 
                Case 5 
                    Introduction = "good evening " 

            End Select 
        End If
        ' Introduction 2 
        ' Nombre aléatoire
        Randomize()
        number = 0
        max = 5
        min = 0
        Hasard = New Random
        max = max + 1
        number = Hasard.Next(min, max)
        number2 = Val(number)

        If (number > 10) Then
            MsgBox(" Erreur ")
            compteur = compteur + 1
            hasardbox.Text = " Le nombre Hasard est " & number
            Console.WriteLine(hasardbox)
        Else
            Select Case (number1)
                Case 0
                    Introduction2 = "Comment allez vous  "
                Case 1
                    Introduction2 = "How Are you ?   "
                Case 2
                    Introduction2 = " Comment allez vous "
                Case 3
                    Introduction2 = "Comment allez vous  "
                Case 4
                    Introduction2 = "Comment allez vous  "
                Case 5
                    Introduction2 = "Comment allez vous   "
            End Select
        End If


 hasardbox.Text = " Combinaison : " & number1 & number2 
        Console.WriteLine(hasardbox)
        Final.Text = Bonjour 
        Console.WriteLine(Final
End Sub
0
Le Dodo Messages postés 1934 Date d'inscription   Statut Membre Dernière intervention   246
 
le préprocesseur c'est les lignes qui commencent généralement par un #. C'est fait pour un petit programme qui passe avant le compilateur

je connais pas ce langage.

C'est pas du Java, c'est pas du C, c'est pas du C++

Par hasard... VB.NET ou C# ? vu que c'est sur Visual Studio...
0
ncisboys Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je pense que c est du VB net

En tout cas j utilise visual studio 2010 avec le projet application Window Forms
0
Le Dodo Messages postés 1934 Date d'inscription   Statut Membre Dernière intervention   246
 
plus j'y regardes, et plus je pense que c'est du VB.NET...

ça ressemble à ça :
https://openclassrooms.com/fr/courses/993975-apprenez-a-programmer-en-vb-net/991162-tp-navigateur-web
(en moins compliqué ^^')
0

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

Posez votre question
ncisboys Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
C est ca je confirme

Enfin j arrive pas faire ce que je veux faire
0