VS fonction de nombre aléatoire

Résolu
Ncisboys -  
ncisboys Messages postés 5 Statut Membre -
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

5 réponses

  1. danimo
     
    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
    1. Le Dodo Messages postés 2307 Date d'inscription   Statut Membre Dernière intervention   247
       
      bon ben problème résolu :-)
      0
  2. danimo
     
    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
    1. ncisboys Messages postés 5 Statut Membre
       
      Merci sa marche ...

      sauf que en VB c est pas switch mais select case
      0
  3. coding:cp1252 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   1
     
    Le nom du langage ?
    0
  4. 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
    1. Le Dodo Messages postés 2307 Date d'inscription   Statut Membre Dernière intervention   247
       
      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
    2. 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
    3. Le Dodo Messages postés 2307 Date d'inscription   Statut Membre Dernière intervention   247
       
      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
    4. ncisboys Messages postés 5 Statut Membre
       
      Je pense que c est du VB net

      En tout cas j utilise visual studio 2010 avec le projet application Window Forms
      0
    5. Le Dodo Messages postés 2307 Date d'inscription   Statut Membre Dernière intervention   247
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ncisboys Messages postés 5 Statut Membre
     
    C est ca je confirme

    Enfin j arrive pas faire ce que je veux faire
    0