私はまだ C に不慣れで、ユーザーからの入力を検証しようとしています。'C' int int int または 'L' int 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) ;
}
}
どうもありがとう