unidentfied refrence to getnb,addtwo,and OutputLine

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// Adding two numbers main.cpp
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// main()
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#include "utility.h"

int main (int argc, char *argv[])
{

double a, b, c, x;

getnb (a,b,c,x);

double value_v = addtwo(a,b,c,x);

OutputLine ("The value is :",value_v);

int PauseAndReturn();

}



//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// end
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX





//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// utility.cpp
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#include "utility.h"
#include <string>
#include <iostream>

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// PauseAndReturn()
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

int PauseAndReturn()
{
char quit = '\0';
while (quit != 'q')
{
std::cout << "Enter q to quit: ";
std::cin >> quit;
}

return 0;
}

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// double addtwo()
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

double addtwo(double a, double b,double c, double x)
{

return a * x + b * x + c;

}

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// readindata()
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


double readindata(const std::string & promot)
{

double value;
std::cout<< promot << " : ";
std::cin>>value;
return value;



}

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// getnb()
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

void getnb(double & a, double & b, double & c, double & x)
{

a = readindata("a");
b = readindata("b");
c = readindata("c");
x = readindata("x");



}
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// OutputLine()
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

void OutputLine(const std::string & text, const double & num)
{
std::cout << text << " " << num << std::endl;
}









//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// end
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// utility.h
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#ifndef utilityH
#define utilityH
#include<string>
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
int PauseAndReturn();
double addtwo(double a, double b,double c, double x);
double readindata(const std::string & promot);
void getnb(double & a, double & b, double & c, double & x);
void OutputLine(const std::string & text, const double & num);

#endif
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// end
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX





Make sure you include both main.cpp and utility.cpp when compiling the program
what do you mean?
both cpps are their.
but still i am getting the same error.
How do you compile and link? Do you use an IDE or the command-line?

The code as it stands appears fine, apart from a minor error at this line in main():
 
    int PauseAndReturn();
That's a declaration, not a function call. But that's trivial, it isn't the cause of your trouble. The code itself is ok.

The problems you report arise because the linker cannot find the definitions of the missing functions. Linking takes place after compilation, when building the final program.
Last edited on
i am using DEV c++.
i save all my work then press the compile button then the run one.
i do not uuse any command line.
wait in dev c++ there should be like you know ummmm main.cpp and uitility .cpp and uitility.h to left hand side u know what i mean but i do not have that maybe that is the problem?
okay i will try it then share it. i think it was a stupid mistake. lol
in dev c++ there should be like you know ummmm main.cpp and uitility .cpp and uitility.h

Yes, almost. You should have main.cpp and utility.cpp to the left, as part of the current project. (you don't need to add the header utility.h there, because it is already #included by each of the others).

From the menu, project->add to project then select the .cpp file.
now it says utility.h no such file or directory
i have created a new project then added source file that is main.cpp and utility.cpp and uitility.h saved all got
utility.h no such file or directory
utility.h no such file or directory

Well, did you put all three files in the same directory?

I usually create a new folder (directory) for each project, the place the required source and header files within that folder.
oh i knew what was wrong i was creating an application and not a console project. such a stupid mistake. lol. thank you any way.
now it works 100% with no errors.
Topic archived. No new replies allowed.