Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Student{
- char name[20];
- float grade;
- };
- struct Klas{
- unsigned int klasNumber;
- struct Student students[30];
- unsigned int studentsNum;
- };
- struct Vipusk{
- unsigned int year;
- struct Klas klasove[5];
- unsigned int klasoveNum;
- };
- float calcAverageKlas(struct Klas klas){
- float sum = 0;
- for(int i = 0; i < klas.studentsNum; i++){
- sum += klas.students[i].grade;
- }
- return sum / klas.studentsNum;
- }
- float calcAverageVipusk(struct Vipusk* vipusk){
- float sum = 0;
- for(int i = 0; i < vipusk->klasoveNum; i++){
- sum += calcAverageKlas(vipusk->klasove[i]);
- }
- return sum / vipusk->klasoveNum;
- }
- int main()
- {
- struct Vipusk vipusk;
- printf("Enter the number of classes: ");
- scanf("%d", &vipusk.klasoveNum);
- for(int i = 0; i < vipusk.klasoveNum; i++){
- printf("Enter the number of students for class %d: ", i + 1);
- scanf("%d", &(vipusk.klasove[i].studentsNum));
- for(int j = 0; j < vipusk.klasove[i].studentsNum; j++){
- getchar();
- printf("Please enter student name: \n");
- fgets(vipusk.klasove[i].students[j].name, sizeof(vipusk.klasove[i].students[j].name), stdin);
- printf("Please enter the grade: \n");
- scanf("%f", &(vipusk.klasove[i].students[j].grade));
- }
- }
- for (int i = 0; i < vipusk.klasoveNum; i++) {
- printf("Average grade of class %d: %.2f\n", i + 1, calcAverageKlas(vipusk.klasove[i]));
- }
- printf("Average grade of the vipusk: %.2f\n", calcAverageVipusk(&vipusk));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement