Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8

    [C++] Lettura input senza andare a capo

    Salve a tutti, vorrei chiedervi se c'è un modo per non far andare a capo il programma dopo aver richiesto un valore.
    Ad esempio con una matrice del genere:
    codice:
        binario[N][M];
        I=0;
        J=0;
        cout << "Dammi il valore binario: \n";
        do
        {
               I=0;
               do
               {
                    cin >> binario[I][J];
                    I=I+1;
               }
               while(I!=N);
               cout << "\n";
               J=J+1;
        }
        while(J!=M);
    Quando il programma legge l'input dall'utente va automaticamente a capo ad ogni inserimento.
    codice:
    1
    0
    0
    
    0
    1
    0
    Invece vorrei che la lettura venisse fatta tutta su di una riga.
    codice:
    100
    010
    E' una cosa possibile?
    Talk is cheap. Show me the code. [Linus B. Torvalds]

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Cosa sarebbe

    binario[N][M];

    ?

    Non mi pare che sia corretta quella linea ...

    Comunque, utilizza una stringa, un oggetto di classe

    string

    con un solo input per tutti i caratteri richiesti
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    A parte il fatto che sei tu stesso a stampare dei newline nel ciclo, in C++ l' input dell' utente termina quando preme invio, e la pressione del carattere invio fa si che si vada a capo-riga.
    L' unico modo per evitare questo è premere ctrl+D (il carattere di fine input) dopo aver digitato un valore, ma non funziona su tutti i sistemi.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8
    Prima di tutto vi ringrazio per le risposte, comunque:

    @oregon
    binario[N][M] era per far capire che le variabili N ed M usate alla fine dei due cicli do erano rispettivamente il massimo dei numeri rappresentabili (invece di usar numeri come nell'esempio binario[3][2] );
    è una buona idea utilizzare una stringa per la visualizzazione, però nel programma vorrei poter usare sempre un valore alla volta (sul quale effettuare delle operazioni) e la stringa non me lo permetterebbe

    @Who am I
    il newline che ho inserito io nel ciclo do viene stampato solo quando si passa da una riga all'altra (ovvero quando si incrementa l'indice delle colonne), come nell'esempio soprastante;
    non sapevo del crtl+D, buono a sapersi, purtroppo però io cercavo qualcosa a livello di codice sorgente

    ci sono altri metodi? o mi devo rassegnare?
    Talk is cheap. Show me the code. [Linus B. Torvalds]

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Vladmyr
    binario[N][M] era per far capire che le variabili N ed M usate alla fine dei due cicli do erano rispettivamente il massimo dei numeri rappresentabili (invece di usar numeri come nell'esempio binario[3][2] );
    Non mi riferivo a N e a M ma al fatto che manca il tipo di dato per l'array che hai chiamato binario. Come fa a compilare?

    è una buona idea utilizzare una stringa per la visualizzazione, però nel programma vorrei poter usare sempre un valore alla volta (sul quale effettuare delle operazioni) e la stringa non me lo permetterebbe
    Puoi utilizzare i singoli caratteri della stringa, perché pensi di no ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8
    @oregon
    ah, no non preoccuparti, in quel codice mancano tutte le dichiarative e altri parti iniziali fondamentali. Era solo per dare un'idea del programma;
    scusami, non sapevo si potessero utilizzare i singoli caratteri di una stringa (si vede che sono un nuovo approdato del C++), quindi come si potrebbe fare?
    Talk is cheap. Show me the code. [Linus B. Torvalds]

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come ti ho detto ... utilizza una string in input e poi puoi accedere ai singoli caratteri con il metodo c_str
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8
    Oh, non lo conoscevo proprio il metodo "c_str". Ora me lo studio un po', ancora grazie, risolverò così! Buona giornata a tutti.
    Talk is cheap. Show me the code. [Linus B. Torvalds]

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.