Slt à toute et a tous,
J'ai un problème encore une fois sur un de mes programmes voici ce que je dois faire:
"Verrouiller votre programme en refusant les fonctions autre que la saisie du menu tant que la saisie n'a pas été effectué. En effet l'affichage du tableau avant la saisie par exemple donnera des resultats aléatoires."
Il ne me reste plus que ca à faire mais je ne voi vraiment pas comment faire...
Merci d'avance pour votre aide.
voici le source...
/*fonctionsaisietab.c*/
/*10/10/05*/
/*Windows XP*/
/*permet la saise du tableau tab de n entiers*/
#include <stdio.h>
#include <conio.h>
#define TITRE "\t\t\n***permet de saisir un tableau et d'utilise differente fonctionnalite***\n"
void modifieTab(int taille,int tab[], int val, int i);
void maxTab(int ,int []);
void affichTab(int ,int []);
void saisieTab(int ,int []);
void menu(void);
void main(void)
{
char lettre;
int taille=6;
int tab[6];
int i;
int val;
while(1)
{
menu();
lettre=getchar();
fflush(stdin);
switch(lettre)
{
case 'a':
saisieTab(taille,tab);
break;
case 'b':
affichTab(taille,tab);
break;
case 'c':
maxTab(taille,tab);
break;
case'd':
printf("\nEntrez la valeur i de l'indice:" );
scanf("%d",&i);
printf("\nEntrez la valeur val que vous voulez affecter a i:" );
scanf("%d",&val);
modifieTab(taille,tab,val,i);
case 'q':
printf("\nmerci de votre attention" );
exit();
break;
default:
printf("\nVeuillez verifier votre saisie" );
break;
}
} //fin du while(1)
}
void menu (void)
{
printf(TITRE);
printf("\n********a:Saisie du tableau tab de n entier********\n" );
printf("\n*******b:Affiche le tableau de n entiers*******\n" );
printf("\n******c:Saisie de la taille du tableau******\n" );
printf("\n*****d:Rangement de valeur*****\n" );
printf("\nTaper a pour saisir le tableau\n" );
printf("\nTaper b pour afficher le tableau\n" );
printf("\nTaper c pour afficher le plus grand des entiers du tabeau tab de n entiers\n" );
printf("\nTaper d pour ranger la valeur val de rang i du tableau tab de n entiers\n" );
printf("\n--Taper q pour quitter le programme--\n" );
printf("\nVeuillez entrer la lettre correspondant a la fonction choisie:\n" );
}
/*affichTab*/
/*Entrées:tab:tableau d'entiers,taille:entier*/
/*Sorties:rien*/
/*E/S:*/
/*Description:affiche à l'écran tous les éléments du tableau*/
/*var:i:entier*/
void affichTab(int taille,int tab[])
{
int i;
for(i=0;i<taille;i++)
{
printf("\ntab[%d]=%d",i,tab[i]);
}
}
/*saisieTab*/
/*Entrées:tab:tableau d'entiers,taille:entier*/
/*Sorties:rien*/
/*E/S:*/
/*Description:affiche à l'écran tous les éléments du tableau*/
void saisieTab(int taille,int tab[])
{
int i;
for(i=0;i<taille;i++)
{
printf("\n indice=%d veuillez entrer une valeur n:", i);
scanf("%d",&tab[i]);
fflush(stdin);
}
}
/*maxTab*/
/*Entrées:tab:tableau d'entiers,taille:entier*/
/*Sorties:rien*/
/*E/S:*/
/*Description:affiche à l'écran tous les éléments du tableau*/
void maxTab(int taille,int tab[])
{
int max;
int i;
for(i=0;i<taille;i++)
{
if(max<tab[i])
{
max=tab[i];
}
}
printf("%d",max);
}
/*modifieTab*/
/*Entrées:tab:tableau d'entiers,n:entier,val:entier,i:entier*/
/*sortie:rien*/
/*description:range la valeur val dans l'élément de rang i du tableau tab de n entiers*/
void modifieTab(int taille,int tab[], int val, int i)
{
tab[i]=val;
}