so Jungs zu lesen, die wie dieseDer Versuch, aus einer Textdatei auf ein Objektarray
A 0 3
B 2 6
siehtC 4 4
D 6 5
E 8 2
die linke Spalte der Name ist, ist der nächste Ankunftszeit und die letzte ist die Dauer das ist, was ich habe jetzt
#include <iostream>
#include <fstream>
#include "Job.hpp"
using namespace std;
int main(int argc, const char * argv[]) {
string fileinfo;
string programname;
//gets Jobs.txt from commandline
programname.append(argv[1]);
Job jobs[5];
fstream afile;
//reads in from the file to create job objects
afile.open(programname);
if(afile.fail()){
cout <<"file could not be opened " << programname <<endl;
}
while(!afile.eof())
{
getline(afile,fileinfo);
int i = 0;
//cout <<fileinfo[0] <<endl;//gets next letter
//cout <<fileinfo[2] <<endl;//gets next arrival time
//cout << fileinfo[4] <<endl;//gets next duration time
jobs[i].setletter(fileinfo[0]);
jobs[i].setarrivaltime(fileinfo[2]);
jobs[i].setduration(fileinfo[4]);
i++;
}
afile.close();
cout << jobs[1].getletter() <<endl;
cout << jobs[2].getletter() <<endl;
cout << jobs[3].getduration() <<endl;
jetzt, wenn ich in gehen und aus den Werten in meinen verschiedenen Objekte drucken (wie am Ende des Codes) nachdem ich die Datei geschlossen habe, enthalten sie alle Informationen aus der ersten Zeile der Datei. Ich weiß nicht warum, weil ich technisch 'i' erhöhe, nachdem ich alle Werte des Jobs gesetzt habe und dann fileinfo die nächste Zeile der Datei bekommt, so scheint mir das zu funktionieren. Aber wie die Werte bekomme ich aus diesen 3 couts am Boden die Ergebnisse
A
A
die Jobklasse sind
Job::Job(){}
Job::Job(char let, int arrive, int dura){
letter = let;
arrivaltime = arrive;
duration = dura;
}
und es hat auch alle seine bekommen und setzt definiert so können Sie mir bitte helfen, in der Lage sein, aus der Datei richtig einzulesen und meine obje erstellen ct Array
Jetzt, da der Teil mit dem "i" in der Schleife fixiert ist, sind alle meine int-Werte jetzt in den ASCII-Gegenstücken. Wie konvertiert man die Werte in dezimale Ganzzahlen? – Yaboy93
OK Jungs Ich reparierte dieses Problem auch nur durch Subtrahieren 48 von jedem Wert – Yaboy93