2019-01-14

Hyeonu_Chun·2021년 6월 21일
0

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");
	}
}
profile
Stay hungry, stay foolish

0개의 댓글