Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2015
    residenza
    Fiumicino
    Messaggi
    6

    Linguaggio C: Impedire la stampa di un carattere in alcune circostanze

    Salve, mi servirebbe impedire la stampa di un carattere solo quando questo carattere è 0, i caratteri si trovano all'interno di un vettore di strutture. Ho provato così:
    faccio un esempio basilare con nomi cambiati al momento ma dietro c'è un codice molto più complicato.

    codice:
    void stampa(){
     int i=0;
    
    do{
       if(vettore[i].carattere=='0')
              i=i+1;//incremento il contatore in modo che il carattere (0) nella posizione in cui si trova non venga stampato
       else {
              printf("%d",vettore[i].carattere);
              i=i+1; //incremento per andare all'elemento successivo anche se stampo regolarmente il carattere(non 0)
              }
    }while(i<100);
    I risultati sono stati scadenti, stampa solo 1 carattere e quel carattere è 0.
    Grazie in anticipo a chi mi saprà aiutare.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,477
    Devi mostrare la struttura per capire meglio
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2015
    residenza
    Fiumicino
    Messaggi
    6
    Ho risolto mettendo NULL al posto di 0 nella if. Comunque mostro come ho fatto se mai a qualcuno dovesse servire.
    codice:
     do{         if(vettore[i].carattere==NULL)
                 i++;
             else{
                printf("%d ", vettore[i].carattere);
                i++;
                 }
        }while(i<100);
    Non fa altro che verificare se all'interno della variabile in cui si trova il puntatore "i" ci sia qualche variabile, in caso contrario incrementa il contatore e riesegue il ciclo senza stampare nulla.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,477
    Ti basta

    codice:
     
    do
    {
             if(vettore[i].carattere)
                printf("%d ", vettore[i].carattere);
     
             i++;
    } while(i<100);
    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.