C언어 도와주세요...
조회수 271회
과제인데 풀리지 않아서 질문합니다 도와주세요...
- 출력하고자 하는 문자를 입력 받은 후, 지정 문자를 지정양식에 따라 출력하는 프로그램을 작성합니다. 2. 출력 가능한 문자는 ‘!’, ‘@’, ‘#’, ‘$’ 임
- 프로그램 종료문자는 ‘q’ 임
- 자신만의 두개의 입력함수(사용문자 입력함수, 라인 출력형식 입력함수)와 하나의 출력함수 를 사용하여야 함. 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);
}
}
댓글 입력