我已經完成了一個代碼,它必須寫成一個數學函數,然後給出圖像。首先,將函數作爲字符串變量引入,但我不知道如何將其轉換爲另一種類型的變量以返回函數的圖像。C++錯誤我需要幫助嗎?
編譯器的錯誤,我得到的是:
不能轉換 '
std::string {aka std::basic_string<char>}
' 到 'const char*
' 的說法 '1
' 到 'int printf(const char*, ...)
'
#include<iostream>
#include<cmath>
#include<math.h>
#include<vector>
#include<stdio.h>
#include<iomanip> //setprecision//
#include<sstream>
#include<string>
#define precisio 4
#define K 100
using namespace std;
double valors(double a, double b);
double g(double x);
double x;
double a = x;
double y(x);
int i;
int main() {
cout << setprecision(precisio);
cout << "Escriu l'interval de la funció" << endl;
double a, b;
cout << "\n a ="; cin >> a;
cout << "\n b ="; cin >> b;
cout << "Escriu la funcio" << endl; string s;
cin >> s; cout << s;
double y = printf(s.c_str());
valors(a,b);
}
double valors(double a, double b){
int punts = K*(b-a) + 1;
double amplada = (b-a)/K;
cout << "\n\tx\tf(x)" << endl;
for (int i = 0; i < punts; i++) {
cout << "\t" << a << "\t" << g(a) << endl;
a = a + amplada;
}
}
double g(double x){
return y;
}
你爲什麼要執行此:'雙Y =的printf(s.c_str());'時,你可以使用'的cout << S;'像你這樣在上面的行中? –
使用調試器將有助於澄清問題。這是學習使用調試器的一個很好的例子。 –
此代碼編譯並運行時不進行任何編輯。無論問題是什麼,它或者不在這個代碼中,或者它不是被問到的。 –