아래와 같은 프로그램을 짜고 있는데 두 가지 문제가 있습니다.
어떤 프로그램이냐면 탁구게임으로 승자를 선택하면 그 승자의 점수가 올라고,
그러다가 3세트를 다 이기면 경기가 종료되는 간단한 이지선다형의 프로그램입니다.
첫번째 문제는 결과 출력시 화면이 계속 내려가면서 지저분해지는데,
그렇게 안하고 화면을 고정시킨 다음에 결과값만 수정해 주려고 합니다.
포인터를 사용하면 된다고하던데 제가 보는 C로 배우는 프로그래밍 기초 라는 교재에는 방법이 안나와서
모르겠습니다. 다른 책도 2~3권 봤는데 안나왔더군요.
나왔어도 이해를 못해서 그런건지 도무지 모르겠습니다.
간단한 예라도 알려주시면 감사하겠습니다.
그리고 두번째 문제는 이게 가장 문제입니다.
프로그램의 마지막 부분의 스위치 문에서 오류가 나는데 왜 오류가 나는지 모르겠습니다.
책에 나온데로 짰는데 원인을 모르겠습니다.
인터넷에 나온 예문도 보고 실행도 시켜본 다음에 아래처럼 적용한건데, 오류가 납니다.
어떤 이윤지 모르겠습니다.
아 그리고 이 프로그램은 Dev C++ 로 짠건데 비주얼 C에서 제대로 작동할까요?
교수님께서 확인하시는 프로그램은 비주얼 C인데 전 비주얼 C가 없어서 Dev 로 하고 있습니다.
호환상에 문제는 없겠죠?
많은 분들의 조언 부탁드립니다.
#include<stdio.h>
void score (char name1[20], char name2[20], int score1, int score2, int set1, int set2);
int main (void)
{
char name1[20], name2[20];
int winner, score1 = 0, score2 = 0, set1 = 0, set2 = 0;
printf("1번 선수 이름을 입력하시요\n");
scanf("%s", name1);
printf("1번 선수 이름을 입력하시요\n");
scanf("%s", name2);
while((set1 != 2) && (set2 != 2))
{
while((score1 != 11) && (score2 != 11)){
printf("%s가 이겼다면 1을 %s가 이겼다면 2를 입력하시요 \n",name1 ,name2);
scanf("%d",&winner);
switch(winner)
{
case 1:
score1 += 1;
score(name1, name2, score1, score2, set1, set2);
break;
case 2:
score2 += 1;
score(name1, name2, score1, score2, set1, set2);
break;
default:
printf("잘못 입력 했습니다. 재입력하시요\n");
break;
}
}
if(score1 == 11)
{
set1 += 1;
printf("%s 가 %d : %d 로 %dSET를 이겼습니다.\n",name1, score1, score2, set1+set2);
score1 = 0;
score2 = 0;
}
else
{
set2 += 1;
printf("%s 가 %d : %d 로 %dSET를 이겼습니다.\n",name2, score1, score2, set1+set2);
score1 = 0;
score2 = 0;
}
}
if(set1 = 2)
printf("%s 가 경기를 SET SCORE %d : %d 로 이겼습니다.\n",name2, score1, score2);
else if(set2 = 2)
printf("%s 가 경기를 SET SCORE %d : %d 로 이겼습니다.\n",name2, score1, score2);
else;
return 0;
}
void score (char name1[20], char name2[20], int score1, int score2, int set1, int set2)
{
int c=(score1 + score2);
char a, b;
swich(c/5)
{
case 1:
a = 'O';
b = 'X';
break;
case 2:
a = 'O';
b = 'X';
break;
case 3:
a = 'O';
b = 'X';
break;
case 4:
a = 'O';
b = 'X';
break;
case 5:
a = 'O';
b = 'X';
break;
case 6:
a = 'O';
b = 'X';
break;
default:
a = 'O';
b = 'X';
break;
}
printf("|--------------------------|\n");
printf("| NAME |%8s|%8s|\n", name1, name2);
printf("| SET | %d | %d |\n",set1, set2);
printf("| score | %2d | %2d |\n",score1,score2);
printf("|--------------------------|\n");
printf("|SERVICE| %c | %c |\n",a,b);
printf("|--------------------------|\n");
}
|