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

    [C] caratteri nelle stringhe

    ciao a tutti,

    oggi mi è venuto in mente di realizzare un programma in C che data una stringa ne legga i caratteri uno ad uno e li ristampi in un formato particolare, vi faccio un esempio...
    ammettiamo che la stringa sia " ciao " , allora il prog una volta letta dovrebbe dare:
    _ _ _
    |_ | /-\ |_|


    ho pensato di leggere uno ad uno i caratteri dalla stringa e poi ristamparli uno ad uno con una printf usando uno switch molto rudimentale...

    vorrei sapere se esiste un modo più "elegante" per fare il tutto... perchè con lo switch la cosa non mi piace molto...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  2. #2
    va beh ho notato che dopo aver postato si è rovinata la scritta "ciao", cmq l'idea è quella...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Credo che lo switch in c sia il modo migliore, altrimenti in c++ potresti implementare delle classi.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    mm ok allora dovrò usare per forza lo switch, dato che non posso usare il c++ :-)

    cmq ora ho un problema, prima lo switch mi funzionava e non mi dava errori dato che avevo ridotto il problema nel senso che stavo considerando i singoli caratteri uno per volta.
    Ora però se prendo in considerazione la stringa intera ho dei problemi e non so come gestire lo switch...
    nel senso che non so quale condizione mettere nel while per tenere in " vita " lo switch...

    se faccio così:

    gets(stringa);



    for ( i = 0; stringa[i] != '\0'; i++ )
    printf("\n: %c", stringa[i]);
    printf("\n");

    mi stampo i singoli caratteri, però poi non so come fare a metterci lo switch, non posso usare qualcosa tipo:

    while ( ( variabile = getchar() ) != '\0' ) dato che così non riesco di sicuro a leggere dal vettore...

    cosa posso usare ?
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  5. #5
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Non ho ben capito...comunque io farei così:
    una volta che hai il codice che ti stampa un carattere lo metterei in una finzione che prende come input il carattere e lo stampa a schermo, a quel punto apprendi la stringa, la leggi carattere per carattere e la passi alla finzione.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  6. #6
    per ora, con il codice che ho postato prima riesco a separare i vari caratteri ed a stamparli singolarmente..
    solo che ora non ho capito come fare a realizzare l'ultima cosa che hai detto :

    a quel punto apprendi la stringa, la leggi carattere per carattere e la passi alla finzione.
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  7. #7
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Io pensavo ad una cosa del genere:
    codice:
    gets(stringa); 
    for ( i = 0; stringa[i] != '\0'; i++ )
      stampa(stringa[i]);
    Dove stampa(char) è una funzione che hai scritto tu che ti stampa il carattere come lo vuoi tu.
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  8. #8
    mm interessante...ok grazie ! :-)


    se ho problemi vi faccio sapere...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  9. #9
    mm ho notato il codice che hai postato, solo hce è uguale a quello che avevo scritto io in precedenza per stampare i caratteri uno ad uno... questa parte la so fare... a me serve fare la seconda parte, cioè confrontare uno ad uno i caratteri della stringa in questo modo:

    se a = a
    allora stampa /-\
    se c = c _
    allora stampa |_

    e così via...
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  10. #10
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Ok, ma quella partra la devi implementare nella funzione stampa(char), sicuramente utilizzerei uno switch:
    codice:
     
    void stampa(char a){
     switch(a){
       case 'a':
        /*Operazione di disegno*/
        break;
       case 'b'
       ....
       ....
     }
    }
    La parte complessa sono proprio le operazioni di disegno per ogni lettera!!
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

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.