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
PNVA - Hjælp til programmering, c++
30-01-2008 10:43
#1|
0
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
Vincennes OP
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......
Du skal være logget ind for at kunne skrive et svar!