HW31
#pragma warning (disable : 4996)
#include <stdio.h>
int menu(int);
int inputInt(const char *);
int deposit();
int withdraw(int);
void myflush();
int main() {
int res = 0;
while (1) {
int money = menu(res);
if (money != -1) res += money;
else {
printf("* 현재 잔액은 %d원 입니다.\n\n", res);
break;
}
printf("* 현재 잔액은 %d원 입니다.\n\n", res);
}
return 0;
}
int menu(int res) {
char num;
int money;
while (1) {
printf("# 메뉴를 선택하시오(i-입금, o-출금, q-종료) : ");
scanf(" %c", &num);
if (getchar() == '\n') {
if (num == 'i') {
money = deposit();
return money;
}
else if (num == 'o') {
money = withdraw(res);
return money;
}
else if (num == 'q') {
return -1;
}
else {
printf("* 잘못 입력하셨습니다.\n\n");
continue;
}
}
printf("* 잘못 입력하셨습니다.\n\n");
myflush();
}
}
int deposit() {
int num = inputInt("# 입금액을 입력하세요 : ");
while (1) {
if (num >= 0) {
return num;
}
else num = inputInt("* 잘못 입력하셨습니다. 다시 입력하십시오 : ");
}
}
int withdraw(int res) {
int num = inputInt("# 출금액을 입력하세요 : ");
while (1) {
if (num >= 0) {
if (num <= res) {
return -num;
}
else {
printf("* 잔액이 부족합니다.\n");
return 0;
}
}
else num = inputInt("* 잘못 입력하셨습니다. 다시 입력하십시오 : ");
}
}
int inputInt(const char *msg) {
int num;
printf(msg);
while (1) {
scanf("%d", &num);
if (getchar() == '\n') break;
myflush();
printf("* 잘못 입력하셨습니다. 다시 입력하십시오 : ");
}
return num;
}
void myflush() {
while (getchar() != '\n');
return;
}
HW39
#pragma warning (disable : 4996)
#include <stdio.h>
int main() {
for (int i = 0; i < 10; i++) {
for (int j = i; j < 100; j = j + 10) {
printf("%3d", j);
}
printf("\n");
}
return 0;
}
HW40
#pragma warning (disable : 4996)
#include <stdio.h>
void myflush();
int main() {
int num;
while (1) {
printf("# 출력 라인수를 입력하시오 : ");
scanf("%d", &num);
if (getchar() == '\n') {
if (num >= 0) {
for (int i = 1;i <= num;i++) {
for (int j = 1; j <= i;j++) {
printf("*");
}
printf(" ");
for (int j = num; j >= i;j--) {
printf(" ");
}
for (int j = 1; j <= i;j++) {
printf("*");
}
printf("\n");
}
printf("\n");
}
}
else break;
}
return 0;
}
void myflush() {
while (getchar() != '\n');
return;
}
HW41
#pragma warning (disable : 4996)
#include <stdio.h>
int main() {
char num;
while (1) {
printf("* 영문자 대문자 입력('A'~'Z') : ");
scanf("%c", &num);
if (getchar() == '\n') {
if (num >= 65 && num <= 90) {
for (int i = 1;i <= num - 64;i++) {
for (int j = num; j > num - i; j--) {
printf("%c", j);
}
printf("\n");
}
printf("\n");
}
else break;
}
else break;
}
return 0;
}
HW42
#pragma warning (disable : 4996)
#include <stdio.h>
/* 2중 for문 2set 사용
int main() {
for (int i = 1; i <= 9;i++) {
for (int j = 2; j <= 5;j++) {
printf("%d*%d=%2d\t\t", j, i, i*j);
}
printf("\n");
}
printf("\n");
for (int i = 1; i <= 9;i++) {
for (int j = 6; j <= 9;j++) {
printf("%d*%d=%2d\t\t", j, i, i*j);
}
printf("\n");
}
return 0;
}
*/
// 3중 for문 1set 사용
int main() {
for (int i = 2; i <= 6; i = i + 4) {
for (int j = 1; j <= 9;j++) {
for (int k = i; k <= i + 3;k++) {
printf("%d*%d=%2d\t\t", k, j, k*j);
}
printf("\n");
}
printf("\n");
}
}