Pas étonant que ça marche pas quand on fait nimporte quoi
Bon tréve de plaisanterie si j'ai bien compris tu essaye de faire un menu mais tu t'y prend comme un pied (désolé mais c un peu ça) déjà ta varible test ne sert à rien, et comparé le résultat de scanf n'as pas vraiment de sens étant donné qu'elle renvoie au mieux EOF en cas de pépin, valeur qui dépend du système, et puis honétement personne ne teste jamais cette valeure de retour (même si c pas bien
)
En gros voilà comment tu devrais faire:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void main(void)
{
int ok,x;
ok=0;
Cls();
printf("\nVoulez vous :" );
printf("\n\t1 - lire un fichier" );
printf("\n\t2 - saisir des donnees au clavier." );
printf("\n\t3 - trier les donnees." );
printf("\n\t4 - ecrire les donnees dans le fichier" );
printf("\n\t5 - afficher les donnees du tableau" );
printf("\n\t6 - afficher les donnees du fichier" );
printf("\n\t7 - quitter le programme\n" );
while(!ok) /*Tant que ok vaut 0 de base le 0 est faut et tout autre valeure est vrai le ! signifie 'not' donc while(!ok) tant que ok faux */
{
scanf("%d",&x);
fflush(stdin) /*vide le buffer d'entrée, plus propre et évite des erreures ultérieures*/
switch(x)
{
case 1: /*fonction à appeler pour traiter le cas 1*/
break;
/* autres case à insérer*/
case 7: ok=1;
break;
default: printf("\n veuillez rentrer une valeur correcte\n" );
break;
}
}