Oppure

Loading
02/04/09 17:21
frankus89
la prima speigazione su questo forum mi è serivita per capire finalemte cosa sono le liste, e come usarle al meglio..
adesso ho un altro "problema":

la funzione atoi ha come prototipo
int atoi ( const char * str );


ma alla fine del mio programma mi esce sempre uno 0 che dovrebbe significare che la conversione non è valida...

eppure non mi sembra di aver fatto errori;
comunque:

#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    char stringa [10];
    int intero;
cout << "stringa: ";
gets(stringa);
intero = atoi (stringa);
cout << intero;
return (0);
}



salutii
aaa
02/04/09 19:37
theprogrammer
Non ho capito il problema ... il programma fa quello per cui e' stato scritto ...
aaa
03/04/09 17:37
frankus89
il problema è nel fatto che qualsiasi stringa non viene convertita..
ma viene ritornato solo il valore 0, presente nel main.
il programma dunque non funziona come dovrebbe.
aaa
04/04/09 14:33
Il_maca
Postato originariamente da frankus89:

il problema è nel fatto che qualsiasi stringa non viene convertita..
ma viene ritornato solo il valore 0, presente nel main.
il programma dunque non funziona come dovrebbe.


esce 0 perchè la stringa non può essere convertita! quando compili il programma, all'aquisizione della stringa da convertire, inserisci solo caratteri numerici, vero?? altrimenti la funzione restituisce 0!
io l'ho appena compilato col gcc!! funziona molto bene!! quindi il problema è all'acquisizione!! dovresti mettere solo caratteri numerici!
Ultima modifica effettuata da Il_maca 04/04/09 14:36
aaa
04/04/09 22:23
theprogrammer
Postato originariamente da frankus89:

il problema è nel fatto che qualsiasi stringa non viene convertita..
ma viene ritornato solo il valore 0, presente nel main.
il programma dunque non funziona come dovrebbe.


Il programma funziona come dovrebbe.

Molto probabilmente sei tu (senza polemica) a non aver ben chiaro cosa dovrebbe fare quel programma.

Che intendi per "convertire la stringa"?

Se a quel programma passi una stringa tipo "12345" la converte correttamente nel corrispondente valore numerico intero 12345 ... e quindi fa tutto quello per cui e' stato scritto ...
aaa
05/04/09 14:54
frankus89
ah ecco!!
grazie per il chiarimento!!!
io pensavo che la funzione convertisse qualsiasi stringa, non solo numerica!!!
quindi sia la atoi che la atof convertono solo stringhe di numeri in numeri!!
Evidentemente non avevo capito bene..

e se volessi dunque convertire una stringa qualsiasi in un numero int o float, conoscete l'esistenza di qualche funzione oppure occorre implementarne una??
aaa
05/04/09 16:15
Il_maca
Postato originariamente da frankus89:
e se volessi dunque convertire una stringa qualsiasi in un numero int o float, conoscete l'esistenza di qualche funzione oppure occorre implementarne una??


scusa non ho capito!
ad esempio se ho una stringa:
ciao!
cosa dovrebbe darmi la funzione??il codice ascii di ogni singolo carattere?
aaa
05/04/09 16:45
frankus89
esatto!! è proprio questo che vorrei io!!
aaa