Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de condition

Anonyme
    22 mars 2012 à 10:13:46

    Bonjour, je recherche a faire une condition qui vérifie si une chaine de caractère soit la même qu'une autre chaine de caractère.

    J'utilise le système if else

    mes cela ne marche pas, ça fait plus d'une heure que je bosse dessus quelqu'un peu m'aider
    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2012 à 10:33:54

      L'opérateur == devrait suffire, ou la méthode string.Compare.

      Peux-tu nous montrer ton code ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        22 mars 2012 à 11:16:40

        string com = "rien";
                    Console.WriteLine("Bonjour");
        
                    if (com == Qui est tu ?)
                    {
                        Console.WriteLine("Je suis un homme");
                    }
                    else
                    {
         
                    }
        


        Ce n'est qu'un exemple donc en faite quand l'utilisateur dit Qui est tu ? (par écrit) le programme doit répondre je suis un homme
        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2012 à 11:22:24

          string com = "rien";
          Console.WriteLine("Bonjour");
          
          if (com == "Qui est tu ?")
          {
              Console.WriteLine("Je suis un homme");
          }
          else
          {
          }
          


          il manque des guillemets.

          Attention, il va falloir écrire exactement cette phrase, Majuscule et espaces compris

          mais je ne vois nulle part la demande de saisie
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            22 mars 2012 à 12:07:37

            Merci, il me dit ceci : Le nom 'com' n'existe pas dans le contexte actuel

            edit : j'ai plus d'erreur, est-ce possible de bloquer le programme car il s'ouvre et s’éteint directement

            edit2 : j'ai rajouter console.readLine();

            J'ai essayer mais il ne fait le if
            • Partager sur Facebook
            • Partager sur Twitter
              22 mars 2012 à 12:24:23

              logique puisque "rien" est différent de "qui es tu?"
              Sinon je connais pas le vb, mais en C le == ne fonctionne pas sur les chaine de caractères, il faut passer par une fonction
              je pense qu'il doit exister aussi une fonction pour le C# (ou vb.net)
              voila: http://msdn.microsoft.com/en-us/librar [...] vs.71%29.aspx (vois les autres possibilités sur la gauche)
              String.Compare(phrase1, phrase2);
              
              • Partager sur Facebook
              • Partager sur Twitter
              ** La doc, c'est comme le PQ: ça sert à se démerder tout seul **
              Anonyme
                22 mars 2012 à 13:32:12

                J'en suis a ce moment la :

                class Prog
                    {
                        static void Main(string[] args)
                        {
                            
                            string com = "rien";
                            Console.WriteLine("Bonjour");
                            
                            
                                com = Console.ReadLine();
                                if (com == "Qui est tu ?")
                                {
                                    Console.WriteLine("Je suis un homme");
                                }
                
                                else if (com == "Que c'est tu faire ?")
                                {
                                    Console.WriteLine("Je sais allumer une lumière");
                                }
                
                                else
                                {
                                   
                                }
                                    
                            
                                    
                                }
                            }
                


                J'ai besoin que dès qu'il est passé par la condition, il recommence par exemple avec une autre phrase, est-ce que je dois utiliser une boucle ?
                • Partager sur Facebook
                • Partager sur Twitter
                  22 mars 2012 à 13:33:43

                  oui tout à fait, je t'encourage à lire le tutoriel que j'ai fait sur le C# http://www.siteduzero.com/tutoriel-3-5 [...] per-en-c.html
                  Il parle également des boucles
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    22 mars 2012 à 13:43:26

                    J'ai lu ton cours et

                    J'ai mis une boucle mais le programme s’éteint automatiquement

                    voici mon code :

                    class Prog
                    {
                        static void Main(string[] args)
                        {
                            int stop = 0;
                            string com = "rien";
                            Console.WriteLine("Bonjour");
                    
                            while (stop == 1)
                            {
                    
                                com = Console.ReadLine();
                                if (com == "Qui est tu ?")
                                {
                                    Console.WriteLine("Je suis un homme");
                                }
                    
                                else if (com == "Que c'est tu faire ?")
                                {
                                    Console.WriteLine("Je sais allumer une lumière");
                                }
                    
                                else if (com == "Bonne nuit" || com == "Au revoir")
                                {
                                    Console.WriteLine("au revoir");
                                    stop = 1;
                                }
                                else
                                {
                    
                                }
                    
                                
                    
                            }
                        }
                    }
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 mars 2012 à 13:52:50

                      stop vaut 0 au début, donc il ne rentre jamais dans la boucle
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        23 mars 2012 à 10:00:01

                        Aujourd'hui je me suis lancer dans le même développement que hier mais en format Fenêtre.

                        J'ai déjà crée un label, un bouton et un textbox.

                        Voici le code :

                        /// Logique d'interaction pour MainWindow.xaml
                            /// </summary>
                            public partial class MainWindow : Window
                            {
                                public MainWindow()
                                {
                                    InitializeComponent();
                                }
                        
                                private void OnClickBouton(object sender, RoutedEventArgs e)
                                {
                                    label1.Content = "Bonjour " + nom.Text + " !!";
                                }
                            }
                        }
                        


                        <Window x:Class="WpfApplication2.MainWindow"
                                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                                Title="MainWindow" Height="350" Width="525">
                            <Grid>
                                <Label Content="Bonjour." HorizontalAlignment="Left" Margin="12,12,0,41" Name="label1" Width="479" />
                                <TextBox Height="23" Margin="12,288,93,0" Name="nom" VerticalAlignment="Top" />
                                <Button Content="Envoyer" Height="23" HorizontalAlignment="Right" Margin="0,287,12,0" Name="button1" VerticalAlignment="Top" Width="75" Click="OnClickBouton" />
                            </Grid>
                        </Window>
                        


                        J'ai besoin de mettre mon ancien code en format console en format fenêtre.

                        Je suppose que des conditions reste des conditions mais je pense que je vais devoir modifier l'affichage du texte.

                        Je ne vous demande pas de me le faire à ma place, j'ai juste besoin d'aide au niveau de la manière de faire

                        Merci d'avance pour votre aide

                        Petrakos
                        • Partager sur Facebook
                        • Partager sur Twitter
                          23 mars 2012 à 10:25:44

                          Pour l'affichage, tu peux continuer comme tu as fait en modifiant la propriété d'un contrôle positionné dans le XAML, du genre :

                          monTextBlock.Text = "blabla";
                          
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            23 mars 2012 à 10:35:27

                            comme cela par exemple :

                            if (com.text = "Qui est tu ?")

                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 mars 2012 à 11:25:39

                              com n'est pas sensé être un string ?

                              Je parle de ton contrôle, comme ce que tu as fait dans le OnClickBouton
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                23 mars 2012 à 11:33:40

                                oui normalement c'est un string mais il n'est pas encore déclarer dans la version fenêtre

                                donc j'ai fait ceci pour voir plus clair :

                                using System;
                                using System.Collections.Generic;
                                using System.Linq;
                                using System.Text;
                                using System.Windows;
                                using System.Windows.Controls;
                                using System.Windows.Data;
                                using System.Windows.Documents;
                                using System.Windows.Input;
                                using System.Windows.Media;
                                using System.Windows.Media.Imaging;
                                using System.Windows.Navigation;
                                using System.Windows.Shapes;
                                
                                namespace WpfApplication2
                                {
                                    /// <summary>
                                    /// Logique d'interaction pour MainWindow.xaml
                                    /// </summary>
                                    public partial class MainWindow : Window
                                    {
                                        public MainWindow()
                                        {
                                            InitializeComponent();
                                        }
                                
                                        private void OnClickBouton(object sender, RoutedEventArgs e)
                                        {
                                            
                                            int stop = 0;
                                        string com = "rien";
                                        Console.WriteLine("Bonjour");
                                
                                        while (stop == 0)
                                        {
                                
                                            com = Console.ReadLine();
                                            if (com == "Qui est tu ?")
                                            {
                                                Console.WriteLine("Je suis un homme");
                                            }
                                
                                            else if (com == "Que c'est tu faire ?")
                                            {
                                                Console.WriteLine("Je sais allumer une lumière");
                                            }
                                
                                            else if (com == "Bonne nuit" || com == "Au revoir")
                                            {
                                                Console.WriteLine("au revoir");
                                                stop = 1;
                                            }
                                            else
                                            {
                                
                                            }
                                
                                        }
                                      }
                                    }
                                


                                Si je me trompe pas, ceci :

                                int stop = 0;
                                        string com = "rien";
                                        Console.WriteLine("Bonjour");
                                


                                Doit ce mettre dans Public MainWindows()
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  23 mars 2012 à 11:53:59

                                  Ah mais non, ca n'a rien à voir.
                                  Avec WPF, tu fais de la programmation événementielle, pas besoin de boucle.

                                  Il te faut une zone de texte éditable pour la question, un bouton et une zone de texte non modifiable pour la réponse.

                                  Ensuite, il faut saisir une valeur dans la zone de texte modifiable et faire ton traitement sur le click du bouton (comparer la zone de texte à tes valeurs, et mettre à jour la zone de texte non modifiable avec le résultat)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    23 mars 2012 à 12:02:23

                                    J'ai enlever la boucle, j'ai une zone de texte éditable, un bouton, zone de texte non modifiable

                                    les conditions je l'ai laisse comme elle sont ou je dois modifier le code comme par exemple :

                                    label1.Content = "Bonjour" + /namespace + "Que puis je faire pour vous ?";
                                    


                                    à la place de :

                                    Console.WriteLine("Je suis un homme");
                                    
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      23 mars 2012 à 15:20:44

                                      Essaie de faire quelque chose comme ca. Dans le xaml :

                                      <Window x:Class="WpfApplication1.MainWindow"
                                              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                                              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                                              Title="MainWindow" Height="350" Width="525">
                                          <Grid>
                                              <StackPanel>
                                                  <TextBlock Text="Entrez votre phrase" />
                                                  <TextBox x:Name="phrase" />
                                                  <Button Content="Répondre" Click="Button_Click" />
                                                  <TextBlock x:Name="reponse" />
                                              </StackPanel>
                                          </Grid>
                                      </Window>
                                      


                                      dans le code behind :

                                      public partial class MainWindow : Window
                                      {
                                          public MainWindow()
                                          {
                                              InitializeComponent();
                                          }
                                      
                                          private void Button_Click(object sender, RoutedEventArgs e)
                                          {
                                              if (phrase.Text == "Bonjour")
                                              {
                                                  reponse.Text = "Bonjour à toi";
                                              }
                                              if (phrase.Text == "Qui est tu ?")
                                              {
                                                  reponse.Text = "Je suis un homme";
                                              }
                                          }
                                      }
                                      
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        23 mars 2012 à 15:30:10

                                        Merci pour ta réponse mais j'ai trouver :

                                        else if (com.Text == "Que sais tu faire ?" || com.Text == "que sais tu faire ?")
                                                    {
                                                        label1.Content = "Je sais allumer une lumière.";
                                                    }
                                        


                                        maintenant que le programme est transférer sur une version graphique, pouvez-vous me donner une piste pour rajouter à chaque if else, un moyen de lire un mp3

                                        merci d'avance
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          23 mars 2012 à 15:40:24

                                          et c'est possible pour chaque if ?
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            23 mars 2012 à 19:52:47

                                            Pourquoi ça ne le serai pas ? ;)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              23 mars 2012 à 23:16:50

                                              ok lol, je pense que je dois mettre l'adresse vers le fichier audio dans une variable à chaque if et cela se remplace à chaque fois qu'un if est correct

                                              si j'ai faut dite le moi

                                              merci d'avance
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              problème de condition

                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                              • Editeur
                                              • Markdown