c程序,不知道为什么不能用啊。
#include <stdio.h>#include <ctype.h>
char menu(void);
char get_first(void) ;
float get_float(void);
int main(void)
{
char ch ;
float m , n ;
while ( ( ch = menu() ) != 'q');
{
printf ("请输入第一个数:\n");
m = get_float();
printf ("请输入第二个数:\n");
n = get_float();
while (ch == 'd' && n == 0)
{
printf ("0不能作除数,请重新输入 ");
n = get_float() ;
}
switch(ch)
{
case 'a': printf ("您选择的是加法:%.2lf + %.2lf = %.2lf \n", m , n , m+ n);
break ;
case 'b': printf ("您选择的是减法:%.2lf - %.2lf = %.2lf \n", m , n , m- n);
break ;
case 'c': printf ("您选择的是乘法:%.2lf * %.2lf = %.2lf \n", m , n , m* n);
break ;
case 'd': printf ("您选择的是除法:%.2lf / %.2lf = %.2lf \n", m , n , m/ n);
break ;
default: printf ("我只能识别a,b,c,d.请重新输入: \n");
break ;
}
}
printf ("结束!\n");
getchar();
return 0 ;
}
char menu(void)
{
char ch ;
printf ("请输入你要进行的运算:\n");
printf ("a) 加法 b)减法 \n");
printf ("c) 乘法 d)除法 \n");
printf ("q) 退出\n");
ch = get_first() ;
return ch;
}
char get_first(void) //得到字符串中的第一个字符,滤除其他字符
{
int ch;
while( isspace( ch = getchar() ) )
continue;
while ( getchar() != '\n')
continue;
return ch;
}
float get_float(void)
{
float m ;
char ch[30];
while ( scanf("%f",&m)!= 1)
{
gets(ch);
printf ("%s不是一个数字,请输入一些像 2.5 ,-1,-1.78E8之类的数字。\n",ch);
}
while ( getchar() !='\n')
continue ;
return m ;
}
小弟新手 ,求帮助啊!
[ 本帖最后由 qq812017077 于 2015-2-21 12:16 编辑 ]