글쎄, 나는 몇 시간 동안이 문제로 고생했다. 하지만 몇 가지 이유로 나는 망할 mitstake를 찾을 수 없습니다. 나는 정말로 U가 마침내 나를 도울 수 있기를 바란다.데이터 읽기가 작동하지 않지만 그 이유는 무엇입니까?
다음은 사용자가 그에 대한 몇 가지 사실을 삽입해야하는 프로그램을 작성했습니다. 이름 = vname, 성 = nname, 그의 계정 = echte_kontonummer, 그의 핀과 프로그래머는이 파일과 그의 신용을 파일에 기록합니다. 나를 오해하지 마라. 배우는 목적을 위해서만 나는 이것으로 피싱을하지 않을 것이다. D.
그러나이 도구는이 데이터를 파일에 기록합니다. 지금까지는 너무 좋았지 만 지금은 줄 단위로 파일을 읽어야합니다. 추가 작업을 위해 필요한 변수로 텍스트를 구성하십시오.
그러나 몇 가지 이유로, 그것은 단지 어리석은 랜든 숫자와 문자를 읽었습니다. ,
void Kunde::laden(){
string inhalt_anrede, inhalt_vname, inhalt_nname, inhalt_knummer, inhalt_pin, inhalt_guthaben;
int anrede, vorname, nachname, knummer, pin, guthaben;
system("cls");
cout << "wie ist ihr nachname?" << endl;
cin >> nname;
user1.open(nname, ios::in);
if(!user1.is_open()){
cout << "Datei nicht gefunden" << endl;
}
if(user1.is_open()){
for (anrede=1;!user1.eof();anrede++){
if (anrede==1){
strcpy(Anrede,inhalt_anrede.c_str());
}
else
getline(user1, inhalt_anrede);
}
for (vorname=1;!user1.eof();vorname++){
if (vorname==2){
strcpy(vname,inhalt_vname.c_str());
}
else
getline(user1, inhalt_vname);
}
for (nachname=1;!user1.eof();nachname++){
if (nachname==3){
strcpy(nname,inhalt_nname.c_str());
}
else
getline(user1, inhalt_nname);
}
for (knummer=1;!user1.eof();knummer++){
if (knummer==4){
echte_kontonummer=atol(inhalt_knummer.c_str());
}
else
getline(user1, inhalt_knummer);
}
for (pin=1;!user1.eof();pin++){
if (pin==5){
echte_pin=atoi(inhalt_pin.c_str());
}
else
getline(user1, inhalt_pin);
}
for (guthaben=1;!user1.eof();guthaben++){
if (guthaben==6){
Guthaben=atoi(inhalt_guthaben.c_str());
}
else
getline(user1, inhalt_guthaben);
}
cout << "Daten erfolgreich geladen." << endl;
cout << vname << " " << nname << " " << echte_kontonummer << " " << echte_pin << " " << Guthaben << endl;
}
user1.close();
}
와 여기를 완료하는 클래스
class Kunde{
private:
char Anrede[5];
char vname[20];
char nname[20];
long long echte_kontonummer;
int echte_pin;
int Guthaben;
fstream user;
ifstream user1;
public:
void einpflegen();
void login();
void einzahlen();
void speichern();
void laden();
void zeige_guthaben();
};
BTW 언어가 독일어를하다이 문제가되지 않습니다 희망 :
마침내 여기에 파일을로드 메도이다.
여기아, 네와 루프가
for (int guthaben=1;!user1.eof();guthaben++){ //i think this is understandable
if (guthaben==4){ //in this case the desired value is on line 4 (the account number.
getline(user1, inhalt_guthaben);
echte_kontunummer=atol(inhalt_knummer.c_str()); //from string to int to the desired value Guthaben. here foe e.g i only get random numbers when the console should put out this value
}
}
"btw는 언어가 독일어이고 희망이 없습니다." 물론 중요합니다. 예를 들어, 수업을 끝 근처에 제시하면 독일어를 모르는 경우가 아니면 전혀 쓸모가 없습니다. 잠재 고객을 독일어로 말하는 SO 커뮤니티보다 더 많이 확보하려는 경우 게시 된 코드에서 변수 및 함수의 이름을 바꾸는 것이 좋습니다. –
전체 코드를 살펴 보지 못했지만, 읽기가 아플뿐입니다.하지만 cin에서 char 배열을 읽으 려한다는 것을 알았습니다. 물론 작동하지 않습니다. 대신 std :: string을 사용하십시오. –
@R. Martinho Fernandes는 중요한 변수를 지정했는데,이 나머지는 "거의"불필요하다고 생각합니다. – globus243