當第一個數據輸入中輸入「exit」等單詞時,需要我的代碼終止。我不知道實現這一點的正確功能或方法。我的數據是正確的,只需要用一個字命令來終止。請任何意見或提示與解釋將不勝感激。當輸入「退出」而不是第一個輸入數據時終止程序
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
double xminA, xmaxA, yminA, ymaxA, xminB, xmaxB, yminB, ymaxB;
double xminC, xmaxC, yminC, ymaxC;
char end;
while(1){
printf("Rectangle A:");
scanf("%lf%lf%lf%lf", &xminA, &yminA, &xmaxA, &ymaxA);
printf("Rectangle B:");
scanf("%lf%lf%lf%lf", &xminB, &yminB, &xmaxB, &ymaxB);
if(xminA>xmaxB || xminB>xmaxA || yminA>ymaxB || yminB>ymaxA){
printf("No overlapping area\n");
}
else if(xminA<=xmaxB || xminB<=xmaxA || yminA<=ymaxB || yminB<=ymaxA){
xminC= fmax(xminA,xminB);
xmaxC= fmin(xmaxA, xmaxB);
yminC= fmax(yminA, yminB);
ymaxC= fmin(ymaxA, ymaxB);
printf("Overlap rectangle: (%lf,%lf) (%lf,%lf)\n", xminC, yminC, xmaxC, ymaxC);
}
}
return EXIT_SUCCESS;
}
好了,你就必須允許用戶輸入「退出」,而這一切都開始通過檢查scanf' – StoryTeller
的'的返回值目前,如果用戶輸入「退出」的程序顯示「無重疊區域「無限。 –
@KamiKaze:「*'fgets'已棄用*」:什麼?!不,你的意思是'gets()'正確嗎? – alk