PNVA - Hjælp til programmering, c++

#1| 0

Hej

Jeg har et program men kan ikke faa det til at virke...
Det programmet skal goere er at spoerge om et Id nummer som den saa henter informationer fra filen "it2171.txt".

Filerne er main.cpp, it2171.cpp og it2171.txt

Fejlen som programmet melder er foelgende:

main.cpp(38): warning C4018: '<' : signed/unsigned mismatch
main.cpp(39): error C2065: 'id' : undeclared identifier

Nogen som kan hjaelpe ?????


//main.cpp
//--------------------------------------------------------------------------------
#include<iostream>
#include<fstream>
#include<vector>
#include"it2171.cpp"
using namespace std;
int searchID(vector<IT2171> list,int file);
int main()
{
ifstream inFile;
inFile.open("it2171.txt");
vector<IT2171> list;
while (!inFile.eof()){
int id,sec,mobile,ass,pe1,pe2,mid,finpe,finpa;
string name,mail;
inFile >>id>>name>>sec>>mail>>mobile>>ass>>pe1>>pe2>>mid>>finpe>>finpa;
IT2171 st(id,name,sec,mail,mobile,ass,pe1,pe2,mid,finpe,finpa);
list.push_back(st);
}
inFile.close();
int id;
cout << "Enter ID Number: ";
cin >> id;
cout <<"-----------------------------------"<<endl;
int index = searchID(list, id);
if (index != -1){
list[index].display();
list[index].total();
}
else{
cout <<"ID Not found !!"<<endl;
}
cout <<"-----------------------------------"<<endl;
system ("Pause");
return 0;
}
int searchID(vector<IT2171> list,int file){
int found = -1;
for (int i = 0; found == -1 && i < list.size();++i){
if (id == list.getID()){
found = i;
}
}
return found;
}

//----------------------------------------------------------------------------
//it2171.cpp----------------------------------------------------------------

#include<iostream>
#include<string>
using namespace std;
class IT2171
{
public:
IT2171();
IT2171(int d, string n, int s, string ma, int mo, int ass, int p1, int p2, int mid, int finpe, int finpa);
void set(int d, string n, int s, string ma, int mo, int ass, int p1, int p2, int mid, int finpe, int finpa);
int getID(){return id;}
void display();
void total();
private:
int id,section,mobile,assignment,practical1,practical2,midterm,finalpe,finalpa;
string name,mail;
};
IT2171::IT2171(int d, string n, int s, string ma, int mo, int ass, int p1, int p2, int mid, int finpe, int finpa)
{
set(d,n,s,ma,mo,ass,p1,p2,mid,finpe,finpa);
}
void IT2171::set(int d, string n, int s, string ma, int mo, int ass, int p1, int p2, int mid, int finpe, int finpa)
{
id=d;
name=n;
section=s;
mail=ma;
mobile=mo;
assignment=ass;
practical1=p1;
practical2=p2;
midterm=mid;
finalpe=finpe;
finalpa=finpa;
}
void IT2171::display()
{
cout <<id<<"/"<<name<<"/"<<section<<"/"<<mail<<"/"<<mobile<<endl;
cout <<"-----------------------------------"<<endl;
cout <<"Assignment : "<<assignment<<endl;
cout <<"Practical Exam 1 : "<<practical1<<endl;
cout <<"Practical Exam 2 : "<<practical2<<endl;
cout <<"Midterm Exam : "<<midterm<<endl;
cout <<"Final Practical Exam : "<<finalpe<<endl;
cout <<"Final Paper Exam : "<<finalpa<<endl;
}
void IT2171::total()
{
int total=assignment+practical1+practical2+midterm+finalpe+finalpa;
cout <<"Total Score : "<<total<<endl;
}

//--------------------------------------
it2171.txt

4913592 Jessada 51 [email protected] 0815656568 20 5 9 10 19 15
4913593 Converse 51 [email protected] 0815656569 20 10 10 20 20 20

//id, navn, email, tlf, point i de forskellige eksamer

30-01-2008 10:51 #2| 0

Sort snak for mig, men det er det ikke for folkene på www.eksperten.dk

---
www.bimbampoker.wordpress.com

30-01-2008 11:32 #3| 0

Er du GAL det er umuligt at læse... farvekoder pls..

int searchID(vector<IT2171> list,int file)
{
int found = -1;
for (int i = 0; found == -1 && i < list.size();++i)
{
if (id == list.getID())
{
found = i;
}
}
return found;
}

Her er id variablen ikke er erklæret - du mener vel du vil overføre den til metoden som argument

30-01-2008 13:48 #4| 0

Hej

Ja beklager det med farverne...

Ja men hvordan erklaerer jeg den ?

30-01-2008 13:59 #5| 0

du overfører id som andet argument til funktionen searchID, men i searchID funktionen kalder du andet argument for file......

30-01-2008 15:59 #6| 0

Jeg takker for svar... Er ikke lige ved min egen com nu, men haaber det er rigtigt:-)

Ha det godt og igen mange tak

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar