챕터2. 실습 문제
2025. 3. 27. 23:05ㆍProgramming Languages/C++
2.6 실습 문제
문제 1: 사용자 정보 입력 및 출력
사용자의 이름, 나이, 키(cm), 몸무게(kg)를 입력받아 BMI(체질량지수)를 계산하고 출력하는 프로그램을 작성하세요. BMI = 몸무게(kg) / (키(m) * 키(m))
#include <iostream>
#include <string>
int main() {
std::string name;
int age;
double height, weight, bmi;
// 사용자 정보 입력
std::cout << "이름을 입력하세요: ";
std::getline(std::cin, name);
std::cout << "나이를 입력하세요: ";
std::cin >> age;
std::cout << "키(cm)를 입력하세요: ";
std::cin >> height;
std::cout << "몸무게(kg)를 입력하세요: ";
std::cin >> weight;
// BMI 계산 (키는 m 단위로 변환)
bmi = weight / ((height / 100.0) * (height / 100.0));
// 결과 출력
std::cout << "\n===== 사용자 정보 =====\n";
std::cout << "이름: " << name << std::endl;
std::cout << "나이: " << age << "세" << std::endl;
std::cout << "키: " << height << "cm" << std::endl;
std::cout << "몸무게: " << weight << "kg" << std::endl;
std::cout << "BMI: " << std::fixed << std::setprecision(2) << bmi << std::endl;
return 0;
}
문제 2: 문자열 조작
사용자로부터 문장을 입력받아 단어 수, 문자 수를 계산하고, 모든 단어를 대문자로 변환하여 출력하는 프로그램을 작성하세요.
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm> // transform 함수
int main() {
std::string sentence;
std::cout << "문장을 입력하세요: ";
std::getline(std::cin, sentence);
// 문자 수 계산
int charCount = sentence.length();
// 단어 수 계산
std::stringstream ss(sentence);
std::string word;
int wordCount = 0;
while (ss >> word) {
wordCount++;
}
// 대문자로 변환
std::string upperSentence = sentence;
std::transform(upperSentence.begin(), upperSentence.end(),
upperSentence.begin(), ::toupper);
// 결과 출력
std::cout << "입력한 문장: " << sentence << std::endl;
std::cout << "문자 수: " << charCount << std::endl;
std::cout << "단어 수: " << wordCount << std::endl;
std::cout << "대문자 변환: " << upperSentence << std::endl;
return 0;
}
'Programming Languages > C++' 카테고리의 다른 글
반복문 (0) | 2025.03.27 |
---|---|
제어문 (0) | 2025.03.27 |
타입 별칭 및 auto 키워드 (0) | 2025.03.27 |
문자열 다루기 (0) | 2025.03.27 |
입출력 (0) | 2025.03.27 |