Stampare una stringa

di il
4 risposte

Stampare una stringa

 cout<<"     INSERISCI I COGNOMI DEL PRIMO VETTORE       "<<endl;
    for(int i=0; i<n; i++){
        cout<<"inserisci il cognome "<<i+1<< " : ";
        cin.getline(s, SMAX);
        cin.ignore();
    }
    int i;
    while(s[i]!='\0'){
        cout<< s[i];
        i++;
    }
Buongiorno, ho un problema quando stampo a video la stringa, mi da solo alcune lettere. Avreste qualche consiglio da darmi? Grazie mille!

4 Risposte

  • Re: Stampare una stringa

    Ma cosa è s ?
  • Re: Stampare una stringa

    #include <iostream>
    #include "ordinamento_vettore.hpp"
    using namespace std;
    const int SMAX = 30;
    typedef char stringa [SMAX];
    typedef char stringa1 [SMAX];
    
    int main(int argc, const char * argv[]) {
        stringa s;
        stringa1 s1;
        int n;
        do{
            cout<<"Quante persone ci sono nei 2 vettori? "<<endl;
            cin >> n;
     
            if(n>SMAX){
                cout<<"RICORDA CHE IL MASSIMO E' 30!"<<endl;
            }
        }while(n<=0 || n>SMAX);
        
        cout<<"     INSERISCI I COGNOMI DEL PRIMO VETTORE       "<<endl;
        for(int i=0; i<n; i++){
            cout<<"inserisci il cognome "<<i+1<< " : ";
            cin.getline(s, SMAX);
            cin.ignore();
        }
        int i;
        while(s[i]!='\0'){
            cout<< s[i];
            i++;
        }
    Questo è l'intero programma, è la stringa
  • Re: Stampare una stringa

    A parte il fatto che, alla fine, devi inizializzare i con

    int i=0;

    non si capisce il senso del codice.

    Le variabili s e s1 sono semplici vettori di char, stringhe del C, non array di stringhe.

    E poi, se usi il C++, usa le sue stringhe

    #include <string>

    string s;

    per una sola stringa e

    string s[10];

    per 10 stringhe che visualizzerai con delle cout

    Insomma, rivedi le tue nozioni sulle stringhe.
  • Re: Stampare una stringa

    Ignore() usato in quel modo elimina solo un carattere.
    Se vuoi inserire stringhe con spazi, usa
    
    getline(cin, nome);
    
    Usa il tipo string come ha detto oregon.
Devi accedere o registrarti per scrivere nel forum
4 risposte