怎么在主函数添加判断语句啊!
#include<stdio.h>
#include<malloc.h>
#include <stdlib.h>
typedef char DataType;
#define STACK_SIZE 100
typedef struct{
DataType *top;
DataType *base;
int stack_size;
}seqstack;
void init(seqstack *s)
{
s->base=(DataType *)malloc(STACK_SIZE*sizeof(DataType));//
if(!s->base) exit(-1);
s->top=s->base;
s->stack_size=STACK_SIZE;
}
int IsEmpty(seqstack *s)
{
return s->base==s->top;
}
int IsFull(seqstack *s)
{
return s->top-s->base==STACK_SIZE-1;//
}
void Push(seqstack *s,char ch)
{
if(IsFull(s))
{
printf("overflow\n!");
exit(1);
}
else
*s->top++=ch;
}
char Pop(seqstack *s)
{
if(IsEmpty(s))
{
printf("栈空\n");
exit(1);
}
return *--s->top;
}
char Top(seqstack *s)// 取栈顶元素
{
if(IsEmpty(s))
{
printf("栈空\n");
exit(1);
}
return *(s->top-1);
}
void conversion(int a,int b)
{
int i;
seqstack s;
init(&s);
while(a)
{
Push(&s,a%b);
a=a/b;
}
printf("转换结果为:\n");
while(!IsEmpty(&s))
{
i=Pop(&s);
printf("%d",i);
//当基数大于9时输出结果不对。改成printf("%x", i);可以实现16进制内的输出。改成printf("%c", (i < 10) i+'0' : i - 10 + 'A');可以实现36进制内的输出
}
free(s.base);
}
int main(int argc,char *argv[])
{
int a,b;
printf("请输入要被转换的十进制数\n");
scanf("%d",&a);
printf("请输入要转换成的进制数<2,8or16>\n");
scanf("%d",&b);
conversion(a,b);
printf("\n");
return 0;
}
怎么添加附件中图片中这些判断语句!