Saturday, October 20, 2018

C program for string operations- copy, concatenate, check substring, equal, reverse and length

/*
Write C++ program for string operations- copy, concatenate, check substring, equal, reverse and length
*/
 
#include<stdio.h>              
#include<stdlib.h>             
int main()
{
  int n,i,j,flag,ch;
  char str1[50],str2[50],str3[50],str4[50];
 
 
  printf("Enter string 1: ");
  scanf("%s",str1);
  printf("Enter string 2: ");
  scanf("%s",str2);
 
 
  printf("\nstring 1 is: %s",str1);
  printf("\nstring 2 is: %s",str2);
 
  while(1)
  {
   printf("\nEnter choice\n");
   printf("1.copy\n2.concatenate\n3.check substring\n4.equal\n5.reverse\n6.length of string\n7.Exit\n");
   scanf("%d",&ch);
  
   switch(ch)
   {
     case 1:
                printf("this is copy case");   
                i=0;
                while(str1[i]!='\0')
                {
                 str3[i]=str1[i];
                 i++;
                 }
                 str3[i]='\0';
                 printf("\nafter copying string3 is : %s",str3);
                 break;
     case 2:
                 printf("\nthis is concanetation");
                 i=0;j=0;
                 while(str3[i]!='\0')
                 i++;
                 while(str2[j]!='\0')
                 {
                  str3[i]=str2[j];
                  i++;j++;
                 }
                str3[i]='\0';
                printf("\nafter concanating string1 & string2");
                printf("\nstring 3 is: %s",str3);
                break;  
     case 3:
                 printf("\nthis is substring");
                 i=0;j=0;flag=0;
                 while(str1[i]!='\0')
                 {
                  if(str1[i]==str2[j])
                 {
                  j++;
                  if(str2[j]=='\0')
                  flag=1;
                 }
                  i++;
                 }
                if(flag==1)
                printf("\nstring2 is found in string1!");
                else
                printf("\nstring2 is not found in string1!");
                break;
     case 4:
                printf("\nthis is equal case");
                i=0;flag=0;
                while(str1[i]!='\0')
                {
                 if(str1[i]!=str2[i])
                {
                 flag=1;
                 break;
                 }
                 i++;
                 }
                 if(flag==1)
                 printf("\nstring1 & string2 are not equal");
                 else
                 printf("\nstring1 & string2 are equal");
                 break;
               
     case 5:
                 printf("\nthis is reverse case");
                 i=0;j=0;
                 while(str1[i]!='\0')
                 i++;
                 i=i-1;
                 while(i>=0)
                 {
                   str4[j]=str1[i];
                   i--;
                   j++;
                 }
                str4[j]='\0';
                printf("\nAfter reversing string1 into string4");
                printf("\nstring4: %s",str4);
                break;
    
     case 6:
                printf("\nthis is length case");
                i=0;
                while(str1[i]!='\0')
                i++;
                printf("\nthe length of string1=%d",i);
                j=0;
                while(str2[j]!='\0')
                j++;
                printf("\nthe length of string2=%d",j);
                break;
     case 7:
                exit(0);
               
     default:
                printf("INVALID CHOICE");

               
     }
  }
  return 0;
 
}

No comments:

Post a Comment