我还是 C 的新手,正在尝试验证用户的输入。它必须采用'C' int int int 或'L' int int int 的形式。他们也可以根据需要输入任意数量。我测试第一个字符,然后取后面的 3 或 4 个整数 - 这些用于在其他函数中创建一些结构。我无法开始工作的地方是底部的 else 。我希望它拒绝任何不是 l/L/c/C 的“类型”
到目前为止我有
counter = 0 ;
while ( type != '\n' )
{
scanf("%c", &type) ;
if ( type == 'L' || type == 'l')
{
scanf(" %d %d %d %d", &llx, &lly, &urx, &ury) ;
Line line = makeline(llx,lly,urx,ury) ;
shape = makeshapeline( line ) ;
box = makeboxshape( shape ) ;
counter++ ;
}
else if ( type == 'C' || type == 'c')
{
scanf(" %d %d %d", &x, &y, &rad) ;
Circle circle = makecircle(x, y, rad) ;
shape = makeshapecircle( circle ) ;
box = makeboxshape( shape ) ;
counter++ ;
}
else
{
printf("Invalid input\n") ;
return 0 ;
}
if (counter == 1)
{
boxfinal = box ; //On the first run initialise the final box to the first result
}
if (counter > 1)
{
boxfinal = makeboxbox( box, boxfinal) ;
}
}
非常感谢