Object

Write a program to calculate average marks of a student using while and nested while loop.

Algorithm

  1. Declare integer variables n and count and float variables marks, average and sum.
  2. Set count = 1 and sum = 0.
  3. Read n.     [number of subjects.]
  4. Repeat WHILE count ≤ n
    • Read marks of n subjects.
    • Repeat WHILE marks are < 0 or > 100
      • Write Invalid marks, try again.
      • Read marks.
      • [End of inner WHILE loop.]
    • sum = sum + marks.
    • count = count + 1.
    • [End of outer WHILE loop.]
  5. average = sum/n.
  6. Write average.
  7. Exit.

Flowchart

C++ Source Code

// program 60
#include<iostream>
using namespace std;

int main()
{
  int n, count = 1;
  float marks, average, sum = 0;

  // Read in a value for n
  cout << "How many Subjects? ";
  cin >> n;
  cout << endl;

  // Read marks
  while (count <= n)
  {
    cout << "Marks in Subject " << count << " = ";
    cin >> marks;

    while (marks < 0 || marks > 100)
    {
      cout << "Invalid marks, try again: ";
      cin >> marks;
    }

    sum += marks;
    ++count;
  }

  // Calculate the average and print the answer
  average = sum / n;
  cout << "\nThe average marks are = " << average << endl;
  return 0;
}

C Source Code

/*program 60*/
#include<stdio.h>

int main()
{
  int n, count = 1;
  float marks, average, sum = 0;

// initialise and read in a value for n
  printf("How many Subjects? ");
  scanf("%d", &n);
  printf("\n");

// read marks
  while(count <= n)
     {
     printf("Marks in Subject %d = ", count);
     scanf("%f", &marks);
        while(marks < 0 || marks > 100)
	   {
	   printf("Invalid marks, try again: ");
	   scanf("%f", &marks);
	   }
     sum += marks;
     ++count;
     }

// calculate the average and print the answer
  average = sum/n;
  printf("\nThe average marks are = %.2f", average);
  return 0;
}

Output

How many Subjects? 5

Marks in Subject 1 = 69
Marks in Subject 2 = 58.8
Marks in Subject 3 = 37
Marks in Subject 4 = 83
Marks in Subject 5 = 65

The average marks are = 62.56

Design a site like this with WordPress.com
Get started