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

    [c] acquisire parola con getchar()

    devo fare una funzione che acquisisce una parola con getchar() e ne restituisca il valore.

    cosi' va bene??


    codice:
    void inserimento_stringa( char stringa)
    { printf("inserisci la stringa: ");
        char c=getchar();
        while (c != '\n')
            c=getchar();
    return(stringa)
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    No ... devi comprendere meglio cosa è una stringa.

    char stringa

    è solamente un carattere (un solo carattere)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    38
    non so se ho spiegato bene quello che ovelvo dire...

    io voglio una funzione in cui l'utente inserisca quello che vuole (magari senza spazi) e poi mi restituisca quello che mi ha scritto!
    apposta ho detto una stringa indefinitamente lunga! pero' non so se e' meglio chiedere all'utente quanto la vuole lunga e poi alloca lo spazio necessario...

    si in effetti non mi e' molto chiaro e' da un po che gli sto dietro, ma non riesco a capire come funziona questo getchar, tutti i miei compagni lo usano sempre al posto della scanf!

    grazie della risposta!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    38
    ecco definendo inquesta maniera la grandezza della stringa in cui vado a scrivere!!!
    cosa ne pensi??
    p.s non ho capito perche' ma il compilatore mi da un warning!

    codice:
        int n;
        char *b;
        
        b = (char*)calloc(n, sizeof(char)); // qui mi da il warning
    
        printf("Inserisci il numero totale degli elementi:\n");
        scanf("%d", &n);

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Prima prepari lo spazio e poi chiedi all'utente di dire quanto spazio?

    Non ti sembra assurdo fare una cosa prima e chiederla dopo?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    38
    beh si in effetti!!

    non e' che mi potresti aiutare, non so davvero come posso scrivere questa funzione!

    una funzione che mi acquisisca da tastiera un' intera linea e come valore di ritorno ha tutta la linea inserita!!

    saranno ore che sto cercando di capirla e ho trovato mille esempi tutti diversi!

    grazie mille!

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    La cosa migliore è che impari tu a scriverla. Che senso ha copiarla?

    Comincia a stabilire cosa è una stringa e come si scrive in C. Altrimenti non potrai restituirla.

    E poi ... come mai non hai trovato nulla ... cerca in questo stesso forum ...

    http://forum.html.it/forum/showthread/t-393360.html
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Se proprio non vuoi utilizzare delle stringhe puoi utilizzare un approccio ricorsivo..

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    38
    cioe' in che modo??

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    I passaggi da fare sono i seguenti:
    -Ti crei una funzione che non restituiscer alcun valore chiamata Stampa;
    -Questa deve prevedere un argomento...in questo caso l'argomento è un carattere di tipo char.
    -All'interno della funzione intercetti il case baso mediante un if...ovvero..quand'è che la funzione non deve più ripetersi?Risposta:Quando il tasto premuto corrisponde al codice ascii dell'invio.
    -Stampi c
    carichi in c l'altro carattere attraverso la funzione getchar()
    Richiami la funzione Stampa all'interno della stessa funzione...questo è l'approccio ricorsivo che ti dicevo...ossia la funzione richiama se stessa fino a quando il carattere c non contiene il codice ascii dell'invio.
    Non ti resta altro che invocare nel main questa funzione e compilare e mandare in esecuzion.

    Questi sono i passaggi che devi fare,se non sei in grado di farli ti consiglio di vederti una buona guida su come si programma in C/C++..se poi vuoi il codice bello pronto allora chiedi pure. . ma il mio consiglio resta quello di provare da solo

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.