September 17, 2019
Download the PersonalizedWelcomeMessage project.
Extract it, and open it in VS.
(If you are using VS on MAC, follow the instructions at https://stackoverflow.com/a/49056993/ to have your project “Run on external console”. You will need to do that for every solution where the user is supposed to enter values.)
Compile and execute it.
You will be prompted with the message
Please, enter your first name, followed by "Enter":
Enter your first name, followed by Enter ↵. You just witnessed an interaction between a program and the user!
Read the source code, and make sure you understand all of it.
Change the code, so that the program would also ask the user’s last name, and print both their first and last names.
For this part, I recommend opening the web page, printable version or editable version of the document I mentionned in class. Note that it contains numerous references at its end.
Compute in your head the result of the following operation: 1000000.0 + 1.2 − 1000000.0.
Now, implement it (read as “Create a new project and write in the Main method the code below, to display at the screen the result of this computation, as computed by C#”) using float, double, and decimal:
Console.Write("With floats:\n\t");
Console.WriteLine(1000000.0f + 1.2f - 1000000.0f);
Console.Write("With double:\n\t");
Console.WriteLine(1000000.0 + 1.2 - 1000000.0);
Console.Write("With decimal:\n\t");
Console.WriteLine(1000000.0m + 1.2m - 1000000.0m);Compile and execute your program. Can you explain what you just observed?
Now, execute the following code:
decimal decVar = 12344321.4999999991M;
double douVar = (double)decVar;
float floVar = (float)douVar;
Console.WriteLine($"With decimal: {decVar} \nWith double: {douVar} \nWith float: {floVar}");Can you explain the gradual loss of precision?
This part should be first carried out without using VS.
Assume we have the following statements:
Answer the following:
| Operation | Legal? | Result | Datatype |
|---|---|---|---|
a + d |
Yes | 19.7 | double |
m + f |
No | _ | _ |
a / b |
_ | _ | _ |
b * f |
_ | _ | _ |
d + f |
_ | _ | _ |
d + b |
_ | _ | _ |
a + m |
_ | _ | _ |
f / m |
_ | _ | _ |
d * m |
_ | _ | _ |
You can check your answers using VS: create a new project, copy the variables declarations and assignments, and write your own statements to perform the calculations in the Main method. For instance, if you want to check that the result of a + d is of type double, write something like