Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: stringhe in c++

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    32

    stringhe in c++

    Ragazzi ma per gestire le stringhe in c++ c'è una libreria apposita?? Se c'è mi dice come si chiama??

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    se no usi le stringhe stille c(array di char)
    cogli l'attimo

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    32
    Bene ora stavo eseguendo un semplice esercizio che in pratica vuole in un vettore di strutture formato da 2 campi inserire per ogni casella il nome e l'età di una persona; ora ho seguito un pò il link da voi postato ma qualcosa nel mio codice non va, potreste vedere dove ho sbagliato??

    codice:
    const int max_dim=30;
    
    struct persona
    {
           std::string nome;
           int eta;
           
    };
    
    
    typedef persona vettore[max_dim];
    
    void leggi_vett(const vettore, int &);
    void stampa_vett(const vettore, int);
    codice:
    #include <iostream>
    #include <string>
    #include "lib.h"
    
    using namespace std;
     
    int main() {
      
    using std::string;
    
    int riemp;
    
    vettore v;
    
    leggi_vett(v, riemp);
    stampa_vett(v, riemp);
    
    system("PAUSE");
    return 0;
    
    
    }
    codice:
    #include <iostream>
    #include <string>
    #include "lib.h"
    
    using namespace std;
    using std::string;
    
    void leggi_vett(const vettore v, int &riemp)
    {
         int i;
         
         cout<<"riempimento"<<endl;
         cin>>riemp;
         
         cout<<"inserisci"<<endl;
         
         for(i=0; i< riemp;i++)
                  {
                               std::cin>>v[i].nome;
                               cin>>v[i].eta;
                               
                  }
                  
                  
    }
    
                               
    void stampa_vett(const vettore v, int riemp)
    
    int i;
    
    cout<<"elementi del vettore"<<endl;
    for(i=0; i<riemp;i++)
         
         {
             std::cout<<v[i].nome;
             cout<<v[i].eta;
             
         }
         
    }

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Prechè si continua a scrivere

    "non va"

    invece di dire cosa non va ?

    Perchè devono essere gli altri a scoprire, non solo la soluzione, ma anche il problema?

    Cosa vi vuole a dare le informazioni che servono ?

    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    32
    Scusa ci sto perdendo la testa da un pò di ore a capire gli errori non è che appena vedo qualche stranezza subito posto... sono alle prime armi nella programmazione e visto che non riesco a capire sti benedetti errori volevo un parere di una persona più esperte di me tutto qui non è che sto a scuola e chiedo la soluzione di un esercizio...sto studiando il c++ per fatti miei xD

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Il problema è che non puoi pretendere che gli altri copino il tuo codice, lo incollino, lo compilino e lo eseguano così alla cieca.

    Ciascuno usa un compilatore diverso, su ambienti diversi e potrebbero dare input diversi per ottenere risultati diversi.

    Sei tu che devi dire QUALI sono gli errori e in quale fase li ottieni: compilazione? Esecuzione?

    Il compilatore riporta tutti gli errori ottenuti in fase di compilazione, appunto. Nessuno ti chiede di decifrarli, ma di riportarli nella discussione, se ne hai.

    Se ottieni errori in fase di esecuzione devi dire QUALI errori ottieni e con QUALI input li hai ottenuti (se rilevante). O in quale fase dell'esecuzione pensi si sia sollevato l'errore.

    Il primo passo per imparare a programmare è imparare a correggere i propri errori. Nessuno chiede che tu lo sappia già fare, ma almeno mettere gli altri in condizioni di farlo, fornendo tutte le indicazioni necessarie.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    oregon non sta criticando il fatto che tu stia chiedendo aiuto, ma piuttosto il fatto che tu dici genericamente "non va" invece di descrivere gli errori che ti vengono segnalati dal compilatore (o quelli che si verificano a runtime), costringendo così chiunque voglia risponderti a creare i file corrispondenti ai tuoi e a compilare il tutto. Specificando direttamente gli errori che fornisce il compilatore, invece, chi legge può vedere al volo dove sta il problema.
    ---EDIT---
    Tardi...
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    32
    ok ora riposto il codice

    codice:
    const int max_dim=30;
    
    struct persona
    {
           std::string nome;
           int eta;
    };
    
    typedef persona vettore[max_dim];
    
    void leggi_vett(const vettore, int &);
    void stampa_vett(const vettore, int);
    codice:
    #include <iostream>
    #include <string>
    #include "lib.h"
    
    using namespace std;
    using std::string;
    
    int main()
    {
        int riemp;
        vettore v;
        
    leggi_vett(v,riemp);
    stampa_vett(v,riemp);
    
    system("PAUSE");
    return 0;
    
    }
    codice:
    #include <iostream>
    #include <string>
    #include "lib.h"
    
    using namespace std;
    using std::string;
    
    void leggi_vett(const vettore v, int &riemp)
    {
         int i;
         
         cout<<"inserire riempimento"<<endl;
         cin>>riemp;
         
         cout<<"inserire valori nella struttura"<<endl;
         
    for(i=0; i< riemp; i++)
    {
             std::cin>>v[i].nome;
             cin>>v[i].eta;
    }
    
    }
    
    
    void stampa_vett(const vettore v, int riemp)
    {
         int i;
         
        cout<<"elementi della struttura"<<endl;
        
        for(i=0;i<riemp;i++)
        {
                            std::cout<<v[i].nome;
                            cout<<v[i].eta;
        }
        
    }
    ecco l'errore : lib.cpp In function `void leggi_vett(const persona*, int&)':
    no match for 'operator>>' in 'std::cin >> ((+(((unsigned int)i) * 8u)) + v)->persona::nome'

    PS: scusate se prima ho fatto una polemica nel post precedente ma stamattina non riuscendo a comprendere bene il problema ero arrabbiato ed intrattabile;

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da ciro_90
    ecco l'errore : lib.cpp In function `void leggi_vett(const persona*, int&)':
    no match for 'operator>>' in 'std::cin >> ((+(((unsigned int)i) * 8u)) + v)->persona::nome'
    Probabilmente il problema lo risolvi eliminando il const in

    void leggi_vett(vettore v, int &riemp)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.