/**/
#include <stdio.h>
#include <Windows.h>
void StartView();
void SecondView();
void FuncSelectView();
void CalcSelectView();
void MainMessageView();
void CalcRetryView();
void ProgramExit();
int AddFunc();
int MinusFunc();
int MultipleFunc();
int DivideFunc();
int main(void)
{
StartView();
SecondView();
FuncSelectView();
return 0;
}
void StartView(void)
{
int i;
char star = '*';
printf("%50s \n", "Welcome To My Program!!");
printf("%70s","Loading ");
for (i = 0; i < 3; i++)
{
putchar(star);
Sleep(1000);
}
system("cls");
}
void SecondView(void)
{
int i;
int j;
char star = '*';
char escape = '\n';
for (i = 0; i < 5; i++)
{
j = 0;
for (j = 0; j < i; j++)
putchar(star);
putchar(escape);
}
for (i = 4; i >= 1; i--)
{
j = 0;
for (j = 0; j < i; j++)
putchar(star);
putchar(escape);
}
printf("\n\n");
}
void FuncSelectView(void)
{
int input = 0;
printf("1. 계산기\n\n");
printf("선택해주세요: ");
scanf_s("%d", &input);
switch (input)
{
case 1:
CalcSelectView();
break;
}
}
void CalcSelectView(void)
{
int input;
int total = 0;
printf("\n\n");
printf("1. 덧셈\n");
printf("2. 뺄셈\n");
printf("3. 곱셈\n");
printf("4. 나눗셈\n");
printf("\n\n");
printf("선택: ");
scanf_s("%d", &input);
system("cls");
switch (input)
{
case 1:
total = AddFunc();
break;
case 2:
total = MinusFunc();
break;
case 3:
total = MultipleFunc();
break;
case 4:
total = DivideFunc();
break;
}
printf("결과: %d \n", total);
MainMessageView();
}
void MainMessageView()
{
char select;
while (getchar() != '\n');
printf("메인 메뉴로 가시겠습니까?(Y/N) : ");
scanf_s("%c", &select);
switch (select)
{
case 'Y':
case 'y':
system("cls");
FuncSelectView();
case 'N':
case 'n':
system("cls");
CalcRetryView();
}
}
void CalcRetryView()
{
char select;
while (getchar() != '\n');
printf("계산기 다시시작?(Y/N) : ");
scanf_s("%c", &select);
switch (select)
{
case 'Y':
case 'y':
system("cls");
CalcSelectView();
case 'N':
case 'n':
system("cls");
ProgramExit();
}
}
void ProgramExit()
{
int i;
printf("종료");
Sleep(1000);
system("cls");
for (i = 3; i > 0; i--)
{
printf("%d", i);
Sleep(500);
system("cls");
Sleep(500);
}
exit(1);
}
int AddFunc(void)
{
int input1, input2;
int result = 0;
printf("두 정수를 입력해주세요: ");
scanf_s("%d %d", &input1, &input2);
result = input1 + input2;
return result;
}
int MinusFunc(void)
{
int input1, input2;
int result = 0;
printf("두 정수를 입력해주세요: ");
scanf_s("%d %d", &input1, &input2);
result = input1 + input2;
return result;
}
int MultipleFunc(void)
{
int input1, input2;
int result = 0;
printf("두 정수를 입력해주세요: ");
scanf_s("%d %d", &input1, &input2);
}
함수를 공부하면서 C언어 할 맛이 난다는것을 알게 되었습니당!
이때까지 저에게 여러가지 답변을 해주신 분들께 진심으로 감사드립니다.
앞으로 열심히 공부하겠습니당!! 넙죽!!
그리고 1차원 배열을 공부하니 갑자기 드는 생각(아직 2차원 공부 안했습니당.)
'음 예전에 게임 소스 보면서 분명 모양을 찍는게 있었는데 그때 2차원 배열에 0과 1의 값을 넣은것 같구, 뭔가 1에 해당하는 부분이 모양으로 출력되었던것 같은뎅~?'
그래서 갑자기 원리가 떠올랐습니다 int형 2차 배열을 선언과 동시에 초기화 할때 대충 0과 1로 모양을 만들고 for문을 중첩시켜 각각 y와 x 좌표를 찍어낸 결과
모양이 출력되더군요!! 후!! 암튼 엄청난 짜릿함을 느꼈습니당!!