[SOLVED] CSCI 1300 - Homework 2

30.00 $

Category:

Description

5/5 - (1 vote)

 

Objectives

  • Compile and run C++ code
  • Take user inputs and produce outputs
  • Understand C++ data types
  • Perform arithmetic operations

You can find the summary note (hw2 note: HelloWorld, data type) on Moodle.

 

Questions

Question 1 (5pt): Hello World

The first program that we usually write in any language we’re learning is Hello, World​          ​. Create a program that prints “Hello, World!​ ” to the screen (the console window in Cloud9).​

 

Expected output

Hello, World!

 

The file should be named helloWorld.cpp​

 

Here are some suggested steps:

 

Step 1: Open an Empty File

In Cloud9, select File -> New File​ . A new, blank file called Untitled1 will be opened.​   

Step 2: Your First Code

Starting on line 1 in Untitled1, type the following code.

Step 3: Saving Your File

Save the file: go to ​File -> Save As… ​A dialog box will open. Name it ​helloWorld.cpp​ and save it in the ​hmwk2​ folder.

Note: ​make sure you save it with the .cpp extension or it will not compile correctly!

 

 

The ​.cpp​ extension on the filename tells Cloud9 that the file should be read in the C++ programming language. Once you save it, the lines in the file should be color-coded to reflect what they do in the program. This is called syntax highlighting.

 

 

 

Important: You should save your work frequently​ in Cloud9 to avoid losing your work in the event of the program crashing. Also, you should take a backup of your Cloud 9 environment.

 

Step 4: Running Your Code

To run the program, click on the icon with the green arrow next to the word Run. If it works, you should see new terminal tab window open at the bottom. The title of the tab shows the file being run

(hmwk2/ helloWorld.cpp), and inside the window you should see “Running ….” (again the name and full path of the file), and underneath it, the output of our program: “Hello, World!​             ”​

 

 

Step 5: Running Your Code from Command Line

Move to the “bash” tab (the first tab in the bottom panel). Right-click again and Clear the Buffer.

Make sure you are inside the hmwk2​ directory. Type:​

 

$ g++ helloWorld.cpp -g -std=c++11

 

the -​ g option turns on debugging, which we will use later in the semester, so we should get used to it.

the -​ std=c++11 option makes sure that the c++ version used to run the program is c++ 11. If you don’t give this option then default version(which is usually C++98) is used.

This creates an executable called “a.out” (see figure below). You can run it by typing

$ ./a.out

Since no executable name was specified to g++, a.out is chosen by default. You can alternatively use the “-o” option to change the name :

$ g++ helloWorld.cpp -g -std=c++11 -o hello

creates an executable called “hello​ ” (see figure below). You can run it by typing​

$ ./hello

Notice the output in the same: Hello,​ world!,​ followed by the return of the prompt, for new commands.

 

Question 2 (5pt): Hello You! 

If a program is more interactive, it’s fun! Create a program that takes a name and print prints “Hello, <name>!​           ”. Your output should be exactly the same as below, including the prompt​   for the user input.

 

Expected output (bold​ is user input)​

Enter your name:

Malvika

Hello, Malvika​ !​

Question 3 (10pt): Carnot efficiency

In thermodynamics, the Carnot efficiency is the maximum possible efficiency of a heat engine operating between two reservoirs at different temperatures. The Carnot efficiency is given as η = 1 − TTHC

 

where  T​ ​C ​and T​ ​H ​are the absolute temperatures at the cold and hot reservoirs, respectively. Write a program that takes temperatures at the cold receiver(Tc ) and hot receiver(Th ) as integer values, and computes ​ η​ the Carnot efficiency.​

 

Expected output (bold​ is user input)​

Enter cold reservoir temperature: 10

Enter hot reservoir temperature:

80

Carnot efficiency: 0.875

 

Question 4 (10pt): Calculating sphere volume and area

Create a program that takes a radius as a floating-point value (as double​ )​ , and it prints both the volume and surface area of a sphere with the given radius. The formulas are: volume = πr3    surfaceArea = 4πr2   

 

For π , use M_PI​ from ​ #include <cmath>​

 

Expected output (bold​ is user input)​

Enter a radius: 3.3

Volume: 150.533

Surface area: 136.848

Question 5 (10pt): Temperature conversion

In science, the temperature is always described in Celsius, but in the U.S. we tend to use Fahrenheit. Create a program that takes user input for Fahrenheit (as double​ )​ and converts it into Celsius. The formula is:

Celsius = 59 (Fahrenheit − 32)

The calculated temperature Celsius values should be formatted with a two-digit precision as shown below. Fahrenheit value should be printed without any precision formatting applied.

 

Expected output (bold​ is user input)​

Enter a temperature in Fahrenheit:

76

The temperature 76 degrees Fahrenheit is  ​ 24.44​   degrees Celsius.

Question 6 (10pt): Convert seconds

Write a program that takes a number of seconds as user input (as an integer​     )​ and converts it to hours, minutes, and seconds as shown below. You should convert the amount of time in such a way that maximizes the whole numbers of hours and minutes.

 

Expected output 1 (bold​ is user input)​

Enter a number of seconds:

60

0 hour(s) 1 minute(s) 0 second(s)

 

Expected output 2 (bold​ is user input)​

Enter a number of seconds:

3671

1 hour(s) 1 minute(s) 11 second(s)

Question 7 (10pt): Population

The U.S. Census provides information about the current U.S. population as well as approximate rates of change. Using those rates and the current US population, write a program that takes a current population and computes the U.S. population in exactly one year (365 days). If you end up with a non-integer projected population, then round down to the nearest whole person.

 

Three rates of change are provided:

  • There is a birth every 8 seconds
  • There is a death every 12 seconds
  • There is a new immigrant arriving in the US every 27 seconds

 

 

Expected output (bold​ is user input)​

Enter the current population:

1000000

The population in one year: 3482000