CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[c++] Question - Réponse

FleshResistance
FleshResistance
Niveau 5
05 juillet 2012 à 00:42:52

Bonjour à tous!
J'aurais voulu savoir si il était possible de coder un truc en C ou C++ afin d'ouvrir une fenêtre de commande.
Dans cette fenêtre de commande, on tape un texte (Question ou affirmation)
Le "logiciel" analyse dans un fichier texte si la question ou l'affirmation s'y trouve (Dans un fichier A en .txt)
Cette affirmation ou question renvoyant à un "code"
Le logiciel ira alors chercher dans un fichier B en .txt la réponse qui correspond à ce code afin de répondre à l'affirmation ou à la question

Exemple: J'écris "Coucou" dans la fenêtre de commande
Le "logiciel" en question va chercher "Coucou" dans A.txt
Il le trouve, et vois qu'il correspond à 1
Il va chercher 1 dans B.txt et voit que ça correspond à "Bonjour!"
ALors il me répond: Bonjour!

En espérant m'être fait comprendre!

therainman
therainman
Niveau 9
05 juillet 2012 à 00:52:07

A la base tous les scripts s’exécutent en mode console. C'est après, si tu veux créer des fenêtres que ça devient compliqué. Ensuite lire et écrire dans un fichier .txt, c'est bidon, même si tu n'as jamais fais de programmation de ta vie, avec des copier/coller tu peux y arriver.

FleshResistance
FleshResistance
Niveau 5
05 juillet 2012 à 00:55:31

Je ne demande pas de créer une fenêtre
Et pour moi utiliser un fichier txt est bien plus lisible
Et cela permet de le modifier n'importe quand sans avoir de logiciel quelquonque (Doute sur l'orthographe)

inhert-
inhert-
Niveau 7
05 juillet 2012 à 01:44:39

Ton problème n'a rien de compliqué.

Par contre pour ce n'est efficace que pour des dialogues basiques et extrêmement limités. J’espère que tu n'imagines pas une seule seconde faire une ia, même petites, de conversation avec ça! :noel:

Et tu ne vois pas la chose efficacement:

:d) Déjà pourquoi deux fichiers? Un seul, avec un séparateur, ou encore du CSV ou du XML et tu te contenteras d'un seul fichier, c'est mieux.

:d) Tu recherches comment la réponse que tu dois donner à l'utilisateur? Non parce que si tu t'amuses à parcourir les possibilités séquentiellement jusqu’à que tu trouves la bonne, tu vas attendre longtemps :rire: :rire: Voir le point suivant pour un début de solution.

:d) Pourquoi faire la recherche dans un fichier? Si le fichier n'est pas énorme, pourquoi ne pas charger toutes les possibilités en RAM, et faire cette recherche en ne travaillant qu'avec la RAM? Parce que les accès disques, c'est lent.

Tu peux par exemple utiliser une HashMap, qui à partir d'une clé, te donnes la valeurs associée. Ici la clé serait ce qui représente l'entrée utilisateur et la valeur, ce que la machine doit répondre.

C'est globalement assez rapide, a partir de la clé tu retrouves rapidement la valeur associé. (Pour peu que tu fasse attention au problème de collision)

Bon en l'état c'est très limité, parce si l'utilisateur n’écrit pas précisément ce dont à quoi tu t'attends, ça ne marche pas. Mais pour faire un truc tout basique juste pour tester, tu peux utiliser trim et faire des conversions uppercase/lowercase. En plus, ça ne gère pas le fait qu'une entrée utilisateur peut bien sûr avoir plusieurs réponses crédibles possibles.

:d) ATTENTION: Cette approche naïve ne marche que pour de mini-dialogue très limités! Si tu veux faire un bot conversationnel un peu plus sérieux, il va falloir apprendre l'analyse syntaxique, le traitement du langage et les réseaux de neurones :-)

Mais le niveau de difficulté n'a absolument rien de comparable. A ton niveau, faire une petite implémentation de l'approche naïve sera déjà un bon exercice.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment