Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5897] C언어 작성시 프레임을 고정해서 결과만 바꿔주려면 어떻게 해야하나요?
김영민 [] 2515 읽음    2006-12-11 10:26
아래와 같은 프로그램을 짜고 있는데 두 가지 문제가 있습니다.

어떤 프로그램이냐면 탁구게임으로 승자를 선택하면 그 승자의 점수가 올라고,

그러다가 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");
}

+ -

관련 글 리스트
5897 C언어 작성시 프레임을 고정해서 결과만 바꿔주려면 어떻게 해야하나요? 김영민 2515 2006/12/11
5899     Re:이제야 알았습니다. 확인이 필요한데... 건망증이 문제더군요. 김영민 2244 2006/12/12
5898     Re:C언어 작성시 프레임을 고정해서 결과만 바꿔주려면 어떻게 해야하나요? 외랑 3140 2006/12/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.