Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema di scanf
Forum - C/C++ - problema di scanf

Avatar
Valerio_Tk_89 (Normal User)
Newbie


Messaggi: 3
Iscritto: 11/11/2009

Segnala al moderatore
Postato alle 17:46
Mercoledì, 11/11/2009
Salve, sono nuovo del forum e del c++ e spero di non risultare troppo ignorante... Cercando di realizzare un programma in grado di leggere degli elementi di un'espressione matematica fin quando la funzione è formata da soli numeri tutto va bene perché faccio scanf ("%d%, &numero), ma nel caso in cui uno dei valori sia un parametro, ad esempio k, non so proprio come fare per non farlo salvare in int ma in char... Spero di essere stato in grado di esporre il problema, ringrazio sin d'ora tutti coloro che risponderanno

PM Quote
Avatar
ingMark (Ex-Member)
Pro


Messaggi: 176
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 17:56
Mercoledì, 11/11/2009
innanzitutto ciao :D

Seconda cosa:
parli di scanf nella sezione c++.
scanf appartiene al c, la prossima volta dovresti postare li ;)

Ora arriviamo al tuo problema.
Se ho ben capito non sai come distinguere un int da un char in input.
Nell'header <ctype.h> (se usi c e non c++) ci sono delle comode funzioni
isalpha(carattere) -> controlla se è un carattere alfabetico
isalphanum(carattere) -> controlla se è un carattere alfabetico o numero
isdigit(carattere) -> controlla se è un numero.

Una volta visto che tipo di dato è puoi decidere dove memorizzarlo.
Esistono anche altre funzioni di quel tipo, ma penso che quelle siano le più utili :k:

PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 17:57
Mercoledì, 11/11/2009
Innanzitutto benvenuto! Anche se ti saresti dovuto presentare nell'apposita sezione.
Comunque questo non è C++ ma C, c'è una bella differenza: quindi se vuoi usare il C++ utilizza "cin" del namespace std. Se vuoi programmare in C per usare lo "scanf" con i "char" devi usare l'apposito carattere "%c".

EDIT: Mentre scrivevo io IngMark ti ha risposto. :D

Ultima modifica effettuata da gio97 il 11/11/2009 alle 17:58
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:07
Mercoledì, 11/11/2009
quoto gio97...puoi comunque usare la funzione scanf in c++ includendo la libreria stdio.h

PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 7:07
Giovedì, 12/11/2009
Testo quotato

Postato originariamente da _mikele_:

quoto gio97...puoi comunque usare la funzione scanf in c++ includendo la libreria stdio.h



In C++ bisognerebbe includere le librerie C utilizzando il carattere 'c' + il nome della libreria senza estensione.

PM Quote
Avatar
Valerio_Tk_89 (Normal User)
Newbie


Messaggi: 3
Iscritto: 11/11/2009

Segnala al moderatore
Postato alle 12:15
Giovedì, 12/11/2009
Ciao, chiedo scusa per l'errore, come già detto sono ancora molto ignorante in materia.
Pertanto in questo messaggio mi limito a scusarmi e vado a proseguire la conversazione nella sezione giusta:). Comunque grazie delle risposte.

PM Quote