Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [c++] ripulire una stringa

    salve a tutti sto imparando a gestire le stringhe usando anche la libreria string scrivendo questo semplicissimo codice
    codice:
    #include <cstdlib>
    #include <iostream>
    #include <string.h>
    
    using namespace std;
    const int dim=10;
    struct persona
    {
    string nome;
    int eta;
    };
    
    typedef persona vett[dim];
    int main(int argc, char *argv[])
    {
        
        vett v;
        
        string buffer;
        int i;
        for(i=0;i<2;i++)
        {
         
            cout<<"nome\n";
            getline(cin,buffer);
            v[i].nome=buffer;
            buffer='\0';
            cout<<"eta'\n";
            cin>>v[i].eta;
    
        }
        for(i=0;i<2;i++)
        {
        cout<<v[i].nome<<endl<<v[i].eta<<endl;
        }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    il problema è che quando devo inserire la seconda stringa del record di persone non me la fa inserire e salta direttamente all'inserimento dell'età di tale persona. Ho provato anche a ripulire la variabile buffer ma niente...ho provato anche a vedere varie soluzioni su internet ma non ho capito granchè...grazie 1000 a tutti per le risposte

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Svuota il buffer dopo la cin (con cin.ignore() ) e non usare buffer (non serve)

    codice:
    {
            cout<<"nome\n";
            getline(cin,v[i].nome);
    
    	cout<<"eta'\n";
            cin>>v[i].eta;
    	cin.ignore();
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    ci ero quasi arrivato solo che sbagliavo la posizione del cin.ignore()...ma comunque grazie 1000!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.