Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema con Struct
Forum - C/C++ - Problema con Struct

Avatar
Pierga (Normal User)
Newbie


Messaggi: 14
Iscritto: 14/04/2009

Segnala al moderatore
Postato alle 9:49
Venerdì, 14/08/2009
Non capisco perchè ho dovuto inserire 2 volte la stringa "cin.getline(rec.English,100);". Se non la metto per il primo ciclo non mi permette di inserire il dato, per i cicli successivi funziona normalmente ovvero mi chiede di inserire due volte il dato. Questo è il pezzo di codice che dà problemi:

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <fstream>
  4. #include <string>
  5. #include <windows.h>
  6. using namespace std;
  7.  
  8. int main ()
  9. { ...
  10.     while(i=='1') {               //i e' una variabile char
  11.         ofstream myfile;
  12.         myfile.open ("Prova.txt", ios::app);
  13.         struct tiporec          
  14.         {        
  15.         char Italian[100];
  16.         char English[100];      
  17.         }rec;
  18.        
  19.        
  20.         //Inserimento dei dati
  21.         cout<<" Write in English:  ";
  22.         cin.getline(rec.English,100); //<---- Ecco il problema
  23.         cin.getline(rec.English,100);
  24.         cout<<" Write in Italian:  ";
  25.         cin.getline(rec.Italian,100);
  26.         cout<<endl<<endl;
  27.        
  28.         //Stampa nel file i dati inseriti
  29.         myfile << rec.English << " = " << rec.Italian << "\n";
  30.         cout<<"Inserted line : "<<rec.English<<" = "<<rec.Italian
  31.         <<endl<<endl<<endl;
  32.         myfile.close();
  33.         i='0';
  34.         }
  35.    
  36.     ...



Qualcuno mi sa dare la spiegazione per favore? Grazie a chiunque risponda!

:hail:

PM Quote
Avatar
ingMark (Ex-Member)
Pro


Messaggi: 176
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 11:06
Venerdì, 14/08/2009
probabilmente il problema non è la struct.
Sicuro di non aver lasciato qualche \n da qualche parte?
di solito il tuo problema si verifica quando ci sono ancora dei caratteri non letti^^


Mamma diceva sempre che stupido è chi lo stupido fa.
PM Quote
Avatar
Pierga (Normal User)
Newbie


Messaggi: 14
Iscritto: 14/04/2009

Segnala al moderatore
Postato alle 11:20
Venerdì, 14/08/2009
se con "\n" intendi i caratteri per andare a capo, no, non c'è nulla del genere prima. Il codice è proprio quello che è riportato sopra...
Cosa può essere?

PM Quote