comment imbriquer des menus .....? [RESOLU]

comment imbriquer des menus .....? [RESOLU] - C++ - Programmation

Marsh Posté le 18-06-2002 à 21:46:32    

Bonjour,
 
je voudrai imbiquer des menus mais ca marche pas trop...
 

Code :
  1. /* --- début du programme ---*/
  2. int main(int argc, char *argv[])
  3. { FILE *fp;
  4.    int  x = OUI;
  5.    int y ;
  6. if(argc < 2)
  7.    { display_usage("veuillez entrer le nom du fichier a utiliser." );
  8.      exit(1);
  9.    }
  10. /* ---- ouverture du fichier --- */
  11.   if ((fp = fopen(argv[1], "a+" )) == NULL)
  12.    { fprintf(stderr, "%s(%d)--Erreur à l'ouverture du fichier \
  13.              %s", argv[0],__LINE__, argv[1]);
  14.      exit(1);
  15.    }
  16.     while(x == OUI)
  17.     { switch(display_menu())
  18. { case '1': get_data(fp, argv[0], argv[1]);
  19.                   break;
  20.         case '2': display_report(fp);
  21.                   break;
  22.         case '3': y = OUI;
  23.                 while(y == OUI)
  24.            { switch(display_recherche())
  25.          { case '1': look_up(fp);
  26.                           break;
  27.          case '2':   printf("\n\nRetour.\n" );
  28.                           y = NON;
  29.                           break;
  30.                              default:  printf("\n\nChoix incorrect. Choisissez de 1 à 4." );
  31.                           break;
  32.                             }
  33.            }
  34.                   break;
  35.         case '4': printf("\n\nMerci d'avoir utilisé ce programme.\n" );
  36.                   x = NON;
  37.                   break;
  38.         default:  printf("\n\nChoix incorrect. Choisissez de 1 à 4." );
  39.                   break;
  40.       }
  41.     }
  42. fclose(fp);       /* refermer le fichier */
  43.    return 0;
  44. }


 
et puis j'ai ma fonction look_up()
 

Code :
  1. /******************************************************
  2.    *   look_up()                                        *
  3.    ******************************************************/
  4.   int look_up(FILE *fp)
  5.   { char tmp_fname[20+1];
  6.     int  ctr = 0;
  7.     fprintf(stdout, "\n\nIndiquez le nom propre à rechercher : " );
  8.     gets(tmp_fname);
  9. if(strlen(tmp_fname) != 0)
  10. { if (fseek(fp, 0, SEEK_SET) == 0)
  11.       { fread(&rec, 1, sizeof(rec), fp);
  12.         while(! feof(fp))
  13.         {if (strcmp(rec.fname, tmp_fname) == 0) /* si correspondance*/
  14.           { fprintf(stdout, "\n%s %s %s - %s", rec.fname,rec.lname,rec.phone);
  15.             ctr++;
  16.           }
  17.           fread(&rec, 1, sizeof(rec), fp);
  18.         }
  19.       }
  20.       fprintf(stdout, "\n\n%d correspondance(s).", ctr);
  21.     }
  22.     else
  23.        fprintf(stdout, "\nVous n'avez pas indiqué de nom." );
  24.     return ctr;
  25.   }


 
en fait quand j'appelle cette fonction dans mon sous_menu display_recherche() je reviens au menu principale ???? par contre si je l'appelle depuis le menu principale c bon !!!!
 
 
ps; Est ce que vous avez besoin de voir les fonctions des menus. ?


Message édité par peemousse le 21-06-2002 à 11:34:48
Reply

Marsh Posté le 18-06-2002 à 21:46:32   

Reply

Marsh Posté le 18-06-2002 à 21:53:48    

c bon j'ai reussi ... c'etait une erreur toute conne ...donc je vais editer mon message precedent et corriger l'erreur.
 
Si ca vous parait quand meme faus vous pouvez laisser un message.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed