#include lt;stdio.h>
int main()
{
int storage[10];
int a,n,i,b;
int avg,cont;
avg=0;
i=0;
c // while 에서 루프 돌기용
printf("please enter the student's score : \n");
for(a=0;a<10;a++)
{
printf("%dth student's score is : ",a+1);
scanf_s("%d",&storage[a]);
}
while(c // cont로 루프 돌기/빠져나가기
{
printf("\n\n_____Menu:_____\n");
printf("what kinds of job do you want to do??\n");
printf("1. Get the average score\n");
printf("2. Filter students who passed or not\n");
printf("3. Change a student's score\n");
printf("4. Exit\n");
scanf_s("%d",&n);
switch(n)
{
case 1:
for(a=0;a<10;a++)
{ avg=avg+storage[a]; }
printf("The average score of whole student is %d.\n",avg/10);
avg=0; // 다시 0으로 리셋
break;
case 2:
for(a=0;a<10;a++)
{ if(storage[a] >= 80)
{ printf("%dth student passed!!\n",a+1); }
}
break;
case 3:
printf("\nplease enter student's number you wish to change : ");
scanf_s("%d",&b);
printf("\n please enter the student's score : ");
scanf_s("%d",&i);
storage[b-1]=i;
printf("%dth student's score is %d\n",b,storage[b-1]);
break;
case 4:
c // while 루프를 빠져나가기.
break;
default :
printf("please enter number between 1 to 4. \n");
break;
}
printf("c // 4번은 선택하면 cont는 0 이 되지만, 계속 while 구문을 돌게됨... why??
}
return 0;
}
c 언어고, while로 루프 돌리다가 4번 선택하면 const 가 0 이되면서 while루프도 빠져나가게 만들고싶은데 안되네?
4번누른후 마지막에 cont 프린트하면 c 나오는데 계속 while루프 돌아가서 0 으로 바꿔도 계속 도네..;;
어떻게 바꿔야 while루프를 4번 선택하면 빠져나가게 만들수있음?
4의 break가 switch를 나가는것 아닌가? 원래 switch가 break로 탈출하잖니.. case 4: 에다가 while문의 조건을 탈출할 수 있게 변수조정을 해줘야지 while(c)라면 case 4: c=false;라고말이야.
아! while문을 그렇게 빠져나갈수도 있었군요. 감사합니다