CS160 Project 1 Solved

30.00 $

Category: Tags: , ,

Description

5/5 - (2 votes)

Assignment

I want to do a survey to determine the majors of students taking CS160. To do this, write a program that asks for a student’s major. For this program the only majors I’m concerned with are Computer Science, Data Science, and Cyber Security. To simplify data entry, we will use the terms “cs” for Computer Science, “data” for Data Science, and “cyber” for Cyber Security. Anything other than those three majors will be considers as “Other Major.”

Continue to ask for majors until the user enters a major of “done”. Make sure that this entry is not counted towards the “Other Majors” category. Total up all the entries for each of the specified major, along with the total for other Majors.

For only the CS majors we want to ask about their minor. The only minors we are interested in tracking are Data Science, Cyber Security, and Mathematics. Again, to simplify the input, we will accept “data” for the Data Science Minor, “cyber” for the Cyber Security minor, and “math” for the Mathematics minor. If a student is a Computer Science major ask for their minor immediately, before asking for the next student’s major.

Specifics:

  • All strings entered will be lower case (“cs”, “data”, “cyber”, “math”). While we will not enter test data with mixed cases, entering “DATA” for the major or minor would place that entry in the other category.
  • When comparing strings you may use .lower() to convert a string to an upper or lower case string. This will be a topic for future classes. For now, to ensure a string contains only lower case letters assign the variable back to itself as follows:
               stringVariable = stringVariable.lower()
    
  • Only ask for the minor for Computer Science majors
  • “Other Majors” is not a major, it is just a means of referring to anything other than the

    specified majors.

  • Your program should include a comment section with your name, lab time, lecture time,

    and email address.

Output

After all of the data has been entered print out the following information:

  • The number of students entering their major
  • The number and percentage of students from the class for each of the three specified

    major, and for other (anything other than the three specified majors). Note that it is possible for the summation of the four percentages to not add up to 100 due to round off error. If this happens, the summation, which is not required to be printed, should be 99.99. The majors should be left justified, with the number of students and the percentages right justified. The percentage should have two places after the decimal point.

  • The number and percentage of each minor. As with the table created for the majors, the name of the minors should be left justified, with the number of students and the percentages right justified. The percentage should have two places after the decimal point.

    For example, if the following data was entered this is what the program might display. Note that this output is typed, not actual output from running the program, so there may be typos.

    Enter major: cs
    Enter minor: data
    
    Enter major: data
    Enter major: cyber
    Enter major: econ
    Enter major: none
    Enter major: done
    

    This could be the output from the above data:

    Total number of students 5
    Majors of students in CS160
    
Computer Science
Data Science
Cyber Security
Other Majors
1   20.00
1   20.00
1   20.00
2   40.00
Minors for Computer Science Majors in CS160
Data Science
Cyber Security
Mathematics
Other Minors
1  100.00
0    0.00
0    0.00
0    0.00
  • project01-guaz3a.zip