Programming Exercises
(C++ Primer Plus 6th, pp.69-70.)
1. Write a C++ program that displays your name and address
(or if you value your privacy,a fictitious name and address.)
이름과 주소를 출력하는 C++ 프로그램을 작성하라.
(개인 정보를 소중히 생각한다면, 허구의 이름과 주소를 이용하라.)
Answer.
#include <iostream>
using namespace std;
int main(){
cout << "My name is ABC" << endl;
cout << "I live in Seoul" << endl;
return 0;
}
2. Write a C++ program that asks for a distance in furlongs and converts it to yards.
(One furlong is 220 yards.)
거리에 대해 펄롱 단위로 입력을 요구하고, 그것을 마일 단위로 환산하는 프로그램을 작성하라.
(1펄롱은 220야드이다.)
Answer.
#include <iostream>
using namespace std;
int main(){
cout << "Enter the distance in furlongs : ";
double Distance = 0;
cin >> Distance;
cout << endl;
cout << Distance << " furlongs is " << Distance * 220 << "Yards." << endl;
return 0;
}
3. Write a C++ program that uses three userdefined functions (counting main() as one) and produces the following output:
실행 결과가 다음과 같은 프로그램을 작성하라. 단, main() 함수를 포함하여 3개의 사용자 정의 함수를 사용해야 한다:
Three blind mice
Three blind mice
See how they run
See how they run
One function,called two times,should produce the first two lines,
and the remaining function,also called twice,should produce the remaining output.
앞의 두 행은 함수 하나를 두 번 호출하여 출력해야하고, 나머지 두행도 다른 하나의 함수를 두 번 호출하여 출력해야 한다.
Answer.
#include <iostream>
using namespace std;
void PrintOut1(void);
void PrintOut2(void):
int main(){
PrintOut1();
PrintOut1();
PrintOut2();
PrintOut2();
return0;
}
void PrintOut1(void){
cout << "Three blind mice" << endl;
}
void PrintOut2(void){
cout << "See how they run" << endl;
}
4. Write a program that asks the user to enter his or her age.The program then should display the age in months: Enter your age: 29 Your age in months is 384.
사용자의 나이를 물어보는 프로그램을 작성하라. 프로그램은 나이를 개월 수로 출력해야 한다.
예를 들어 사용자가 나이로 29를 입력했다면, 프로그램은 384를 출력해야 한다.
Answer.
#include <iostream>
using namespace std;
int main(){
cout << "Enter your age : ";
int age;
cin >> age;
cout << endl;
cout << "Your age is " << age * 12 << " months" << endl;
return 0;
}
5. Write a program that has main() call a user defined function that takes a Celsius temperature value as an argument and then returns the equivalent Fahrenheit value. The program should request the Celsius value as input from the user and display the result,as shown in the following code:
섭씨 온도를 매개변수로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하라. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다:
Please enter a Celsius value: 20
20 degrees Celsius is 68 degrees Fahrenheit.
For reference,here is the formula for making the conversion: Fahrenheit = 1.8 × degrees Celsius + 32.0
참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 다음과 같다.
화씨온도 = 1.8 * 섭씨온도 + 32.0
Answer.
#include <iostream>
using namespace std;
int main(){
cout << "Please enter a Celsius value : ";
float Temp = 0;
cin >> Temp;
cout << endl;
cout << Temp << " degrees Celsius is " << Temp * 1.8 + 32.0 << " degrees Fahrenheit." << endl;
reutrn 0;
}
6. Write a program that has main() call a user-defined function that takes a distance in light years as an argument and then returns the distance in astronomical units. The program should request the light year value as input from the user and display the result,as shown in the following code:
거리를 매개변수로 전달받아 AU로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하라. 프로그램은 사용자에게 거리를 광년으로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다.
Enter the number of light years: 4.2
4.2 light years = 265608 astronomical units.
An astronomical unit is the average distance from the earth to the sun (about 150,000,000 km or 93,000,000 miles),and a light year is the distance light travels in a year
(about 10 trillion kilometers or 6 trillion miles).(The nearest star after the sun is about 4.2 light years away.)
Use type double and this conversion factor: 1 light year = 63,240 astronomical units
AU는 지구에서 태양까지의 평균 거리이다. (약 150,000,000km 또는 93,000,333 miles) 광년은 빛이 1년 동안에 지나는 거리이다. (약 10조km 또는 6조 miles) 1광년 = 63,240 AU이다. 태양을 지나 가장 가까운 별이 4.2 광년 떨어져있다. double 형 변수를 사용하라.
Answer.
#include <iostream>
using namespace std;
int main(){
cout << "Enter the number of light years : ";
double LightYear = 0;
cin >> LightYear;
cout << endl;
cout << LightYear << "light years = " << LightYear * 63240 << "astronomical units." << endl;
return 0;
}
7. Write a program that asks the user to enter an hour value and a minute value.The main() function should then pass these two values to a type void function that displays the two values in the format shown in the following sample run:
시간 값과 분 값의 입력을 사용자에게 요청하는 프로그램을 작성하라. main() 함수는 이 두 값을 void형 함수에 전달한다. 그 void형 함수는 다음과 같은 실행 예시가 보여 주는 형식으로 두 값을 표시한다:
Enter the number of hours: 9
Enter the number of minutes: 28
Time: 9:28
Answer.
#include <iostream>
using namespace std;
int main(){
cout << "enter the number of hours : ";
int hours;
cin >> hours;
cout << endl;
cout << "enter the number of minutes : ";
int minutes;
cin >> minutes;
cout << endl;
cout << "Time: " << hours << ":" << minutes << endl;
return 0;
}