반응형
프로젝트 1단계 정답
#include <iostream>
#include <cstring>
using namespace std;
const int NAME_LEN = 20;
void ShowMenu(void); // 메뉴출력
void MakeAccount(void); //계좌개설을 위한 함수
void DepositMoney(void); //입금
void WithdrawMoney(void); //출금
void ShowAllAccInfo(void); //잔액조회
enum {MAKE=1,DEPOSIT,WITHDRAW,INQUIRE,EXIT};
typedef struct
{
int accID; //계좌번호
int balance; //잔액
char cusName[NAME_LEN]; //고객이름
}Account;
Account accArr[100]; // Account 저장을 위한 배열
int accNum = 0; // 저장된 Account 수
int main()
{
int choice;
while (1)
{
ShowMenu();
cout << "선택:";
cin >> choice;
cout << endl;
switch (choice)
{
case MAKE:
MakeAccount();
break;
case DEPOSIT:
DepositMoney();
break;
case WITHDRAW:
WithdrawMoney();
break;
case INQUIRE:
ShowAllAccInfo();
break;
case EXIT:
return 0;
default:
cout << "illegal selection.." << endl;
}
}
return 0;
}
void ShowMenu(void)
{
cout << "- - - - Menu - - - -" << endl;
cout << "1. 계좌계설" << endl;
cout << "2. 입금" << endl;
cout << "3. 출금" << endl;
cout << "4. 계좌정보 전체 출력" << endl;
cout << "5. 프로그램 종료" << endl;
}
void MakeAccount(void)
{
int id;
char name[NAME_LEN];
int balance;
cout << "[계좌개설]" << endl;
cout << "계좌ID: "; cin >> id;
cout << "이름: "; cin >> name;
cout << "입금액: "; cin >> balance;
cout << endl;
accArr[accNum].accID = id;
accArr[accNum].balance = balance;
strcpy_s(accArr[accNum].cusName, name);
accNum++;
}
void DepositMoney(void)
{
int money;
int id;
cout << "[입금]" << endl;
cout << "계좌ID: "; cin >> id;
cout << "입금액:"; cin >> money;
for (int i = 0; i < accNum; i++)
{
if (accArr[i].accID == id)
{
accArr[i].balance += money;
cout << "입금완료" << endl << endl;
return;
}
}
cout << "유효하지 않은 ID 입니다." << endl << endl;
}
void WithdrawMoney(void)
{
int money;
int id;
cout << "[출금]" << endl;
cout << "계좌ID: "; cin >> id;
cout << "출금액: "; cin >> money;
for (int i = 0; i < accNum; i++)
{
if (accArr[i].accID == id)
{
if (accArr[i].balance < money)
{
cout << "잔액부족" << endl << endl;
return;
}
accArr[i].balance -= money;
cout << "출금완료" << endl << endl;
return;
}
}
cout << "유효하지 않은 ID입니다." << endl << endl;
}
void ShowAllAccInfo(void)
{
for (int i = 0; i < accNum; i++)
{
cout << "계좌ID: " << accArr[i].accID << endl;
cout << "이름: " << accArr[i].cusName << endl;
cout << "잔액: " << accArr[i].balance <<endl<< endl;
}
}
문제01
#include <iostream>
int main()
{
int arr[5];
int result = 0;
for (int i = 0; i < 5; i++)
{
std::cout << i+1 << "번째정수입력:";
std::cin >> arr[i];
result += arr[i];
}
std::cout << "합계:" << result;
return 0;
}
문제2
#include <iostream>
int main()
{
char name[100];
char num[100];
std::cout << "이름을 입력: ";
std::cin >> name;
std::cout << "전화번호를 입력:";
std::cin >> num;
std::cout << "당신의 이름은" <<' '<< name<<"입니다."<<std::endl;
std::cout << "당신의 번호는" <<' '<< num << "입니다.";
return 0;
}
문제3
#include <iostream>
int main()
{
int num;
std::cout << "숫자를 입력:";
std::cin >> num;
std::cout << num << "단\n";
for (int i = 1; i < 10; i++)
{
std::cout << num << ' ' << "X" << ' ' << i << "=" << num * i << std::endl;
}
return 0;
}
문제4
#include <iostream>
int main()
{
int x=0;
float result=0;
while (1)
{
std::cout << "판매금액을 만원 단위로 입력(-1 to end):";
std::cin >> x;
result = 50 + x * 0.12;
std::cout << "이번달 급여:" << result<<"만원"<<"\n";
if (x == -1)
break;
}
return 0;
}
문제01-2
#include <iostream>
void swap(int* x, int* y)
{
int temp = 0;
temp = *y;
*y = *x;
*x = temp;
}
void swap(char* x, char* y)
{
char temp;
temp = *y;
*y = *x;
*x = temp;
}
void swap(double* x, double* y)
{
double temp;
temp = *y;
*y = *x;
*x = temp;
}
int main()
{
int num1 = 20, num2 = 30;
swap(&num1, &num2);
std::cout << num1 << ' ' << num2 << std::endl;
char ch1 = 'A', ch2 = 'Z';
swap(&ch1, &ch2);
std::cout << ch1 << ' ' << ch2 << std::endl;
double dbl1 = 1.111, dbl2 = 5.555;
swap(&dbl1, &dbl2);
std::cout << dbl1 << ' ' << dbl2 << std::endl;
return 0;
}
문제01-3
#include <iostream>
int boxvolume(int x, int y, int z)
{
return x * y * z;
}
int boxvolume(int x, int y)
{
return x * y * 1;
}
int boxvolume(int x)
{
return x * 1 * 1;
}
int main()
{
std::cout << "[3,3,3] :" << boxvolume(3, 3, 3) << std::endl;
std::cout << "[5,5,D] :" << boxvolume(5,5) << std::endl;
std::cout << "[7,D,D] :" << boxvolume(7) << std::endl;
return 0;
}
반응형
'Programming > C++' 카테고리의 다른 글
c++ 유용한 함수 정리 (0) | 2022.01.24 |
---|---|
c++ stl 필요한 컨테이너 정리 (0) | 2022.01.24 |
c++ call-by-reference , 열혈c++ Chapter2 문제1, 문제3, 문제02-2 (0) | 2021.08.15 |
열혈 c++ Chapter02 문제02-3 , 02-4 문제1 , 문제2, Chapter03 예제 (참조자,상수값) (0) | 2021.08.15 |
c++ namespace 활용 및 구조체 내의 함수 예시 , 열혈c++ Chapter 03 문제 03-1 (0) | 2021.08.15 |