1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
using namespace std;
 
class Date{
    int year;
    int month;
    int day;
public:
    Date(int year, int month, int day) { this->year = year; this->month = month; this->day = day; }
    Date(const char *date);
    int getYear() { return year; }
    int getMonth() { return month; }
    int getDay() { return day; }
    void show() { cout << year << "년" << month << "월" << day << "일" << endl; }
};
 
Date::Date(const char *date) {
    char seps[] = "/";
    year = atoi(strtok(strdup(date), seps));    // strdup -> const char을 char로 바꿔줌
    month = atoi(strtok(NULL, seps));
    day = atoi(strtok(NULL, seps));
}
 
int main() {
    Date birth(2014320);
    Date independenceDay("1945/8/15");
    independenceDay.show();
    cout << birth.getYear() << ',' << birth.getMonth() << ',' << birth.getDay() << endl;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
class Tower {
    int height;
public:
    Tower() { height = 1; }
    Tower(int h) { height = h; }
    int getHeight() { return height; }
};
 
int main() {
    Tower myTower;
    Tower seoulTower(100);
    cout << "높이는 " << myTower.getHeight() << "미터" << endl;
    cout << "높이는 " << seoulTower.getHeight() << "미터" << endl;
}
cs


OC.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
#include "OC.h"
 
int main() {
    Exp a(32);
    Exp b(9);
    Exp c;
 
    cout << a.getValue() << ' ' << b.getValue() << ' ' << c.getValue() << endl;
    cout << "a의 베이스 " << a.getBase() << ',' << "지수 " << a.getExp() << endl;
 
    if (a.equals(b)) {
        cout << "same" << endl;
    }
    else {
        cout << "not same" << endl;
    }
}
cs


OC.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Exp {
    int result;
    int base;
    int exponent;
public:
    Exp() { base = 1; exponent = 1; }
    Exp(int a) { base = a; exponent = 1; }
    Exp(int a, int b) { base = a; exponent = b; }
    int getValue();
    int getBase() { return base; }
    int getExp() { return exponent; }
    bool equals(Exp b);
};
 
int Exp::getValue() {
    result = 1;
    for (int i = 1; i <= exponent; i++) {
        result *= base;
    }
    return result;
}
 
bool Exp::equals(Exp b) {
    if (b.getValue() == result)return true;
    return false;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string line;
    int strsize, count = 0;
    int histogram[26];
    for (int i = 0; i < 26; i++) {
        histogram[i] = 0;
    }
    cout << "영문 텍스트를 입력하세요. 히스토그램을 그립니다." << endl;
    cout << "텍스트의 끝은 ; 입니다. 10000개까지 가능합니다." << endl;
    getline(cin, line, ';');
    strsize = line.length();
    for (int i = 0; i < strsize; i++) {
        isalpha(line[i]) ? count++ : NULL;
        for (int j = 0; j < 26; j++) {
            (int)tolower(line[i]) == j + 97 ? histogram[j]++ : NULL;
        }
    }
    cout << "총 알파벳 수 " << count << endl << endl;
    for (int i = 0; i < 26; i++) {
        cout << (char)(i + 97<< " (" << histogram[i] << ")  : ";
        for (int j = 0; j < histogram[i]; j++) {
            cout << "*";
        }
        cout << endl;
    }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main() {
    int a, b;
    char op;
    while (1) {
        cout << "? ";
        cin >> a >> op >> b;
        switch (op) {
        case '+':cout << a << " " << op << " " << b << " = " << a + b << endlbreak;
        case '-':cout << a << " " << op << " " << b << " = " << a - b << endlbreak;
        case '*':cout << a << " " << op << " " << b << " = " << a * b << endlbreak;
        case '/':cout << a << " " << op << " " << b << " = " << a / b << endlbreak;
        case '%':cout << a << " " << op << " " << b << " = " << a % b << endlbreak;
        default:cout << "잘못된 연산자 입니다." << endl;
        }
    }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int sum(int a, int b);
 
int main() {
    int n;
    cout << "끝 수를 입력하세요>>";
    cin >> n;
    cout << "1에서 " << n << "까지의 합은 " << sum(1, n) << " 입니다." << endl;
}
 
int sum(int a, int b) {
    int res = 0;
    for (int i = a; i <= b; i++) {
        res += i;
    }
    return res;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main() {
    int n = 0;
    int sum = 0;
    cout << "끝 수를 입력하세요>>";
    cin >> n;
    for (int k = 1; k <= n; k++) {
        sum += k;
    }
    cout << "1에서 " << n << "까지의 합은 " << sum << " 입니다." << endl;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string sentence;
    cout << "문자열 입력>>";
    getline(cin, sentence);
    int size = sentence.length();
    for (int i = 0; i < size; i++) {
        for (int j = 0; j <= i; j++) {
            cout << sentence[j];
        }
        cout << endl;
    }
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string name, address;
    int age;
 
    cout << "이름은?"; getline(cin, name);
    cout << "주소는?"; getline(cin, address);
    cout << "나이는?"cin >> age;
    cout << name << ", " << address << ", " << age << "세" << endl;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string name;
    string buf;
    int i = 1;
    cout << "5명의 이름을 ';'으로 구분하여 입력하세요" << endl;
    cout << ">>";
    getline(cin, name, ';');
    buf = name;
    cout << i << " : " << name << endl;
    int size = name.length();
    for (i = 2; i <= 5; i++) {
        getline(cin, name, ';');
        cout << i << " : " << name << endl;
        if (size < name.length()) {
            size = name.length();
            buf = name;
        }
    }
    cout << "가장 긴 이름은 " << buf << endl;
}
cs


+ Recent posts