$29
Programs are to be submitted to Gradescope by the due date. You may work alone or in groups of two. Programs submitted up to 24 hours late will still be accepted but incur a 10% grade penalty. Uploading your programs to gradescope will immediately score your submission. Your program grade will be the score of the last submission that you have uploaded. Programs must compile using gcc -Wall without any warnings. Each program that compiles with a warning will incur a 10% grade penalty. Each program will have 10 seconds to compile and run 10 test cases on gradescope.
Problem 1: charproperties.c (40 points, 4 per test case)
Write a program that reads in a char and prints the following properties (in order) of the char, if they apply:
The char is an uppercase letter. The char is a lowercase letter. The char is a vowel.
The char is a digit.
The char is punctuation. The char is a tab.
The char is a double quote.
This documentation for ctype.h will be useful: https://www.tutorialspoint.com/c_ standard_library/ctype_h.htm. Example output:
˜
[rsgysel@pc17 ]$ ./charproperties
Please enter a character: a
The char is a lowercase letter.
Last updated
1
The char is a vowel.
˜
[rsgysel@pc17 ]$ ./charproperties
Please enter a character: "
The char is punctuation.
The char is a double quote.
˜
[rsgysel@pc17 ]$ ./charproperties
Please enter a character: 8
The char is a digit.
Problem 2: roshambo.c (30 points, 3 per test case)
Implement rock paper scissors. The user will input ’r’ for rock, ’p’ for paper, ’s’ for scis-sors. On any other entry your program should report an error. Your program must randomly generate its own rock, paper, or scissors, and compare it with the input to determine the winner.
Example output:
Rock, paper, or scissors? r
I rolled rock. We tie!
Rock, paper, or scissors? s
I rolled paper. You win!
Rock, paper, or scissors? p
I rolled scissors. You lose!
Rock, paper, or scissors? a
Error: you did not enter ’r’, ’p’, or ’s’!
Problem 3: unitconversion.c (30 points, 3 per test case)
In this problem your program will convert units of volume for liquid measurements. One gallon is four quarts, one quart is two pints, one pint is two cups, and one cup is eight ounces. The user will first input a current measurement and unit of volume as a positive integer and one of g for gallons, q for quarts, p for pints, c for cups, or o for ounces separated by a space. Then the user will input a desired unit of volume as one of g for gallons, q for quarts, p for pints, c for cups, or o for ounces. If the user’s input does not match this specification, print the relevant errors in the examples below and quit.
2
Example output:
Enter your current measurement and unit of volume: 16 o
Enter your desired unit of volume: c
You have 2 cups of liquid.
Enter your current measurement and unit of volume: -13 o Error! You entered a negative number.
Enter your current measurement and unit of volume: 13 a
Error! Enter one of ’g’ for gallons, ’q’ for quarts, ’p’ for pints, ’c’ for cups, or ’o’ for ounces.
Enter your current measurement and unit of volume: -13 a Error! You entered a negative number.
Error! Enter one of ’g’ for gallons, ’q’ for quarts, ’p’ for pints, ’c’ for cups, or ’o’ for ounces.
Enter your current measurement and unit of volume: 13 o
Enter your desired unit of volume: z
Error! Enter one of ’g’ for gallons, ’q’ for quarts, ’p’ for pints, ’c’ for cups, or ’o’ for ounces.
3