View Single Post
Old 10-11-2010, 17:15   #30
zanardi84
Senior Member
 
L'Avatar di zanardi84
 
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5749
Scritta!

Che ve ne pare?

Codice:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

int controllo_stringa (string stringa);

int converti_stringa (string stringa);

int main(int argc, char *argv[])
{
  string input;
  int esito;
  int dato;  
  cout << "Digitare un numero" <<endl;
  cin >> input;
  esito = controllo_stringa(input);
  while (esito ==1)
  {
        cout << "Formato non accettato, ripetere l'inserimento"<<endl;
        cin >> input;
        esito = controllo_stringa(input);
        
  }
  
  dato = converti_stringa(input);
  
  cout << input << " per 10 = " <<dato*10<<endl;
  
  
 
      
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

int controllo_stringa (string stringa)
{
    int i;
    int dimensione;
       
    dimensione = stringa.length();
    
    if (dimensione == 0)
    {
       return 1;
    }
    
    //un solo carattere
    else if (dimensione == 1) 
    {
         if(isdigit(stringa[0]))
         {
             return 0;
         }
         else
         {
             return 1;
         }
         
    }
    //almeno due caratteri
    else if (dimensione > 1)
    {
         //scansione stringa
         for (i = 0; i < dimensione; i++)
         {
                  
         if (!isdigit(stringa[i]) || stringa[0] == '0')
         {
                                  return 1;
                                  break;
         }
    }
      
}
    return 0;
}
                             
                                 
int converti_stringa (string stringa)
{
    char *vettore;
    int lunghezza;
    int numero;
    lunghezza = stringa.length();
    
    vettore = new char [lunghezza+1];  
    
    strcpy (vettore, stringa.c_str());
    
    numero = atoi (vettore);
    
    return numero;
}
Poi la inserirò in un contesto diverso e potrò espanderla nel caso in cui mi serviranno i numeri negativi!
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti.

Ultima modifica di zanardi84 : 11-11-2010 alle 18:03.
zanardi84 è offline   Rispondi citando il messaggio o parte di esso