개요
문제풀이 1) 작업선택 : 구구단(1), 누적합계(2), 종료(3) 2) 구구단(1) 선택시 입력 받은 단수에 맞는 구구단 출력 3) 누적합계(2) 선택시 1 부터 입력 받은 값까지의 누적합계출력 4) 종료(3) 선택시 프로그램 종료 5) 작업선댁 및 구구단, 누적합계 모두 반복 입력 동작 |
목표
작업 선택 : 구구단(1), 누적합계(2), 종료(3) = 4 1번에서 3번을 선택하세요! 작업 선택 : 구구단(1), 누적합계(2), 종료(3) = 1 단(2~9)을 입력하세요 = 12 2~9사이를 입력하세요! 단(2~9)을 입력하세요 = 3 3 * 0 = 0 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 다시 하시겠습니까(Y/N) ? = n //구구단을 다시할거냐? 작업 선택 : 구구단(1), 누적합계(2), 종료(3) = 2 누적합계를 원하는 숫자를 입력하시오 = 10 10 까지의 누적 합계는 55 입니다. 다시 하시겠습니까(Y/N) ? = y //누적을 다시할거냐? 누적합계를 원하는 숫자를 입력하시오 = 100 100 까지의 누적 합계는 5050 입니다. 다시 하시겠습니까(Y/N) ? = n// 누적을 다시할거냐? 작업 선택 : 구구단(1), 누적합계(2), 종료(3) = 3 |
Code
#include<stdio.h>
int main(void)
{
char rep_d,rep_s;
int sel = 0, sel_dan = 0, sel_num = 0, i_num = 0, sum_num, dan_re,
dan_err, sum_re, sum_err, sel_dan_err;
do
{
printf("작업 선택 : 구구단(1), 누적합계(2), 종료(3) = ");
//작업을 선택할 sel 입력
scanf_s("%d", &sel);
//입력이 1일 때,구구단 작업 시작
if (sel == 1)
{
do
{
do
{
printf("단수를 입력하세요 = ");
//단수 입력
scanf_s("%d", &sel_dan);
//범위 외 숫자 입력시 출력 할 Error
if (sel_dan < 2 || sel_dan>9)
{ printf("2~9사이의 값을 입력하세요\n"); sel_dan_err = 1; }
else sel_dan_err = 0;
} while (sel_dan_err);
for (int i = 0; i <= 9; i++) //구구단 출력
{
printf("%d X %d = %d\n", sel_dan, i, sel_dan * i);
}
do {
printf("\n구구단을 다시 시작하시겠습니까?(y/n) : ");
//구구단 재시작 입력
scanf_s("\n%c", &rep_d, (unsigned)sizeof(rep_d) + 1);
//n을 입력 하면 구구단 끝
if (rep_d == 'n' || rep_d == 'N' )
{dan_re = 0; dan_err = 0;}
//y를 입력 하면 단수 입력으로 이동
else if (rep_d=='y' || rep_d=='Y')
{dan_re = 1; dan_err = 0;}
else
{printf("잘못된 입력입니다.\n");dan_err = 1;}
} while (dan_err);
} while (dan_re);
}
else if (sel == 2) //입력이 2일 때, 누적합 시작
{
do
{
sum_num = 0;
printf("누적합계를 원하는 숫자를 입력하시오. = ");
//누적합을 할 숫자입력
scanf_s("%d", &sel_num);
//누적합 시작
for (i_num = 0; i_num < sel_num; i_num++)
{
sum_num += i_num;
}
//누적합 출력
printf("%d 까지의 누적 합계는 %d 입니다.\n", i_num, sum_num);
do {
//누적합 재시작 입력
printf("\n누적합을 다시 시작하시겠습니까?(y/n) : ");
scanf_s("\n%c", &rep_s, (unsigned)sizeof(rep_s) + 1);
//n을 입력하면 누적합 끝
if (rep_s == 'n' || rep_s == 'N')
{ sum_re = 0; sum_err = 0; }
//y를 입력하면 누적합 숫자 입력으로 이동
else if (rep_s == 'y' || rep_s == 'Y')
{ sum_re = 1; sum_err = 0; }
else
{ printf("잘못된 입력입니다.\n"); sum_err = 1; }
} while (sum_err);
} while (sum_re);
}
else { printf("1번에서 3번을 선택하세요.\n"); }
putchar('\n');
} while(sel !=3); //작업선택이 3이면 종료
sel == 3 ? printf("작업을 종료합니다.\n") : putchar('\r');
return 0;
}
Output
'C\C++' 카테고리의 다른 글
2D Array Sum (0) | 2022.02.14 |
---|---|
string ex01 (0) | 2022.02.14 |
For문 중첩 (0) | 2022.02.10 |
IF문 예제 3 (0) | 2022.02.10 |
IF문 예제 2 (0) | 2022.02.10 |