'a to c'未在此范围内声明

问题描述 投票:0回答:1

我的程序“Kalkulator ceny paliwa”遇到一些问题。

我有这个代码

#include <iostream>
#include <math.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

double benzyna(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double diesel(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double lpg(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double cng(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double wodor(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

int main(int argc, char** argv) {
    
    int wyborPaliwa = 0;
    double dystans, avgSpalanie, cenaPaliwa, kosztPaliwa;
    
    
    cout << "Podaj rodzaj paliwa, na ktorym jezdzi Twoj samochod (1 - benzyna, 2 - olej napedowy, 3 - LPG, 4 - CNG, 5 - wodór): " << endl;
    
    switch(wyborPaliwa) {
        case 1:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynoszą: " << benzyna(a,b,c) << "zl" << endl;
        break;
            
        case 2:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynoszą: " << diesel(a,b,c) << "zl" << endl;
        break;
            
        case 3:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynoszą: " << lpg(a,b,c) << "zl" << endl;
        break;
        
        case 4:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynoszą: " << cng(a,b,c) << "zl" << endl;
        break;
        
        case 5:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynoszą: " << wodor(a,b,c) << "zl" << endl;
        break;
    } 
    
    return 0;
}

我收到这些错误:

44  62  C:\Users\Antoni\Documents\Projekty C++\KalkulatorZuzyciaPaliwa\main.cpp [Error] 'a' was not declared in this scope
44  64  C:\Users\Antoni\Documents\Projekty C++\KalkulatorZuzyciaPaliwa\main.cpp [Error] 'b' was not declared in this scope
44  66  C:\Users\Antoni\Documents\Projekty C++\KalkulatorZuzyciaPaliwa\main.cpp [Error] 'c' was not declared in this scope

我哪里做错了? 我是初学者,请不要打我。

我希望我能得到帮助

我想要这些我之前写过的错误。

c++
1个回答
0
投票
  1. 添加 cin 命令让用户输入 wyborPaliwa 的值 在 Switch 语句之前,Switch 语句将使用它来调用它的 相应的案例。如果没有它, case 0 将实际运行 不存在。
  2. 将a、b、c分别改为dystans、avgSpalanie、cenaPaliwa。
  3. 传递将存储在接收指针中的地址。 即&dystans。
  4. kosztPaliwa 变量作为第四个参数传递,而不使用 '&' 作为 接收者不是指针。
  5. 在 Switch 括号的最后添加 default case

注意:使用指针时需要采取额外的预防措施,因为真正的内存处于危险之中。如果发生任何不好的事情,实际数据将被破坏或丢失。

#include <iostream>
#include <math.h>

using namespace std;

double benzyna(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double diesel(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double lpg(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double cng(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

double wodor(double* dystans, double* avgSpalanie, double* cenaPaliwa, double kosztPaliwa) {
    return kosztPaliwa = ((*dystans)/100) * (*avgSpalanie) * (*cenaPaliwa);
}

int main(int argc, char** argv) {
    
    int wyborPaliwa = 0;
    double dystans, avgSpalanie, cenaPaliwa, kosztPaliwa;
    
    
    cout << "Podaj rodzaj paliwa, na ktorym jezdzi Twoj samochod (1 - benzyna, 2 - olej napedowy, 3 - LPG, 4 - CNG, 5 - wodór): " << endl;

    cin>> wyborPaliwa;
    
    switch(wyborPaliwa) {
        case 1:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynosza: " << benzyna(&dystans,&avgSpalanie,&cenaPaliwa, kosztPaliwa) << "zl" << endl;
        break;
            
        case 2:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynosza: " << diesel(&dystans,&avgSpalanie,&cenaPaliwa, kosztPaliwa) << "zl" << endl;
        break;
            
        case 3:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynosza: " << lpg(&dystans,&avgSpalanie,&cenaPaliwa, kosztPaliwa) << "zl" << endl;
        break;
        
        case 4:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynosza: " << cng(&dystans,&avgSpalanie,&cenaPaliwa, kosztPaliwa) << "zl" << endl;
        break;
        
        case 5:
            cout << "Podaj dystans do przejechania: ";
            cin >> dystans;
            cout << "Podaj srednie spalanie twojego samochodu: ";
            cin >> avgSpalanie;
            cout << "Podaj cene benzyny za litr na Twojej stacji: ";
            cin >> cenaPaliwa;
            cout << "Koszty przejechania trasy wynosza: " << wodor(&dystans,&avgSpalanie,&cenaPaliwa, kosztPaliwa) << "zl" << endl;
        break;
        default:
            cout << "Invalid choice. Please select a valid option." << endl;
            return 1;
    } 
    
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.