Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using Only 2d array and structure, Write a C program to keep records and perform

ID: 3910863 • Letter: U

Question

Using Only 2d array and structure, Write a C program to keep records and perform statistical analysis for a class of students.

i. Each student has ID (four digits)
ii. Each student takes 2 quizzes (20% for each quiz)
iii. Each student takes 2 assignments (20% for 1 assignment)
iv. Each student takes 1 final exam (20% for 1 final exam)

All data must be entered by the user. When data entry is complete, system will calculate :
i. The highest, lowest and average score for each quiz
ii. The highest, lowest and average score for each assignment
iii. The highest, lowest and average score for final exam
iv. Total score for each student,total score for highest,lowest and average score.
v.Display the best student.

All information must be displayed in tabular format.

Sample Output :

How many students in the class : 3
Please enter the following info :

Student 1 – ID : 1234
Student 1 – Quiz 1 (Max 20) : 10.5
Student 1 – Quiz 2 (Max 20) : 15.1
Student 1 – Assignment 1(Max 20) : 19.8
Student 1 – Assignment 2 (Max 20) : 10.98
Student 1 – Final Exam (Max 20) : 18.5

Student 2 – ID : 1235
Student 2 – Quiz 1 (Max 20) : 11
Student 2 – Quiz 2 (Max 20) : 10.50
Student 2 – Assignment 1(Max 20) : 20
Student 2 – Assignment 2 (Max 20) : 0
Student 2 – Final Exam (Max 20) : 20

Student 3 – ID : 1236
Student 3 – Quiz 1 (Max 20) : 11
Student 3 – Quiz 2 (Max 20) : 12
Student 3 – Assignment 1(Max 20) : 0
Student 3 – Assignment 2 (Max 20) : 9
Student 3 – Final Exam (Max 20) : 15

ID Q1 Q2 A1 A2 FE TOTAL
1234 10.50 15.10 19.80 10.98 18.50 74.88
1235 11.00 10.50 20.00 0.00 20.00 61.50
1236 11.00 12.00 0.00 9.00 15.00 47.00
Highest Score 11.00 12.00 20.00 10.98 20.00 73.98
Lowest Score 10.50 10.50 0.00 0.00 15.00 36.00
Average 10.83 12.53 13.27 6.77 17.83 61.23
Best Student (ID) 1234

Explanation / Answer

/******************************************************************************

Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <stdio.h>
struct student
{
int id;
float q1,q2;
float a1,a2;
float f;
float total;
};

int main()
{
int n;
int i;
int best;
float highest[7],lowest[7],avg[7];
float sum[7]={0,0,0,0,0,0,0};
printf("How many Students?");
scanf("%d" , &n);
struct student students[n];
for(i=1;i<=n;i++)
{
printf("Student %d - ID" , i);
scanf("%d" , &students[i].id);
printf("Student %d - Quiz 1(Max 20)", i);
scanf("%f" , &students[i].q1);
printf("Student %d - Quiz 2(Max 20)", i);
scanf("%f" , &students[i].q2);
printf("Student %d - Assignment 1(Max 20)", i);
scanf("%f" , &students[i].a1);
printf("Student %d - Assignment 2(Max 20)", i);
scanf("%f" , &students[i].a2);
printf("Student %d - Final Exam(Max 20)", i);
scanf("%f" , &students[i].f);
  
students[i].total=students[i].q1+students[i].q2+students[i].a1+students[i].a2+students[i].f;
}
highest[1]=students[1].q1;
lowest[1]=students[1].q1;
for(i=1;i<=n;i++)
{
if(students[i].q1 > highest[1])
{
highest[1]=students[i].q1;
}
if(students[i].q1 < lowest[1])
{
lowest[1]=students[i].q1;
}
}
highest[2]=students[1].q2;
lowest[2]=students[1].q2;
for(i=1;i<=n;i++)
{
if(students[i].q2 > highest[2])
{
highest[2]=students[i].q2;
}
if(students[i].q2 < lowest[2])
{
lowest[2]=students[i].q2;
}
}
highest[3]=students[1].a1;
lowest[3]=students[1].a1;
for(i=1;i<=n;i++)
{
if(students[i].a1 > highest[3])
{
highest[3]=students[i].a1;
}
if(students[i].a1 < lowest[3])
{
lowest[3]=students[i].a1;
}
}
highest[4]=students[1].a2;
lowest[4]=students[1].a2;
for(i=1;i<=n;i++)
{
if(students[i].a2 > highest[4])
{
highest[4]=students[i].a2;
}
if(students[i].a2 < lowest[4])
{
lowest[4]=students[i].a2;
}
}
highest[5]=students[1].f;
lowest[5]=students[1].f;
for(i=1;i<=n;i++)
{
if(students[i].f > highest[5])
{
highest[5]=students[i].f;
}
if(students[i].f < lowest[5])
{
lowest[5]=students[i].f;
}
}
highest[6]=students[1].total;
lowest[6]=students[1].total;
for(i=1;i<=n;i++)
{
if(students[i].total > highest[6])
{
highest[6]=students[i].total;
}
if(students[i].total < lowest[6])
{
lowest[6]=students[i].total;
}
}
  
for(i=1;i<=n;i++)
{
sum[1]=sum[1]+students[i].q1;
sum[2]=sum[2]+students[i].q2;
sum[3]=sum[3]+students[i].a1;
sum[4]=sum[4]+students[i].a2;
sum[5]=sum[5]+students[i].f;
sum[6]=sum[6]+students[i].total;
}
avg[1]=sum[1]/n;
avg[2]=sum[2]/n;
avg[3]=sum[3]/n;
avg[4]=sum[4]/n;
avg[5]=sum[5]/n;
avg[6]=sum[6]/n;
printf("ID Q1 Q2 A1 A2 FE TOTAL ");
for(i=1;i<=n;i++)
{
printf("%d %f %f %f %f %f %f" , students[i].id,students[i].q1,students[i].q2 , students[i].a1 , students[i].a2 , students[i].f , students[i].total);
printf(" ");
}
printf("HIGHEST SCORE - ");
for(i=1;i<=6;i++)
{
printf("%f " , highest[i]);
}
printf(" ");
printf("LOWEST SCORE - ");
for(i=1;i<=6;i++)
{
printf("%f " , lowest[i]);
}
  
printf(" ");
printf("AVERAGE -");
for(i=1;i<=6;i++)
{
printf("%f " , avg[i]);
}
printf(" ");
for(i=1;i<=n;i++)
{
if(students[i].total==highest[6])
{
best=students[i].id;
  
}
}
printf("BEST STUDENT(ID)- %d" , best);
  
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote