Tuesday 24 June 2014

C++ program to convert string to integer

Here I given four four programs to convert string to integer. First method simply use atoi function to convert string to integer, second method does the same without using atoi function and method third and fourth convert string to integer using function and recursion.


Method 1 : C++ program to convert string to integer using atoi() function
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
    char str[100];
    int n;
    cout<<"Enter string : ";
    cin>>str;
    n=atoi(str);
    cout<<"After converting to integer : "<<n;
    return 0;
}



Method 2 : C++ program to convert string to integer without using atoi() function
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
    char str[10];
    int n=0,temp=1,lenght;
    cout<<"Enter string ";
    cin>>str;
    lenght=strlen(str);
    for(int i=lenght-1;i>=0;i--)
    {
        n+=(str[i]-48)*temp;
        temp*=10;
    }
    cout<<"After converting to integer "<<n;
    return 0;
}



Method 3 : C++ program to convert string to integer using function
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int convert(char *str)
{
    int n=0,temp=1;
    for(int i=strlen(str)-1;i>=0;i--)
    {
        n+=(str[i]-48)*temp;
        temp*=10;
    }
    return n;
}
int main()
{
    char str[10];
    cout<<"Enter string ";
    cin>>str;
    cout<<"After converting to integer "<<convert(str);
    return 0;
}




Method 4 : C++ program to convert string to integer using recursion
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int convert(char *str,int n,int i)
{
    if(str[i]=='\0')
        return n;
    convert(str,n*10+(str[i]-48),i+1);
}
int main()
{
    char str[10];
    int num;
    cout<<"Enter string ";
    cin>>str;
    num=convert(str,0,0);
    cout<<"After converting to integer "<<num;
    return 0;
}




No comments:

Post a Comment