Actuellement, je travaille sur un projet donne en classe.
J'ai constitue un menu avec switch case ou l'utilisateur devra choisir la tache a effectuer car le programme est multi-tache.
Et l'affichage du menu doit etre toujours present pour le cas ou l'utilisateur voudrait realiser une action differente.La j'ai fait usage d'une boucle pour afficher le menu de maniere continu.
Jusque la pas de probleme
Il va y en avoir au moment ou je veux faire en sorte que l'utilisateur ait fait un mauvais choix
Vous allez voir ma source

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "msg.h"
#include "fct.h"
#include <conio.h>
#define BANNIERE printf("\t\t\t**************************\n");\
                 printf("\t\t\t*******  Bienvenue *******\n");\
                 printf("\t\t\t*** Sur le MULTI_TACHE ***\n");\
                 printf("\t\t\t**************************\n\n\n");
 
 
int main(int argc,char** argv)
{
    char chx,anag[TAILLECHAR];
    int valfact,combn,combp,i;
    do
    {
        BANNIERE
        menu_prog();
        scanf("%c",&chx);
        fflush(stdin);
        switch(chx)
        {
            case 'a':
            case 'A':{
                        printf("\t\tQue voulez vous ecrire dans votre fichier\n");
                        ecrire_ds_fichier();
                        break;
                        }
            case 'b':
            case 'B':{
                        affich_from_fichier();
                        break;
                        }
            case 'c':
            case 'C':{
            						printf("\t\tEntrez la valeur dont vous voulez calculer la factoriel\n");
												scanf("%d",&valfact);
												 printf("\t\tLa factorielle de %d est %ld\n",valfact,facto(valfact));
												 break;
                        }
            case 'd':
            case 'D':{
											rap_comb();//position de la fonction pour etre  visible apres pasaj deif
											do
											{
													printf("\t\tEntrez la valeur de p\n");
													scanf("%d",&combp);
													printf("\t\tEntrez la valeur de n\n");
													scanf("%d",&combn);
													if( combn<combp||combn<0||combp<0 )
													{
															printf("\t\tErreur!!! Relire le rappel attentivement\n");
															printf("\t\tPressez une touche pour continuer\n");
															system("pause");//system("cls");
 
													}
											}while(combn<0||combp<0);
											printf("\t\tLa combinaison de %d dans %d est: %f\n",combp, combn,comb_2_nb(combn,combp));
											break;
                        }
            case 'e':
            case 'E':{
											printf("\t\tEntrez le mot dont vous voulez l'anagramme\n");
											scanf("%s",anag);
											printf("\t\tL'anagramme de %s est: ",anag);
											for(i=strlen(anag);i>=0;i--)
											{
											    printf("%c",anag[i]);
											}
											printf("\n");
											break;
                        }
            case 'f':
            case 'F':{
            					date();
            					break;
 
                        }
            case 'g':
            case 'G':{
                            eteindre();
                            break;
                        }
            case 'h':
            case 'H':{
                            break;
                        }
            case 'i':
            case 'I':{
                            break;
                        }
        }
 
        if(chx!='a'||chx!='A'||chx!='b'||chx!='B'||chx!='c'||chx!='C'||chx!='d'||chx!='D'||chx!='e'||chx!='E'||chx!='f'||chx!='F'||chx!='g'||chx!='G'||chx!='h'||chx!='H'||chx!='i'||chx!='I')
        {
            printf("\tCe n'est pase une option valide\n");
            printf("\tVeuillez bien regarder les directives du menu\n");
        }
        system("pause");system("cls");
    }while(chx!='a'||chx!='A'||chx!='b'||chx!='B'||chx!='c'||chx!='C'||chx!='d'||chx!='D'||chx!='e'||chx!='E'||chx!='f'||chx!='F'||chx!='g'||chx!='G'||chx!='h'||chx!='H'||chx!='i'||chx!='I');
    //printf("Hello world!\n");
    system("pause");
    return 0;
}
Le probleme c'est le if qui s'excute meme quand l'utilisateur fait un bon choix au menu..
J'espere que j'ai ete assez clair
Un grand merci deja a vous pour le temps que vous allez prendre pour visionner ma source.Et aussi pour vos conseils.