[c]s'est possible un programme comme sa ?

Signaler
Messages postés
1
Date d'inscription
mercredi 30 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2009
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour, s'est possible un programme qu'ont luit poserais des questions et il ouvrirais le contenue d'un fichier texte en rapport avec se qu'on à demander, avec le possibilités dans ragoûter ?

Exemple : je pose la question : s'est quoi internet ? et mon programme ouvre le contenue du fichier internet.txt qui explique presque tout sur internet.

S'est possible ?

si oui, qu'elle qu'un pourait-il me donnais le code source de sont programme ?

Merci de me répondre.

1 réponse

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Bienvenue,

Ce forum est fait pour poser des questions précises sur des sujets précis, pas pour demander des codes tout faits.
Néanmoins, voilà une piste de code.

#include <stdio.h>
#include <string.h>

int DisplayHelp(char* lpWord)
{
  FILE* lpFile;
  char lpFileName[50];
  char lpBuffer[2000];
  long nSize;

  strcpy(lpFileName, lpWord);
  strcat(lpFileName, ".txt");  

  lpFile = fopen(lpFileName, "rb");
  if (lpFile)
  {
    printf("%s\n", lpWord);
    fseek(lpFile, 0, SEEK_END);
    nSize = ftell(lpFile);
    fseek(lpFile, 0, SEEK_SET);
    fread(lpBuffer, 1, nSize, lpFile);
    lpBuffer[nSize] = 0;
    puts(lpBuffer);
    fclose (lpFile);
    puts("===================");
  }
  return (int)lpFile;

}

int IsAlpha(char nChar)
{
  return (((nChar >= 'a') && (nChar <= 'z')) || ((nChar >= 'A') && (nChar <= 'Z')));
}

int main()
{
  char lpQuestion[500];
  char lpWord[50];
  int nLen;
  int nBeginning;
  int bUnderstood;
  int nI;

  while (1)
  {
    printf("Question ?\n");
    gets(lpQuestion);
    
    /* On quitte si rien de tapé */
    if (! strcmp(lpQuestion, ""))
      break;

    /* On s'assure d'avoir un caractère spécial à la fin */
    strcat(lpQuestion, ".");

    nLen = strlen(lpQuestion);
    nBeginning = 0;
    bUnderstood = 0;
    for (nI = 0; nI < nLen; nI++)
    {
      if (! IsAlpha(lpQuestion[nI]))
      {
        if (nI != nBeginning)
        {
          memcpy(lpWord, &lpQuestion[nBeginning], nI - nBeginning);
          lpWord[nI - nBeginning] = 0;
          if (DisplayHelp(lpWord))
          {
            bUnderstood = 1;
            break;
          }
        }
        nBeginning = nI + 1;
      }
    }
    if (! bUnderstood)
      printf("Désolé, je n'ai pas compris la question.\n");
  }
  return 0;
}