#230415 토
#include <iostream>
using namespace std;
int main() {
while (1) {
int a, b;
cout << "분자를 입력하세요: "; cin >> a;
cout << "분모를 입력하세요: "; cin >> b;
try { //try 블록은 예외가 발생할 수 있는 코드들을 감싸고 있다.
if (b == 0) throw b; //throw문은 예외 값을 catch문의 input으로 던진다(?)
cout << "결과: " << a / b<<'\n';
}
catch (int err) { //catch 블록은 예외 값을 받아 예외를 처리한다.
cout << err << "으로 나눌 수 없습니다.\n";
}
}
}
#include <iostream>
using namespace std;
int main() {
cout << "자료의 평균 구하기\n";
int num;
int sum = 0;
cout << "자료의 개수 입력: "; cin >> num;
try {
if (num == 0) {
throw "0으로 나눌 수 없습니다.";
}
else if (num < 0) {
throw "음수로 나눌 수 없습니다. ";
}
else {
for (int i = 0; i < num; i++) {
int tmp;
cout << i + 1 << "번째 데이터 : "; cin >> tmp;
sum += tmp;
}
cout << "평균은 " << sum / num << "입니다.\n";
}
}
catch (const char* s) {
cout << s;
}
}
#include <iostream>
#include <string>
using namespace std;
string ToUpperCase(string s) {
for (int i = 0; i < s.length(); i++) {
if(!(s[i] >= 'A' && s[i] <= 'Z') || !(s[i] >= 'a' && s[i] <= 'z')) {
throw s[i];
}
else if ((s[i] >= 'A' && s[i] <= 'Z')) {
s[i] -= 'a' - 'A';
}
}
return s;
}
int main() {
cout << "[Test1]";
string s1 = "happy";
try {
cout << ToUpperCase(s1) << endl;
}
catch (const char* c) {
cout<<c<<"는 소문자가 아닙니다. 변환 불가!" << '\n';
}
cout << "[Test2]";
string s2 = "love!";
try {
cout << ToUpperCase(s2) << endl;
}
catch (const char* c) {
cout << c << "는 소문자가 아닙니다. 변환 불가!" << '\n';
}
}