Bird
Raised Fist0
C++programming~15 mins

Type casting in C++ - Mini Project: Build & Apply

Choose your learning style10 modes available
Type Casting in C++
📖 Scenario: Imagine you are working on a simple calculator program that needs to convert numbers between different types to perform accurate calculations.
🎯 Goal: You will learn how to convert (cast) variables from one type to another in C++ using type casting.
📋 What You'll Learn
Create variables with specific types and values
Create a helper variable for casting
Use C++ style type casting to convert types
Print the results to see the effect of casting
💡 Why This Matters
🌍 Real World
Type casting is used in many programs to convert data between types for calculations, input/output, and interfacing with hardware or libraries.
💼 Career
Understanding type casting is essential for software developers working in C++ to write safe and correct code that handles different data types.
Progress0 / 4 steps
1
Create initial variables
Create an int variable called wholeNumber with the value 7 and a double variable called decimalNumber with the value 3.14.
C++
Hint

Use int and double to declare the variables with the exact names and values.

2
Create a helper variable for casting
Create a double variable called result and set it to 0.0.
C++
Hint

Use double result = 0.0; to create the helper variable.

3
Apply type casting
Use C++ style casting to convert wholeNumber to double and add it to decimalNumber. Store the sum in result. Use result = decimalNumber + static_cast<double>(wholeNumber);.
C++
Hint

Use static_cast<double>(wholeNumber) to convert wholeNumber to double.

4
Print the result
Write a std::cout statement to print the value of result.
C++
Hint

Use std::cout << result << std::endl; to print the result.

Practice

(1/5)
1. What does static_cast<int>(3.14) do in C++?
easy
A. Leaves the value unchanged as 3.14
B. Converts the integer 3 to the floating-point number 3.14
C. Causes a runtime error
D. Converts the floating-point number 3.14 to the integer 3

Solution

  1. Step 1: Understand static_cast usage

    static_cast<int> converts a value to an integer type explicitly.
  2. Step 2: Apply static_cast to 3.14

    The floating-point number 3.14 is converted to integer by dropping the decimal part, resulting in 3.
  3. Final Answer:

    Converts the floating-point number 3.14 to the integer 3 -> Option D
  4. Quick Check:

    static_cast<int>(3.14) = 3 [OK]
Hint: static_cast truncates decimals when converting float to int [OK]
Common Mistakes:
  • Thinking it rounds the number instead of truncating
  • Confusing static_cast with dynamic_cast
  • Expecting a runtime error from static_cast
2. Which of the following is the correct syntax for casting a double variable d to int using static_cast?
easy
A. int i = (int)static_cast(d);
B. int i = static_cast<int>(d);
C. int i = static_cast(d, int);
D. int i = static_cast<int>d;

Solution

  1. Step 1: Recall static_cast syntax

    The correct syntax is static_cast<type>(expression).
  2. Step 2: Match syntax with options

    int i = static_cast<int>(d); matches the correct syntax: int i = static_cast<int>(d);.
  3. Final Answer:

    int i = static_cast<int>(d); -> Option B
  4. Quick Check:

    Correct static_cast syntax = int i = static_cast<int>(d); [OK]
Hint: Use angle brackets for type in static_cast [OK]
Common Mistakes:
  • Using parentheses instead of angle brackets for type
  • Placing type after variable instead of inside <>
  • Mixing C-style cast syntax with static_cast
3. What is the output of the following C++ code?
double x = 9.99;
int y = static_cast<int>(x);
std::cout << y << std::endl;
medium
A. 9.99
B. 10
C. 9
D. Compilation error

Solution

  1. Step 1: Understand static_cast behavior on double to int

    static_cast truncates the decimal part, so 9.99 becomes 9.
  2. Step 2: Predict output of std::cout

    The integer 9 is printed to the console.
  3. Final Answer:

    9 -> Option C
  4. Quick Check:

    static_cast<int>(9.99) = 9 [OK]
Hint: Casting double to int drops decimals, no rounding [OK]
Common Mistakes:
  • Expecting rounding to 10 instead of truncation
  • Confusing output type with original double
  • Thinking static_cast causes compile error here
4. Identify the error in this code snippet:
float f = 3.5f;
int i = static_cast<int> f;
std::cout << i;
medium
A. Missing parentheses after static_cast<int>
B. Cannot cast float to int using static_cast
C. Variable i is not declared
D. Missing semicolon after float declaration

Solution

  1. Step 1: Check static_cast syntax

    static_cast requires parentheses around the value to cast, like static_cast<int>(f).
  2. Step 2: Identify missing parentheses

    The code misses parentheses after static_cast<int>, causing syntax error.
  3. Final Answer:

    Missing parentheses after static_cast<int> -> Option A
  4. Quick Check:

    static_cast<int>(f) needs parentheses [OK]
Hint: Always use parentheses after static_cast type [OK]
Common Mistakes:
  • Omitting parentheses after static_cast
  • Thinking static_cast can't convert float to int
  • Ignoring compiler error messages
5. Given the code below, what will be the output?
int a = 65;
char c = static_cast<char>(a);
std::cout << c << std::endl;

Note: ASCII value 65 corresponds to 'A'.
hard
A. 'A'
B. Compilation error
C. 65
D. Undefined behavior

Solution

  1. Step 1: Understand static_cast from int to char

    static_cast converts the integer 65 to its corresponding ASCII character 'A'.
  2. Step 2: Predict output of std::cout

    Printing the char variable outputs the character 'A'.
  3. Final Answer:

    'A' -> Option A
  4. Quick Check:

    static_cast<char>(65) = 'A' [OK]
Hint: Casting int to char prints ASCII character [OK]
Common Mistakes:
  • Expecting numeric 65 to print instead of 'A'
  • Thinking casting int to char causes error
  • Confusing char with string output
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard