C언어 소스문제점좀요 ...
들꿈
C언어 과제로함수를 포함하여1번을 누르면 학번2번 이름3번 소수판별4번 구구단5번 종료
다른것을 누를시 잘못입력했다는 말이뜨게 하는소스를 하는건데요.
#include stdio.h
void hak() { printf(학번: 201300000 \n);}
void name() { printf(이름: 홍길동 \n);}
void sosu() { int i,j; int answer;
printf(\n\n소수판별을 시작합니다.); printf(범위를 입력하세요.); scanf(%d, &answer);
for(i=1; i=answer; i++) { for(i=j; i=j; j++) {
if(i==j) printf(%d, i); } printf(\t); }}
void gugu() { int i,j;
printf(\n\n구구단을 출력합니다.); for(i=1; i=9; i++) { printf(구구단 %d단 입니다. \n, i); for(j=1; j=9; j++) {
printf(%d * %d = %d , i, j , i*j); if(i%3==0) printf(\n); else printf(\t); } printf(\n); }}
void exit() { printf(\n\n 프로그램을 종료합니다.\n); exit(0);}
void main() { int answer;
printf(1.학번 \n 2.이름 \n 3.소수출력 \n 4. 구구단출력 \n 5.종료); scanf(%d, &answer);
if(answer==1) { hak(); else if(answer==2) name(); else if(answer==3) sosu(); else if(answer==4) gugu(); else if(answer==5) exit(); else printf(잘못 입력하셨습니다.); }}에러가error C2181: illegal else without matching if
이렇게뜹니다....다 잘쓴거같은데 뭐가문제일까요
-
나려 2025-05-16
그리고 위의 문제는 if를 잘못쓰셨습니다 if안에 else if들이 들어가는것이 아니라 if문뒤에 else if 들과 else가 들어가야하는것입니다.
-
큰나라 2025-05-16
그리구 입력방식이 1자리 숫자를 나타내는거라면 Swtich가 보기 좋구요... 그렇게 입력을 해야한다면 getch();를 사용하는것도 좋습니다. getch();를 쓰면 소스 자체도 깔끔해지고 콘솔창에서도 깔끔해집니다.
하지만 무한반복을 하지않는것이라면 둘다 비슷비슷하죠 ㅎ