Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prototyped function not called (was a variable definition intended?)
- Comp_Num Comp_Num::operator- (Comp_Num &c1, Comp_Num &c2);
- c:usersandrewdocumentsvisual studio 2012projectsandrew_spiteri_hw5complex_number.h(226): warning C4930: 'Comp_Num operator +(Comp_Num &,Comp_Num &)': prototyped function not called (was a variable definition intended?)
- c:usersandrewdocumentsvisual studio 2012projectsandrew_spiteri_hw5complex_number.h(228): warning C4930: 'Comp_Num operator -(Comp_Num &,Comp_Num &)': prototyped function not called (was a variable definition intended?)
- c:usersandrewdocumentsvisual studio 2012projectsandrew_spiteri_hw5complex_number.h(230): warning C4930: 'Comp_Num operator *(Comp_Num &,Comp_Num &)': prototyped function not called (was a variable definition intended?)
- Complex_Number.obj : error LNK2001: unresolved external symbol "private: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > Comp_Num::imag1" (?imag1@Comp_Num@@0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A)
- Complex_Number.obj : error LNK2001: unresolved external symbol "public: static double Comp_Num::r1_final" (?r1_final@Comp_Num@@2NA)
- Complex_Number.obj : error LNK2001: unresolved external symbol "public: static double Comp_Num::r2_final" (?r2_final@Comp_Num@@2NA)
- #include <iostream>
- #include <String>
- #include <vector>
- #include <sstream>
- using namespace std;
- #ifndef Comp_Num
- class Comp_Num
- {
- private:
- std::vector <double> real;
- std::vector <double> imag;
- double real_in, real_in1, real_in2;
- static double r1_final, r2_final;
- std::string imag_in;
- static std::string imag1;
- public:
- Comp_Num();
- Comp_Num(double real_num, std::string img_num);
- static std::vector <std::string> get_input();
- static std::vector <std::string> get_real(std::vector <string> complexnum1);
- static std::vector <std::string> get_imag(std::vector <std::string> complexnum2);
- static void display(std::vector <std::string> display1);
- static void display2(std::vector <double> display3);
- static std::vector <std::string> set_compnum();
- static std::vector <std::string> comp2real(std::vector <std::string> c2r);
- static std::vector <double> real2double (std::vector<std::string> r2d);
- static double double_const(std::vector<double> dc);
- friend Comp_Num operator +(const Comp_Num &c3, const Comp_Num &c4);
- friend Comp_Num operator -(const Comp_Num &c3, const Comp_Num &c4);
- friend Comp_Num operator *(const Comp_Num &c3, const Comp_Num &c4);
- static void operation();
- ~Comp_Num();
- /*
- double Comp_Num::operator+ (double add_num);
- double Comp_Num::operator- (double sub_num);
- double Comp_Num::operator* (double mul_num);
- double Comp_Num::operator/ (double div_num);
- */
- };
- #endif !Comp_Num
- Comp_Num::Comp_Num()
- {
- double real_in = 1;
- string imag_in = "i";
- };
- Comp_Num::Comp_Num(double real_num, std::string imag_num)
- {
- double real_in = real_num;
- string imag_in = imag_num;
- };
- std::vector <string> Comp_Num::set_compnum()
- {
- std::vector <string>set_num= Comp_Num::get_input();
- std::vector<string>comp1=Comp_Num::get_real(set_num);
- std::vector <string>comp2= Comp_Num::get_imag(set_num);
- std::vector <string>cmp2rl_fin = Comp_Num::comp2real(comp2);
- std::vector<double>finale = Comp_Num::real2double(cmp2rl_fin);
- Comp_Num::double_const (finale);
- imag1 = "i";
- Comp_Num *c1 = new Comp_Num(r1_final, imag1);
- Comp_Num *c2 = new Comp_Num(r2_final, imag1);
- Comp_Num::display(comp2);
- std::system("pause");
- return(comp2);
- };
- std::vector <string> Comp_Num::get_input()
- {
- std::string usr_input, input1;
- std::vector <string> complex;
- std::cout<<"Enter 2 imaginary numbers you would like to perform your operation on.n";
- std::getline(std::cin, usr_input);
- std::istringstream input(usr_input);
- while(input >> input1)
- {
- complex.push_back(input1);
- }
- std::cout<<'n';
- return (complex);
- };
- std::vector <string> Comp_Num::get_imag(std::vector <string> complexnum2)
- {
- std::vector <string> imag1;
- for(unsigned int i = 0; i < complexnum2.size(); ++i)
- {
- std::string str2 = "";
- std::vector<char> char1(complexnum2[i].begin(), complexnum2[i].end());
- for(unsigned int r = 0; r < char1.size(); ++r)
- {
- if(char1[r] >= '0' && char1[r] <= '9' || char1[r] == '-' || char1[r] == '.' || char1[r] == 'i')
- {
- str2 += char1[r];
- if(char1[r] == 'i')
- {
- imag1.push_back(str2);
- continue;
- }
- }
- }
- }
- return(imag1);
- };
- std::vector <string> Comp_Num::get_real(std::vector <string> complexnum1)
- {
- std::vector <string> real1;
- for(unsigned int i = 0; i < complexnum1.size(); ++i)
- {
- std::string str2 = "";
- std::vector<char> char1(complexnum1[i].begin(), complexnum1[i].end());
- for(unsigned int r = 0; r < char1.size(); ++r)
- {
- if(char1[r] >= '0' && char1[r] <= '9' || char1[r] == '-' || char1[r] == '.' || char1[r] == 'i')
- {
- str2 += char1[r];
- if(char1[r] == 'i')
- {
- str2="";
- break;
- }
- }
- }
- real1.push_back(str2);
- }
- return(real1);
- };
- void Comp_Num::display (std::vector <string> display1)
- {
- unsigned int i = 0;
- while (i < display1.size())
- {
- std::cout<<display1[i]<<" ";
- i++;
- }
- std::cout<<std::endl;
- };
- void Comp_Num::display2 (std::vector <double> display3)
- {
- unsigned int i = 0;
- while (i < display3.size())
- {
- std::cout<<display3[i]<<" ";
- i++;
- }
- std::cout<<std::endl;
- };
- std::vector <string> Comp_Num::comp2real(std::vector <string> c2r)
- {
- std::vector <string> real2;
- for(unsigned int i = 0; i < c2r.size(); ++i)
- {
- std::string str2 = "";
- std::vector<char> char1(c2r[i].begin(), c2r[i].end());
- for(unsigned int r = 0; r < char1.size(); ++r)
- {
- if(char1[r] >= '0' && char1[r] <= '9' || char1[r] == '-' || char1[r] == '.')
- {
- str2 += char1[r];
- }
- }
- real2.push_back(str2);
- }
- return(real2);
- }
- std::vector<double> Comp_Num::real2double (std::vector<string> r2d)
- {
- double y;
- std::vector<double> final_r2d;
- std::string str, str2;
- std::vector<string>str3;
- for(unsigned int i = 0; i < r2d.size(); ++i)
- {
- std::vector<char> ch(r2d[i].begin(), r2d[i].end());
- for(unsigned int r = 0; r < ch.size(); ++r)
- {
- if(ch[r] >= '0' && ch[r] <= '9' || ch[r] == '-' || ch[r] == '.')
- {
- str2 += ch[r];
- }
- }
- str3.push_back(str2);
- str2="";
- }
- for(unsigned int r = 0; r < str3.size(); r++)
- {
- str = str3[r];
- std::istringstream to_double(str);
- while(to_double >> y)
- {
- final_r2d.push_back(y);
- }
- }
- return(final_r2d);
- };
- double Comp_Num::double_const(std::vector<double>dc)
- {
- r1_final=dc[0];
- r2_final=dc[1];
- return(0);
- };
- void Comp_Num::operation()
- {
- std::string operate;
- std::cout<<"What operation would you like perform on the numbers?n";
- std::cout<<"You may choose between addition, subtraction, and multiplication.n";
- std::getline(cin,operate);
- if(operate == "addition")
- Comp_Num operator+ (Comp_Num &c1, Comp_Num &c2);
- else if (operate == "subtraction")
- Comp_Num operator- (Comp_Num &c1, Comp_Num &c2);
- else if (operate == "multiplication")
- Comp_Num operator* (Comp_Num &c1, Comp_Num &c2);
- else
- {
- cout<<"This is not a valid entry. Please start over."<<std::endl;
- std::exit(0);
- }
- };
- Comp_Num operator +(const Comp_Num &c3, const Comp_Num &c4)
- {
- std::string output,imaginary = "i";
- double final_real = c3.real_in + c4.real_in;
- std::cout<<"The difference of your imaginary numbers is "<<final_real<<imaginary<<std::endl;
- return(c3);
- };
- Comp_Num operator -(const Comp_Num &c3, const Comp_Num &c4)
- {
- std::string output,imaginary = "i";
- double final_real = c3.real_in - c4.real_in;
- std::cout<<"The difference of your imaginary numbers is "<<final_real<<imaginary<<std::endl;
- return(c3);
- };
- Comp_Num operator *(const Comp_Num &c3, const Comp_Num &c4)
- {
- std::string output,imaginary = "i";
- double final_real = c3.real_in * c4.real_in;
- final_real *= -1;
- std::cout<<"The difference of your imaginary numbers is "<<final_real<<std::endl;
- return(c3);
- };
- if(operate == "addition")
- Comp_Num operator+ (Comp_Num &c1, Comp_Num &c2);
- else if (operate == "subtraction")
- Comp_Num operator- (Comp_Num &c1, Comp_Num &c2);
- else if (operate == "multiplication")
- Comp_Num operator* (Comp_Num &c1, Comp_Num &c2);
- Comp_num c1, c2, c3; // get these from somewhere.
- if(operate == "addition")
- c3 = c1 + c2;
- else if (operate == "subtraction")
- c3 = c1 - c2;
- else if (operate == "multiplication")
- c3 = c1 * c2;
- double Comp_Num::r1_final = 0;
- Comp_Num cm
- if(operate == "addition")
- cm = c1 + c2;
- else if (operate == "subtraction")
- cm = c1 - c2;
- else if (operate == "multiplication")
- cm = c1 * c2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement