This is a take-home test.
Answer all questions and follow the
- Please send one single text file (not Word, a Zip
file, or other formats) with all your code.
- Name your single submitted file using the following
format: [Your Last Name]_final.txt
... so if your last name was Jones,
your submitted file would be called: Jones_final.txt
- Do not send multiple files!
- Do not include hyperlinks, paste
in the code
... and again, all in one single text file. Do
not email it to me, rather, attach a single text
file to the Final Exam submission link just like you normally do with a
While it is important for you to test out the answers with
your favorite compiler, just put the
in your submission. For questions 1-8,
that means just the macro or function (or set of functions) that can be called
the question (I don't need the main function or sample output). Most questions that request a function can
easily answered within a single function.
For Question 9, just provide the list of structures and
their members/types as needed.
Answer questions just as you do on your homework assignments
(this means comments, headers, coding standards ...).
This is a chance for you to show me what you learned. Make your answer the BEST it can be. I am not going
to tell you how to solve these problems.
Again, just getting it to work does not guarantee the highest mark.
Grading will be based on readability,
maintainability, efficiency, and re-usability in addition to correctness.
1) Write a macro for each of
a) Area of a Circle
b) Area of a Square
c) Area of a Rectangle
d) Area of a Triangle
You can find
formulas and detailed explanations at: http://www.mathisfun.com
2) Write a function which will
determine how many words are in a given string.
You can assume that one or more
consecutive white spaces is a
delimiter between words, and that the string you pass to your function is null
3) Write a function that is
passed a month, day, and year and will determine if
that date is valid. You can assume each parameter is passed in
as an integer.
Remember to check for leap year!
validDate (5, 31, 1961) .... would be valid
validDate (13, 4, 1967) ... would be invalid, the month is invalid
4) Write a function that takes
the values of a two-card blackjack hands as input, and returns the point total
of the hand. The value
of the cards '2' through '9' is
equal to their face value, the cards 'T', 'K', 'Q', 'J' are worth 10 points and
the ace ('A') is worth 11 points
unless it comes with another ace,
then that second ace is worth 1 point. The program should be able to catch
Enter cards: A Q
The score is 21
Enter cards: A A
The score is 12
Enter cards: T 7
The score is 17
Enter cards: A 5
The score is 16
Enter cards: 7 #
*** Would be invalid, # is
not a valid card
Enter cards: Z 4
*** Would be invalid, Z is
not a valid card
used a value of 'T' for the 10 card so you can simply pass in two characters,
instead of strings, as
parameters to this function.
5) Write a function to determine is
a given word is legal. A word is illegal if it contains no vowels. For
the letter Y is considered to be a legal vowel.
Pass in a word to this function and it will determine if the word
legal or not. You can make the following
assumptions about the word you a passing to this function.
1) The string being passed is a combination
of letters only (no non-letter check needed)
2) The string being passed is null terminated
3) Letters may be capital or lower case and
it has no effect on whether its a word
sch - is illegal,
apple - legal, contains
APPle - legal,
uppercase letter combinations do not matter
try - legal, no vowel,
but contains the letter 'y'
6) Write a function
that will determine if a given string is a palindrome. DO NOT use the C library function:
A palindrome is
a word or sentence that reads the same forward as it does backward.
Examples of word palindromes
would be civic or rotor ... a word or phase would be:
odd or even
A good web site of examples
7) Write a function
that will return in a structure the following characteristics of a given
1) string length (use
2) number of upper case
3) number of lower case
4) number of digits
5) number of non-alphanumeric
8) Write a function,
myBaseBallStats, that is passed the following integer stats on a baseball
Number of Singles,
Doubles, Triples, and Home Runs as well as Number of At
Based on this information, return a
structure that contains the following
Batting Average, Home Run Ratio, and Slugging Average.
You do not need to be a baseball fan
to do this ... All the information you need in
terms of the formulas and
explanations can be found at:
Note: Number of hits is: singles + doubles + triples + home runs
9) Most people enjoy watching movies
these days, whether its the classics or modern ones.
Develop a set of structures
that could be used to model the information about a movie collection.
What type of information would you
want to collect and store about a movie? What would be the right
types in C for that
information? Define supporting
structures as needed and have one final structure type that
is made up of various members (some
members may be on some structure type, others may be simple integers,
floats, chars, arrays, etc).
No program is needed although you
might want to create a simple main function
and include your structure types just to test
that everything compiles.
This question is similar to the
final question on the midterm, but you have learned about many different
types since then. Here is a template to use to get started and
indicates what I am looking for in your answer.
Use everything you learned this
semester, especially the last set of lectures notes from Chapters 13 - 17.
supporting structures - expect many structure types here ... date is good example
/* add other supporting
structure, such as struct movie */
some members may be a structure type themselves, here is an example */
releaseDate; /* the date the movie was released */
other members may be ints, floats, doubles, chars, enum, ... */
char title ; /* the title of the move */
/* add others */
int main ( )
movie myMovie ;
nothing else needs to be added to main */