Oppure

Loading
24/10/13 13:01
qwertyroby123
devo ricevere in input 5 valori che possono essere sia una lettera che un numero (quindi li ho dichiarati in char ), una volta presi in input se si tratta di numeri li vorrei convertire in integer per farli sommare altrimenti in base ad ogni lettera la variabbile dovrebbe prendere un determinato valore numerico sempre integer come si fa a far controllare che una variabbile sia numerica piuttosto che alfabetica automaticamente al c++ ?
aaa
24/10/13 13:08
nessuno
"Automaticamente" il linguaggio non fa nulla. Ovviamente devi scrivere del codice.

In un ciclo for prelevi ogni carattere e lo controlli con la funzione

isdigit

cplusplus.com/reference/cctype/isdigit/
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
24/10/13 13:20
qwertyroby123
ora ho un altro problema capisce che è un numero ma quando lo converto in numero non mi da il numero che gli ho inserito io ad esempio gli do in input 1 lui mi restituisce 49

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
char c1 ;
int n1;
cin>>c1 ;
if (isdigit(c1)){
n1=c1;

cout<<n1<<endl;}
else
cout<<"no numero"<<endl;

system("PAUSE";);
return EXIT_SUCCESS;
aaa
24/10/13 14:05
nessuno
Tu sai cosa è la tabella ASCII?

Il carattere inserito è codificato ASCII quindi il codice 49 è per il carattere '1'

Quindi dovrai scrivere

n1=c1-'0';
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.