![]() |
![]() |
![]() |
|||||
![]() |
![]() |
![]() |
![]() |
![]() |
|||
| Welcome
to Tech Support Forum home to more then 136,000 problems solved. Issues
have included: Spyware, Malware, Virus Issues, Windows, Microsoft,
Linux, Networking, Security, Hardware, and Gaming Getting your
problem solved is as easy as: 1. Registering for a free account 2. Asking your question 3. Receiving an answer Registered members: * See fewer ads. * And much more..
|
| Want to know how to post a question? click here | Having problems with spyware and pop-ups? First Steps |
|
|||||||
| Programming A discussion forum for programs and programming used in tech-related businesses. |
![]() |
|
|
Thread Tools |
|
|
#1 (permalink) |
|
Registered User
Join Date: Apr 2008
Posts: 1
OS: XP sp2
|
Problem with user-defined functions
I am getting multiple errors when I try to run the program without debugging and I have no clue how to fix them. Any help would be appreciated.
These are the errors: Code:
1>------ Build started: Project: Assign5, Configuration: Debug Win32 ------ 1>Linking... 1>Assign5 code.obj : error LNK2019: unresolved external symbol "void __cdecl process_student(class std::basic_ofstream<char,struct std::char_traits<char> > &,class std::basic_ifstream<char,struct std::char_traits<char> > &)" (?process_student@@YAXAAV?$basic_ofstream@DU?$char_traits@D@std@@@std@@AAV?$basic_ifstream@DU?$char_traits@D@std@@@2@@Z) referenced in function _main 1>Assign5 code.obj : error LNK2019: unresolved external symbol "void __cdecl outfile_header(class std::basic_ofstream<char,struct std::char_traits<char> > &)" (?outfile_header@@YAXAAV?$basic_ofstream@DU?$char_traits@D@std@@@std@@@Z) referenced in function _main 1>Assign5 code.obj : error LNK2019: unresolved external symbol "void __cdecl out_file(class std::basic_ofstream<char,struct std::char_traits<char> > &)" (?out_file@@YAXAAV?$basic_ofstream@DU?$char_traits@D@std@@@std@@@Z) referenced in function _main 1>Assign5 code.obj : error LNK2019: unresolved external symbol "void __cdecl print_file(void)" (?print_file@@YAXXZ) referenced in function "void __cdecl process_student(class std::basic_ifstream<char,struct std::char_traits<char> > &,class std::basic_ofstream<char,struct std::char_traits<char> > &,int &,char &,float &,float &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?process_student@@YAXAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@AAV?$basic_ofstream@DU?$char_traits@D@std@@@2@AAHAADAAM4AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@5@Z) 1>C:\Documents and Settings\My Documents\Visual Studio 2008\Projects\Assign5\Debug\Assign5.exe : fatal error LNK1120: 4 unresolved externals and this is the actual code Code:
#include <iomanip>
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
void open_file(ifstream & fin);
void out_file (ofstream & fout);
void outfile_header(ofstream & fout);
void print_header();
char grade_it (float &average);
float find_average(ifstream & fin);
void process_student (ofstream & fout, ifstream &fin);
void print_file ();
void main ()
{
ifstream fin;
ofstream fout;
print_header();
open_file(fin);
if (fin)
{
out_file(fout);
outfile_header(fout);
process_student(fout, fin);
outfile_header(fout);
fin.close();
fout.close();
}
}
void open_file(ifstream & fin)
{
string input_file;
cout << "Please enter input file name: ";
getline (cin, input_file) ;
fin.open(input_file.c_str());
if(fin.fail())
{
cout <<endl <<"Bad File Name" <<endl;
//wonder if this will work**************************
}
}//opens the input file and checks it
void out_file(ofstream &, string &output_file)
{
cout << "Please enter output file name: ";
getline (cin, output_file);
}//prompts for a name and creates an output file
void outfile_header(ofstream &fout, string &output_file)
{
fout.open (output_file.c_str());
fout << left << fixed;
fout << setw (25) << "Name";
fout << setw (15) << "Average";
fout << setw (6) << "Grade";
fout << endl;
fout << right << setfill ('-');
fout << setw (25) << " ";
fout << setw (15) << " ";
fout << setw (6) << "-";
fout << endl;
fout << left << setfill (' ');
}//creates the header of the output file
void print_header(void)
{
cout << "This program will process test scores to provide individuals with \na letter grade report according to the following scale: ";
cout << "\n\n\t\t 90 < average <=\t100\tA";
cout << "\n\t\t 80 < average <=\t90\tB";
cout << "\n\t\t67.7 < average <=\t80\tC";
cout << "\n\t\t 55 < average <=\t67.5\tD";
cout << "\n\t\t 0 < average <=\t55\tF";
}
char grade_it(float &average)
{
char grade;
if (average > 90 && average <= 100)
grade = 'A';
else if (average > 80 && average <= 90)
grade = 'B';
else if (average > 67.5 && average <= 80)
grade = 'C';
else if (average > 55 && average <= 67.5)
grade = 'D';
else
grade = 'F';
return (grade);
}//Grades the test average
float find_average(ifstream & fin)
{
string firstname;
float counter = 0, sum = 0, score, average;
cout << "======================================================================";
cout << "\n\nTest scores for " << firstname << "are: ";
do
{
fin >> score;
if (score >= 0)
{
sum+=score;
counter++;
cout << score << " ";
}//close if
}//close do
while (score >= 0);
average = sum/counter;
return (average);
}
void process_student(ifstream & fin, ofstream & fout, int &check, char &grade, float &average, float &counter, string &firstname, string &lastname)
{
check = 0;
fin >> firstname;
while (!fin.eof())
{
check++;
fin >> lastname;
average = find_average(fin);
grade = grade_it(average);
if (check = 0)
cout << "***Empty File***";
else
{
if (counter = 0)
{
cout << "\n\nGrade report for " << firstname << ' ' << lastname << ':';
cout << " There is no score entered for " << firstname << ' ' << lastname;
cout << ", average and grade is not calculated.";
}
else
{
cout << "\n\nGrade report for " << firstname << ' ' << lastname << ':';
cout << "The average of " << counter << " tests is " << setprecision (1) << average;
cout << setprecision (0) << " and the letter grade is " << grade << ".";
}
print_file();
}//closes while
}
}
void print_file (ofstream &fout, int &check, float &counter, float &average, char &grade, string &firstname, string &lastname)
{
if (check=0)
fout << "***Empty File***";
else
{
fout << left << fixed;
fout << endl << setw (25) << lastname << ", " << firstname;
if (counter = 0)
fout << "No Scores";
else
fout << setprecision (1) << setw (15) << average << setprecision (0) << setw (6) << grade;
}
}
|
|
|
|
![]() |
| Thread Tools | |
|
|