C언어 도와주세요...

조회수 271회

과제인데 풀리지 않아서 질문합니다 도와주세요...

  1. 출력하고자 하는 문자를 입력 받은 후, 지정 문자를 지정양식에 따라 출력하는 프로그램을 작성합니다. 2. 출력 가능한 문자는 ‘!’, ‘@’, ‘#’, ‘$’ 임
  2. 프로그램 종료문자는 ‘q’ 임
  3. 자신만의 두개의 입력함수(사용문자 입력함수, 라인 출력형식 입력함수)와 하나의 출력함수 를 사용하여야 함. 5. 라인 출력형식 입력을 위한 함수에서는 정수를 입력으로 받음. 6. 다음과 같이 출력되도록 함.

출력 예:

사용 문자를 입력하시오 : !

각 라인에 출력할 형식을 입력하시오 : 437

!!!!

!!!

!!!!!!!

사용문자를 입력하시오 : 0

0은 사용할 수 없습니다. 다시 입력하세요 : @

각 라인에 출력할 형식을 입력하시오 : 2

@@

사용문자를 입력하시오 : q

프로그램을 종료합니다

여기까지가 과제이고 제가 만든 코드는 아래와 같습니다.

#include <stdio.h>
#include <string.h>

int ca(char a)
{
    while (1) {
        if (a == '!') {
            return a;
        }
        else if (a == '@') {
            return a;
        }
        else if (a == '#') {
            return a;
        }
        else if (a == '$') {
            return a;
        }
        else if (a == 'q') {
            printf("프로그램을 종료합니다.");
            return 0;
        }
        else {
            printf("%c는 사용할 수 없습니다. 다시 입력하세요 : ", a);
            a = getchar();
        }
    }
}

void print_ch(int a,int b,int c,char d)
{
    int i;
    for (i = 0; i < a; i++)printf("%c", d);
    printf("\n");
    for (i = 0; i < b; i++)printf("%c", d);
    printf("\n");
    for (i = 0; i < c; i++)printf("%c", d);
}

int main()
{
    char a, b;
    int c, d, e;
    while (1)
    {
        printf("사용문자를 입력하시오 : ");
        scanf_s("%c", &a);
        b = ca(a);
        printf("각 라인에 출력할 형식을 입력하시오 : ");
        scanf_s("%d%d%d", &c, &d, &e);
        print_ch(c, d, e, b);
    }
}

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)