返回 0 之前预期不合格的 id

greyk0

我是 C++ 的新手。我有错误。但是,我不知道如何修复它。有人可以帮我吗?谢谢你。P - 打印数字 A - 添加一个数字 M - 显示数字的平均值 S - 显示最小的数字 L - 显示最大的数字 Q - 退出

Errors : expected unqualified id before return 0 
         error : expected ';' before {}
   #include <iostream>
#include <vector>
using namespace std;
int main(){
    char input {};
    vector <double> numbers {};
    int number{};
    int sum{};
    int min_number{};
    int max_number{};
    bool condition {true};
    cout << "Enter a command" << endl;
    cin >> input;
    if(numbers.size() > 0){
    while(condition){
        if (input == 'P' || input == 'p'){
            for(auto x: numbers)
                cout << x << endl;
        }
        else if(input == 'A' || input == 'a'){
            cout << "Enter a number";
            cin >> number;
            numbers.push_back(number);
        }
        else if(input == 'M' || input == 'm'){
            for(auto x : numbers)
                sum += x;
        cout << sum / numbers.size() << endl;
        }
        else if(input =='S' || input == 's'){
                for(size_t i {0}; i < numbers.size(); ++i)
                    if(numbers.at(i) < min_number)
                        min_number =numbers.at(i);
                        }
         else if(input =='L' || input == 'l'){
                for(size_t i {0}; i < numbers.size(); ++i)
                    if(numbers.at(i) > max_number)
                        max_number =numbers.at(i);
            }
        else if(input =='Q' || input == 'q'){
            condition {false};
            
            }
        }
    cout << "[] - list is empty, unable to calculate" << endl;
    }
    
    return 0;
}
brc-dd

我已经为你写了这个。因为,你是一个学习者,我认为你应该练习更好的东西,比如 STL 函数,而不是using namespace std;在顶部使用

您可能会发现一些新事物,但不要害怕,只需在诸如 cppreference 之类的网站上搜索它们,看看该实体做了什么以及如何有效地使用它。

有很多逻辑错误。@paxdiablo 在他的回答中提到了它们。我已经删除了它们中的每一个,并且此代码有效。

#include <algorithm>
#include <cctype>
#include <iostream>
#include <vector>

int main() {
    std::vector<double> numbers;
    while (true) {
        char input;
        std::cout << "Enter a command: ";
        std::cin >> input;
        switch (std::toupper(input)) {
        case 'P':
            if (numbers.empty())
                std::cerr << "The list is empty!" << std::endl;
            else {
                for (auto &&i : numbers)
                    std::cout << i << ' ';
            std::cout << std::endl;
            }
            break;
        case 'A': {
            int number;
            std::cout << "Enter a number: ";
            std::cin >> number;
            numbers.push_back(number);
            break;
        }
        case 'M':
            if (numbers.empty())
                std::cerr << "The list is empty! Cannot perform the operation!!";
            else {
                int sum = 0;
                for (auto &&i : numbers)
                    sum += i;
                std::cout << "Mean: " << (sum / numbers.size()) << std::endl;
            }
            break;
        case 'S':
            std::cout << "Smallest Number: " << *std::min_element(numbers.begin(), numbers.end()) << std::endl;
            break;
        case 'L':
            std::cout << "Largest Number: " << *std::max_element(numbers.begin(), numbers.end()) << std::endl;
            break;
        case 'Q':
            return 0;
        default:
            std::cerr << "Unrecognised Command!!" << std::endl;
        }
    }
    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章