#include"c1.h"
#include"c2.h"
int main()
{
SqStack Q;
SElemType q,quo,e,j;
float i;
printf("输入一个十进制的数:");
fflush(stdin);//清空缓存作用,当输入字符时,它会提示错误
scanf("%f",&i);
for(;;) {
while(i<0){//输入负数时,提示错误
printf("输入有误。输入一个十进制的正整数:");
fflush(stdin);
scanf("%f",&i);
}
while((i-floor(i))!=0){//输入非整数时,提示错误
printf("输入有误。输入一个十进制的正整数:");
fflush(stdin);
scanf("%f",&i);
}
if(i==0){//输入为零时,直接转化为0
j=(int)i;
InitStack(Q);
Push(Q,i);
}
if(i>0){//十进制转化为八进制
j=(int)i;
InitStack(Q);
for(quo=j;quo!=0;){
q=quo%8;
quo=quo/8;
Push(Q,q);
}
}
printf("十进制转化为八进制:\t");
printf("(%d)10=(",j);
while(StackLength(Q)!=0)
Pop(Q,e);
printf(")8\n");
i=-1;//当输入非数字时,与fflush(stdin);连用会提示错误
printf("输入一个十进制的数:");
fflush(stdin);
scanf("%f",&i);
}
system("pause");
return 0;
}