c program help

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Sleepwalker817
    New Member
    • Mar 2008
    • 6

    #1

    c program help

    Hello, I am trying to create a program that is supposed to calculate and print the average of several grades entered by the user.

    The output is supposed to look something like this:
    ----------------------------------------------------------------------
    This program calculates the average of as many grades you wish to enter.



    First, enter the number of grades to process: 4


    Now enter the 4 grades to be averaged.


    Enter grade #1: 90
    Enter grade #2: 80
    Enter grade # 3: -20
    *** Invalid entry. Grade must be 0 to 100. ***
    Enter grade #3: 25
    Enter grade #4: 54


    The average of the 4 grades entered is 62


    You have a letter grade of D-
    ----------------------------------------------------------------------

    Here is what I have so far:
    -----------------------------------------------------------------------
    Code:
    #include <stdio.h>
    int main(void)
    {
    
    /* Output initial greeting and introduce program */
    /* --------------------------------------------- */
    
    printf ("This program caluculates the average of as many grades as you wish to enter.\n");
    
    /* Declare variables. */
    
    int number_of_grades, i, grade;
    int grade_total = 0;
    int invalid_entry = 0;
    float average;
    char letter_grade;
    char grade_A, grade_AB, grade_B, grade_BC, grade_C, grade_CD, grade_D, grade_F;
    
    
    /* Prompt user for number of grades to be entered. */
    /* ------------------------------------------------*/
    
    printf ("First, enter the number of grades to process: ");
    scanf ("%i", &number_of_grades);
    
    /* Output appropriate message based on number of grades entered. */
    /*---------------------------------------------------------------*/
    
    printf ("Now enter the %i grades to be averaged.\n", number_of_grades);
    
    for (i = 1; i <= number_of_grades; i++)
    
    {
    
    /* Prompt user for grades. */
    /* ----------------------- */
    
    printf ("Enter grade #%i: ", i);
    scanf ("%i",&grade);
    
    
    /* If grade is out of range (less than zero, OR greater than
    100), output error message, otherwise output grade entered.*/
    /* ---------------------------------------------------------- */
    
    if (grade > 100 || grade < 0)
    {
    printf ("*** Invaid entry. Grade must be 0 to 100. ***\n");
    i --; 
    }
    
    else
    
    {
    
    /* Assign values */ 
    /* --------------*/
    
    grade_total = grade_total + grade; 
    }
    
    } // end for loop
    
    
    /* Calculate average and display output */
    /* ------------------------------------ */
    
    average = (float) grade_total / number_of_grades;
    printf("\nThe average of the %i grades entered is: %.0f", number_of_grades, average);
    
    /* Assign values to letter grades */
    /* -------------------------------*/
    
    letter_grade = grade_total / number_of_grades;
    
    if ( (char) average >= 93 && <= 100) 
    {
    
    printf ("You have a letter grade of %c\n", grade_A);
    
    }
    
    else ( (char) average <= 92 && >= 88)
    }
    
    printf ("You have a letter grade of %c\n", grade_AB); 
    
    {
    if ( (char) average <= 87 && >= 83)
    }
    printf (" You have a letter grade of \n", grade_B);
    
    {
    
    else ( (char) average <= 82 && >= 78)
    }
    
    printf ("You have a letter grade of\n, grade_BC");
    
    {
    
    if ( (char) average<= 77 && >= 73)
    
    }
    printf ("You have a letter grade of C\n");
    
    {
    
    else ( (char) average <= 72 && >= 68)
    
    } 
    printf ("You have a letter grade of\n", grade_CD);
    
    {
    
    if ( (char) average <= 67 && >= 63)
    
    }
    printf ("You have a letter grade of\n", grade_D);
    
    { 
    
    else ( (char) average <= 62 && >= 0)
    
    }
    printf ("You have a letter grade of\n", grade_F);
    
    {
    
    
    } //end main
    ------------------------------------------------------------------------
    The program isn't working and I can't figure out how to fix it. I am getting errors on lines 76,86,91,98,105 ,112,119,and 126. Any help would be much appreciated.

    Thanks
  • Banfa
    Recognized Expert Expert
    • Feb 2006
    • 9067

    #2
    Normally I would ask you to post the text of the errors, however

    this

    [code=c]
    if ( (char) average >= 93 && <= 100)
    {
    ...
    }
    [/code]

    should be

    [code=c]
    if ( (char) average >= 93 && (char) average <= 100)
    {
    ...
    }
    [/code]

    you can't short cut expressions in if statements

    Comment

    Working...