Здравствуйте, я пытаюсь запустить этот код с файлом заголовка

//#include <iostream>
//#include <cmath>
#include "formula.h"
//using namespace std;


int main()
{
//double r1;
//double r2;
//double r3;
//double combinedresistors;
//double counter;

cout << "Enter your first resistance value:";
cin >> r1;
cout << "Enter your second resistance value:";
cin >> r2;
cout << "Enter your third resistance value:";
cin >> r3;

//combinedresistors = 1/((1/r1) + (1/r2) + (1/r3));

if (r1 == 0 )
  cout << "ERROR:You can't have your resistance(s) value be zero";
//  counter = 1;
else if (r2 == 0)
  cout << "ERROR:You can't have your resistance(s) value be zero";
//  counter = 1;
else if (r3 == 0)
    cout << "ERROR:You can't have your resistance(s) value be zero";
  //  counter = 1;
else
  cout << "Your combined Resistance is:" << combinedresistors << endl;

return 0;
}

Вот файл заголовка. Это называется формулой

  //header file
  #include <iostream>
  #include <cmath>
  #include <string>

  using namespace std;

  double combinedresistors;
  double r1;
  double r2;
  double r3;

  combinedresistors = 1/((1/r1) + (1/r2) + (1/r3));

Я закомментировал части в файле main.cpp, потому что я предполагаю, что они мне не понадобятся, потому что они находятся в заголовочном файле. Это ошибка, которую я получаю ...

 c:\work area\c++\lab3\formula.h(15): error C4430: missing type specifier - 
 int assumed. Note: C++ does not support default-int
 c:\work area\c++\lab3\formula.h(15): error C2371: 'combinedresistors': 
 redefinition; different basic types
 c:\work area\c++\lab3\formula.h(10): note: see declaration of 
 'combinedresistors'
 .\Lab3.cpp(34): error C2088: '<<': illegal for class

Я перепробовал много вещей, просмотрел интернет и ничего не нашел, поэтому мне нужна помощь.

Спасибо.

c++
0
Jarvis 29 Май 2017 в 07:00

2 ответа

Лучший ответ

Вам нужно написать combinedresistors = 1/((1/r1) + (1/r2) + (1/r3)); в какой-то функции. Подобно,

double GetCombinedResistors()
{
 return 1/((1/r1) + (1/r2) + (1/r3));
} 

И использовать,

  cout << "Your combined Resistance is:" << GetCombinedResistors() << endl;
0
Pranit Kothari 29 Май 2017 в 04:06

Я не хороший программист на С ++, но вы можете попробовать это:

//#include <cmath>
#include "formula.h"
//using namespace std;


int main()
{
double r1;
double r2;
double r3;
double combinedresistors;
double counter;

cout << "Enter your first resistance value:";
cin >> r1;
cout << "Enter your second resistance value:";
cin >> r2;
cout << "Enter your third resistance value:";
cin >> r3;

if (r1 == 0 || r2 == 0 || r3 == 0){
  cout << "ERROR:You can't have your resistance(s) value be zero";
}
else{
  combinedresistors = 1/((1/r1) + (1/r2) + (1/r3));
  cout << "Your combined Resistance is:" << combinedresistors << endl;
}

return 0;
}
0
AbA2L 29 Май 2017 в 04:10