Thread: C program using structs to calculate grades

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Banned ಠ_ಠ's Avatar
    Join Date
    Mar 2009
    Posts
    687
    Code:
    Here is the program description:
    
    1. Write a grading program for a class with the following grading policies.
    
    a. There are two quizzes, each graded on the basis of 10 points.
    b. There is one midterm exam and one final exam, each graded on the basis of 100 points. 
    c. The final exam counts for 50% of the grade, the midterm counts for 25%, and the two quizzes together count for a total of 25% (Do not forget to normalize the quiz scores).
    
    The program will read in the students’ scores and output the student’s numeric score for the entire course. The program will display the average of the quizzes, tests, and the total score before it terminates.
    
    A session with the program might look like this:
    
    Enter the student's name: Mike Fisher
    Enter the student's grade for quiz #1: 8
    Enter the student's grade for quiz #2: 9
    Enter the student's grade for midterm: 89
    Enter the student's grade for final: 98
    
    Mike Fisher's numeric score for the entire course is 92.5
    
    Would you like to enter another student record? y(yes) or n(no)?y
    
    Enter the student's name: Jon Stewart
    Enter the student's grade for quiz #1: 7
    Enter the student's grade for quiz #2: 8
    Enter the student's grade for midterm: 78
    Enter the student's grade for final: 84
    
    Jon Stewart's numeric score for the entire course is 80.25
    
    
    Would you like to enter another student record? y(yes) or n(no)?n
    
    The average score on quiz1 is 7.5
    The average score on quiz2 is 8.5
    The average score on midterm is 83.5
    The average score on final is 91
    The average score for the entire course is 86.375 
    
    
    Specifications: 
    
    1. The program should be built around an array of structures, with each structure containing information of a student’s record, including name (a string), quiz 1 score, quiz 2 score, midterm score, and final score (all scores are of type int)
    
    2. To read in a student’s name, use the version of read_line function that skips white-space characters before it begins storing characters.
    
    3. The program should have a loop that continues as long as the user wants to enter another student’s record. 
    
    4. Assume that there are no more than 100 students.
    
    5. Assume that each student’s name is no more than 50 characters long. 
    
    
    
    I would like to figure out how to get the following output:
    
    
    
    The average score on quiz1 is 7.5
    The average score on quiz2 is 8.5
    The average score on midterm is 83.5
    The average score on final is 91
    The average score for the entire course is 86.375 
    
    
    
    I have been able to get the average numerical scores, but I want to be able to get the average quiz1 score, quiz2 score, midterm, final, and entire course course once I type n (for no). How could I possibly do it?
    That's not C
    ╔╗╔══╦╗
    ║║║╔╗║║
    ║╚╣╚╝║╚╗
    ╚═╩══╩═╝

  2. #2
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    You need to either make num_students a global variable, or you need to pass it around to insert(). Otherwise, the num_students variable that you're incrementing in insert(), will not be the same num_students that you need in other functions.

    After inserting new data, you should check that it's all being put into your data array, correctly. I'd suggest printing that array out and checking it for accuracy, before proceeding.

    Finding an average will work as always: (add up scores) and divide by num_students, once you get the num_students variable working.

    This snippet of code might help:

    Code:
    insert (&num_students);            //the call to insert, passes the address of num_students
    void insert (int *num_students);  //the function prototype for insert, receives that address
    Now changes to num_students, will be made to the calling function's variable, num_students.

    It's very helpful and customary, to put your code inside the code tags, and put your other commentary or questions, outside the code tags.

    Some good indentation style in your code, would be a godsend. Nobody wants to work with code like that.
    Last edited by Adak; 07-04-2009 at 11:46 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Program to calculate change return.
    By OrAnGeWorX in forum C Programming
    Replies: 15
    Last Post: 11-17-2008, 09:49 AM
  2. Small program that has to calculate miles per gallon
    By Guti14 in forum C++ Programming
    Replies: 6
    Last Post: 01-06-2004, 02:47 PM
  3. Replies: 2
    Last Post: 03-13-2003, 09:40 AM
  4. Replies: 2
    Last Post: 05-10-2002, 04:16 PM
  5. My program, anyhelp
    By @licomb in forum C Programming
    Replies: 14
    Last Post: 08-14-2001, 10:04 PM