小羊爱吃小草 发表于 2023-11-5 19:15:54

switch


◆A:输入全班学生各门课的成绩
◆B:计算并输出每个学生各门课的平均成绩
◆C:计算并输出各门课的全班平均成绩
◆D:对全班学生的平均成绩由高到低排序并输出>可以按以上思路编写程序,把各action函数设计成不同的功能以实现各要求

用switch写代码

isdkz 发表于 2023-11-5 19:16:35

使用switch语句可以根据不同的选项执行不同的功能。在这个问题中,我们可以使用switch语句来实现不同的功能,如下所示:

#include <iostream>
using namespace std;

void inputScores() {
    // 输入全班学生各门课的成绩的功能实现
    // 在这里编写输入成绩的代码
}

void calculateStudentAverage() {
    // 计算并输出每个学生各门课的平均成绩的功能实现
    // 在这里编写计算学生平均成绩的代码
}

void calculateClassAverage() {
    // 计算并输出各门课的全班平均成绩的功能实现
    // 在这里编写计算全班平均成绩的代码
}

void sortAverage() {
    // 对全班学生的平均成绩由高到低排序并输出的功能实现
    // 在这里编写排序和输出的代码
}

int main() {
    int choice;
    cout << "请选择要执行的操作:" << endl;
    cout << "1. 输入全班学生各门课的成绩" << endl;
    cout << "2. 计算并输出每个学生各门课的平均成绩" << endl;
    cout << "3. 计算并输出各门课的全班平均成绩" << endl;
    cout << "4. 对全班学生的平均成绩由高到低排序并输出" << endl;
    cin >> choice;

    switch (choice) {
      case 1:
            inputScores();
            break;
      case 2:
            calculateStudentAverage();
            break;
      case 3:
            calculateClassAverage();
            break;
      case 4:
            sortAverage();
            break;
      default:
            cout << "无效的选项" << endl;
            break;
    }

    return 0;
}


在上面的代码中,我们首先定义了四个不同的函数来实现不同的功能,然后在主函数中使用switch语句根据用户的选择调用相应的函数。用户可以通过输入不同的选项来执行不同的操作。

Mike_python小 发表于 2023-11-5 19:17:33

以下是使用switch语句编写的C++代码,实现了输入学生成绩、计算平均成绩、计算全班平均成绩和排序成绩的功能:


#include <iostream>
using namespace std;

const int MAX_STUDENTS = 50;
const int MAX_SUBJECTS = 5;

int grades;
float studentAverages;
float subjectAverages;

void inputGrades() {
    cout << "Enter grades for each student: " << endl;
    for (int i = 0; i < MAX_STUDENTS; i++) {
      cout << "Student " << i+1 << ": ";
      for (int j = 0; j < MAX_SUBJECTS; j++) {
            cin >> grades;
      }
    }
}

void calculateStudentAverages() {
    for (int i = 0; i < MAX_STUDENTS; i++) {
      int total = 0;
      for (int j = 0; j < MAX_SUBJECTS; j++) {
            total += grades;
      }
      studentAverages = (float)total / MAX_SUBJECTS;
    }
}

void calculateSubjectAverages() {
    for (int j = 0; j < MAX_SUBJECTS; j++) {
      int total = 0;
      for (int i = 0; i < MAX_STUDENTS; i++) {
            total += grades;
      }
      subjectAverages = (float)total / MAX_STUDENTS;
    }
}

void sortStudentAverages() {
    for (int i = 0; i < MAX_STUDENTS - 1; i++) {
      for (int j = i + 1; j < MAX_STUDENTS; j++) {
            if (studentAverages > studentAverages) {
                float temp = studentAverages;
                studentAverages = studentAverages;
                studentAverages = temp;
            }
      }
    }
}

void printStudentAverages() {
    cout << "Student averages: " << endl;
    for (int i = 0; i < MAX_STUDENTS; i++) {
      cout << "Student " << i+1 << ": " << studentAverages << endl;
    }
}

void printSubjectAverages() {
    cout << "Subject averages: " << endl;
    for (int j = 0; j < MAX_SUBJECTS; j++) {
      cout << "Subject " << j+1 << ": " << subjectAverages << endl;
    }
}

int main() {
    int choice;
   
    do {
      cout << "Menu:" << endl;
      cout << "1. Input grades" << endl;
      cout << "2. Calculate student averages" << endl;
      cout << "3. Calculate subject averages" << endl;
      cout << "4. Sort student averages" << endl;
      cout << "5. Quit" << endl;
      cout << "Enter your choice: ";
      cin >> choice;
      
      switch (choice) {
            case 1:
                inputGrades();
                break;
               
            case 2:
                calculateStudentAverages();
                printStudentAverages();
                break;
               
            case 3:
                calculateSubjectAverages();
                printSubjectAverages();
                break;
               
            case 4:
                calculateStudentAverages();
                sortStudentAverages();
                printStudentAverages();
                break;
               
            case 5:
                cout << "Exiting program..." << endl;
                break;
               
            default:
                cout << "Invalid choice!" << endl;
      }
    } while (choice != 5);
   
    return 0;
}


此代码利用switch语句实现了一个菜单,用户可以选择不同的操作来输入成绩、计算平均成绩、计算全班平均成绩和排序学生平均成绩。根据用户的选择,程序将调用相应的函数来执行对应的操作。

希望以上代码能满足你的需求。如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: switch