C program for string operations, C/C++ Programming

Assignment Help:

Aim: To implement a program for following string operations:

  • Length of String.
  • String Concatenation.
  • Substring (provide start index and length)
  • Find character at given index.
  • Find index of first occurrence of a given character.
  • Reverse string.

 

Code:                      

class String

{

            char str[50];

            public:

            String();

            void getdata();

            int length1();

            void concat(String s);

            String substring(int ind, int len);

            char charAt(int ind);

            int indexOf(char ch);

            String reverse();

            void display();

};

 

void String::display()

{

            cout<

}

 

void String::getdata()

{

            gets(str);

}

 

String::String()

{

            strcpy(str,"");

}

 

int String::length1()

{

            int l;

            l=strlen(str);

            return (l);

}

 

void String::concat(String s)

{

            strcat(str,s.str);

}

 

String String::substring(int ind, int len)

{

            int l,x,m;

            char su[50];

            String sub;

            strcpy(sub.str,"");

            for(x=ind,m=0;x<=len+1;x++,m++)

            {

                        su[m]=str[x];

            }

            su[m]='\0';

            strcpy(sub.str,su);

            return (sub);

 

}

 

char String::charAt(int ind)

{

            char c=' ';

            int l=strlen(str);

            if(ind>l)

                        cout<<"Position out of Bounds";

            else

                        c=str[ind];

            return (c);

}

 

int String::indexOf(char ch)

{

            int x=1;

            while(str[x]!=ch && str[x]!='\0')

                        x++;

            if(str[x]!=ch)

                        return (-1);

            else

                        return (x);

}

 

String String::reverse()

{

            String s;

            strcpy(s.str,str);

            strrev(s.str);

            return (s);

}

 

void main()

{

            clrscr();

            String s1,s2,s3,s4;

            cout<<"Enter string 1:";

            s1.getdata();

            cout<<"\n\nEnter string 2:";

            s2.getdata();

            char ch='o';

            int l=s1.length1();

            cout<<"\n\nLength of string: '";

            s1.display();

            cout<<" 'is "<

            s1.concat(s2);

            cout<<"\n\nAfter concatenation:";

            s1.display();

            int ind=2, len=4;

            cout<<"\n\nStart Index="<

            s3.display();

            char c=s1.charAt(ind+4);

            cout<<"\n\nCharacter at Index: "<

            int i=s1.indexOf(ch);

            cout<<"\n\nIndex of '"<

            s4=s1.reverse();

            cout<<"\n\nReverse of \n\t'";

            s1.display();

            cout<<"'\n\t\tis \n\t";

            s4.display();

            getch();

 

}

Output:

Enter string 1: Ankit Goyal is

 

Enter string 2: a student of VESIT.

 

Length of string: 'Ankit Goyal is ' is 14

 

After concatenation: Ankit Goyal is a student of VESIT.

 

Start Index=2

Length of Substring=4

Substring: kit

 

Character at Index: 6 is 'G'

 

Index of 'o' is: 7

 

Reverse of

        'Ankit Goyal is a student of VESIT.'

                is

        .TISEV fo tneduts a si layoG tiknA


Related Discussions:- C program for string operations

Object Oriented Programming, Ask queCreate an object oriented application w...

Ask queCreate an object oriented application with C# that computes the area of a rectangle, and the area and the volume of a cuboid. Based on the inheritance concept, create a bas

Why should i employ new instead of truthful old malloc()?, Why should I emp...

Why should I employ new instead of truthful old malloc()? A: Constructors/destructors, type safety, overridability. Constructors/destructors: unlike malloc(sizeof(Fred)), new

Command-line arguments, Command-line arguments are passed into programs usi...

Command-line arguments are passed into programs using the arguments of main(). Here's a quick example, for a program called by typing "progname file.txt 1 2.7": #include #incl

Explain nested classes, Nested Classes Many a times, it becomes essenti...

Nested Classes Many a times, it becomes essential to have a class contain properties of two other classes. One way is to explain a class within another - that is a class with m

Areaundercurve, Write a program to find the area under the curve y = f(x) b...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve betw .

How are postfix and prefix versions of operator++ , How are postfix and pre...

How are postfix and prefix versions of operator++ () differentiated? A: The postfix version of operator++ () contain a dummy parameter of type int. The prefix version does not c

What happens if you make call "delete this;"?, The code contains two built-...

The code contains two built-in pitfalls. First one, if it executes in a member function for an static, extern or automatic object, the program will possibly crash as soon as the de

Queue, program to enter 5 values in queue and remove value one by one from ...

program to enter 5 values in queue and remove value one by one from queue.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd