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

Explain member functions of a class, Member Functions of a Class A memb...

Member Functions of a Class A member function of the class is similar as an ordinary function. Its declaration in a class template must explain its return value as well as the

Fraction coding, Create a program that asks the user for two integers which...

Create a program that asks the user for two integers which represent the numerator and denominator parts of fraction. Print out a simplification of the fraction. Example: Enter th

Describe what are dynamic pointers, Question: (a) Describe what are dy...

Question: (a) Describe what are dynamic pointers. Show their memory representations diagrammatically. (b) Write short notes about pointers in arrays, paying attention on

What are the different types of endless loops, What are the different types...

What are the different types of endless loops? An endless loop can be of two types: i.) A loop that is intentionally designed to go round and round until the condition withi

Word counting, Task Your task is to write a program, words, that reports i...

Task Your task is to write a program, words, that reports information about the number of words read from its standard input. For example, if the file qbf.txtcontains the text th

I want rss feed from emails, Project Description: I am trading binary op...

Project Description: I am trading binary options and need my signals that are sent to me via email to be sent to my followers via an RSS feed I have no idea how rss feeds imp

Define the stream oriented data files, Define the Stream Oriented Data File...

Define the Stream Oriented Data Files? There are two dissimilar types of data files called stream-oriented (or standard) data files and system-oriented (or low-level) data file

What is threaded binary tree, Threaded binary tree: Consider the linked il...

Threaded binary tree: Consider the linked illustration of a binary tree 'T.  Approximately half of the entries is the pointer fields 'LEFT' and 'RIGHT' will have null elements. Th

Explain type casting, Type Casting Implicit type conversions, as allowe...

Type Casting Implicit type conversions, as allowed by the language, can lead to errors creeping in the program if care is not taken. Thus, explicit type conversions may be used

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