#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <dos.h>
main()
{
int i;
float a,b,d;
char *c[]={"Please input the sum of quantity:", "Please input interfior:",
"count:"};
textbackground(0); /* 设置屏幕背景色 */
clrscr(); /* 清除文本屏幕 */
for(i=0; i<3; i++)
{
textbackground(i+1);
window(15+15*i, 10, 25+15*i, 13); /* 定义文本窗口 */
clrscr(); /* 清除窗口 */
cprintf("%s", c[i]);
}
textbackground(4);
window(15,14,25,15);
clrscr();
gotoxy(1, 1); /*光标转移*/
for(i=0;i<5;i++)
{
if((cscanf("%f",&a)==1)&&a>0) /*要求输入的是数字且大于0*/
{
cprintf("%f",a);
break;
}
else
{
clrscr();
cprintf("Invalid number");
for (i=1;i<100;i++)
delay(20);
clrscr();
gotoxy(1,1);
}
continue; /*如果输入不是数字跳出循环*/
}
textbackground(4);
window(30,14,40,15);
clrscr();
cscanf("%f",&b);
d=b/a*100; /*换算公式*/
textbackground(4);
window(45,14,55,15);
clrscr();
cprintf("%f%",d);
getch();
return 0;
}
二个问题:
1. 如果输入不是数字本应该跳出重新输入的?程序却没有。不知问题所在
2.如果输入是数字后为何在可持行窗体会自动关闭?
[此贴子已经被作者于2006-10-18 21:24:32编辑过]