write a program that would allow a user to enter student names and Final grades

profileGladosAperture
homework_3.docx

Repetition Statements

In this homework, you will design a program to perform the following task:

Write a program that would allow a user to enter student names and Final grades (e.g. A,B,C,D,F) from their courses. You do not know how many students need to be entered. You also do not know how many courses each of the students completed. Design your program to calculate the Grade Point Average (GPA) for each student based on each of their final grades.  The program should output the Student name along with the GPA.

There are 5 components of your submission including:

· Program Description- A detailed, clear description of the program you are building.

· Analysis- Demonstrates your thought process and steps used to analyze the problem. Be sure to include the required input and output and how you will obtain the required output from the given input? Also, include your variable names and definitions. Be sure to describe the necessary formulas and sample calculations that might be needed. Talk about how your design will allow any number of students and final grades to be possible inputs.

· Test plan - Prepare at least 1 set of input data (Test data) along with their expected output for testing your program.  This test case should include at least 10 students. Your test data can be presented in the form of a table as follows (note: feel free to adapt to your design)

· Flowchart – Provide a flowchart for your design. You can use Word, Powerpoint, Visio or any software you have available that will allow to draw shapes and connectors.

· Pseudocode- Provide pseudocode of your overall design that fulfills the requirements of the project

Code that should help with homework:

// C code

// This program will calculate the average of 3 exams for 5 students.

// Developer: Faculty CMIS102

// Date: Jan 31, 2014

#include <stdio.h>

int main ()

{

/* variable definition: */

char StudentName[100];

float ExamValue, Sum, Avg;

int students,exams;

// Loop through 5 Students

for (students=0; students <5 ; students++)

{

// reset Sum to 0

Sum =0.0;

printf("Enter Student Name \n");

scanf("%s", StudentName);

// Nested Loop for Exams

for (exams=0; exams < 3; exams++)

{

printf ("Enter exam grade: \n");

scanf("%f", &ExamValue);

Sum = Sum + ExamValue;

}

Avg = Sum/3.0;

printf( "Average for %s is %f\n",StudentName,Avg);

}

return 0;

}

 

All of these components should be placed in word document for submission.

Additional details about the program you need to write:

1. GPA is calculated by summing the point equivalents for final grades and taking the average. A =4, B=3, C=2, D=1, and F = 0. So, if someone earned 2 A’s and 1 B, their GPA would be (4 + 4 + 3)/3 = 3.67

2. Think about using a simple process to stop entering students and course grades. For example, if StudentName < 0.

 Example application test data:

Test Case #

Input

Expected Output

1

Sally: A,D,B,C John: A,A,A,B,B Jason: A,A,A,A,B Bob: B,B Bill: A …

GPA for Sally is : 2.5 GPA for John is: 3.6 GPA for Jason is: 3.8 GPA for Bob is: 3.0 GPA for Bill is: 4.0 …

Submission requirements:

Your completed assignment should be saved as Word document and submitted to your LEO assignment area no later than the due date listed in the syllabus. Your document should be neat, well-written with minimal grammatical and spelling errors. Your name should be clearly listed on the first page along with the class/section, professor and due date. Your document should contain page numbers at the bottom of each page. Single or double space line formatting is acceptable.

Grading Rubric: HWRevised

Criteria

Exceeds

Meets

Does Not Meet

Analysis

40 points

(36-40 points) Identify required inputs and output; describe in sufficient detail the process used to get the output using the inputs. Provide all variable names and definitions (names should be descriptive enough and appropriate for information they hold). Provide necessary formulas along with sample calculations. Analysis leading to a design that reliably and efficiently produces desired output, and meets project specifications. Obvious extra analysis was included resulting in new functionality and features to dramatically improve the application.

35 points

(28-35 points) Identify required inputs and output; describe in sufficient detail the process used to get the output using the inputs. Provide all variable names and definitions (names should be descriptive enough and appropriate for information they hold). Provide necessary formulas along with sample calculations. Analysis leading to a design that reliably and efficiently produces desired output, and meets project specifications.

0 points

(0-27 points) Most inputs and output were missing detailed descriptions or incorrect. Most variable names were missing definitions and appropriate descriptions. Most necessary formulas along with sample calculations were missing or incorrect. Analysis seemed short and missing major major project specifications details.

Design

20 points

(18-20 points) Use of modular design. Supply full detailed, appropriate pseudocode of overall design, including Main module and other modules used as appropriate. Use appropriate header and step comments in pseudocode. Obvious extra effort was used to develop additional well-designed pseudocode and flow charts to enhance the overall functionality of the application.

17 points

(14-17 points) Use of modular design. Supply full detailed, efficient and appropriate pseudocode of overall design, including Main module and other modules used as appropriate. Supply Flow charts as appropriate representing correct and efficient design. Use appropriate header and step comments in pseudocode.

0 points

(0-13 points) Minimal or no use of modular design. Pseudocode missing or minimally represents the application Flow charts missing or minimally represents the application Header and step comments in pseudocode missing or minimally provided.

Testing

20 points

(18-20 points) At least 3 sets of test cases along with expected output and Pass/Fail inddicator for program testing. Additional test cases were provided to identify input data sets that would cause errors or crash the application.

17 points

(14-17 points) At least 3 sets of test cases along with expected output and Pass/Fail inddicator for program testing

0 points

(0-13 points) Minimal or no apparent test cases were provided.

Documentation

20 points

(18-20 points) Lessons learned were included documenting issues faced during this assignment and how these were overcome. Possible improvements were provided documenting weaknesses in the application and how to resolve those weaknesses or add additional useful functionality. A detailed accounting of the approach used to solve this problem was provided.

17 points

(14-17 points) Detailed lessons learned were included documenting issues faced during this assignment and how these were overcome. Detailed possible improvements were provided documenting weaknesses in the application and how to resolve those weaknesses or add additional useful functionality.

0 points

(0-13 points) No or minimal lessons learned provided No or minimal possible improvements provided

Overall Score

Exceeds 90 or more

Meets 70 or more

Does not Meet 0 or more