你好,所以这段代码是用于drowing形状的。问题是,当循环中的训练完成后,在函数showinterface后再次进行训练时,它不等待获得char,然后重复该函数,等待获得char这是代码:
int main ()
{ while (1)
{
fflush(stdin);
ShowInterface () ;
ch = GetNumber () ;
fflush(stdin);
switch (ch)
{
case '1':
printf ( " donner la largeur du carre ");
scanf ("%d" , &langeur_carre) ;
Drawing_shape (langeur_carre , langeur_carre) ;
printf (" n ----------------------------------------------------- n") ;
fflush(stdin);
break;
case '2':
printf ( " donner la largeur du rectangle ");
scanf ("%d" , &largeur_rect) ;
printf ( " donner la longeur du rectangle ");
scanf ("%d" , &langeur_rect) ;
Drawing_shape (largeur_rect ,langeur_rect) ;
printf (" n ----------------------------------------------------- n") ;
fflush(stdin);
break;
case '3':
exit(0);
}
}
这是输出
-----------------------------------------------------
Bonjour Bienvenu !!
1-Dessiner un carré
2-Dessiner un rectangle
3-Quitter
-----------------------------------------------------
choisir le touche que vous convient : 1
donner la largeur du carre 3
###
# #
###
-----------------------------------------------------
-----------------------------------------------------
Bonjour Bienvenu !!
1-Dessiner un carré
2-Dessiner un rectangle
3-Quitter
-----------------------------------------------------
choisir le touche que vous convient :
-----------------------------------------------------
Bonjour Bienvenu !!
1-Dessiner un carré
2-Dessiner un rectangle
3-Quitter
-----------------------------------------------------
choisir le touche que vous convient : 1
正如你在第二次看到的那样,它没有得到字符,甚至我也没有触摸任何键
这是函数GetNumber:的代码
char GetNumber ()
{
printf("choisir le touche que vous convient : ");
scanf ("%c" , &ch);
return (ch) ;
}
我会在stdin
上去掉fflush
。此外,您没有向我们展示您的GetNumber()
代码。但可能是fflush
。