Search This Blog

Saturday, 14 October 2017

Program to read data from file and replace all vowels with white spaces : C Program

/* WAP to read data from file and replace all vowels with white spaces */

#include<stdio.h>
#include<conio.h>

void main()
{
 FILE *fp;
 char ch,file[50];
 int i=0;
 clrscr();

 fp=fopen("ajay.txt","r");
 if(fp==NULL)
 {
  printf("Error while opening file\n Exiting in 3 seconds");
  delay(3000);
  exit(0);
 }
 else
 {
  printf("\n *********** File data ************\n");
  while(1)
  {
   ch=getc(fp);
   printf("%c",ch);
   if(ch==EOF)
   {
    file[i]='\0';
    break;
   }
   else
   {
    if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U')
    {
     file[i]=' ';
    }
    else
    {
     file[i]=ch;
    }
   }
   i=i+1;
  }
 }
 fclose(fp);

 fp=fopen("ajay.txt","w");
 fprintf(fp,"%s",file);
 fclose(fp);

 printf("\n******** Output file ***********\n");
 fp=fopen("ajay.txt","r");
 while(1)
 {
  ch=getc(fp);
  if(ch==EOF)
  {
   break;
  }
  else
  {
   printf("%c",ch);
  }
 }
 fclose(fp);
 getch();
}

IMP :
  First create simple text file in Turbo C's "Bin" folder using notepad. Write something in it.
Here I created "ajay.txt".
Its important because turbo c's compiler access file by default from "Bin".

Explaination:
  In this program we first read data from file "ajay.txt" and store it in string named "file".
while storing file data to string we also check for vowels, and we stores that vowel as a white space(' ').

then we used fprintf() to store output string to file directly.(we can store that string to file with one by one character using getc() and putc(), but we have predefined function for that so we used fprintf(), which is efficient and easy).

And finally we displayed file content on console. :)

If you have different and efficient approach to this program you can mail it to me from below contact form. Your program will be published here.

Tuesday, 10 October 2017

Inter conversion of decimal,binary,hexadecimal : C Program

/* Inter conversion of decimal,binary,hexadecimal */
/* Use "Turbo c" compiler (which comes with dosbox) to execute, other compiler may not have conio.h, math.h, delay() inbuilt */

#include<stdio.h>
#include<conio.h>
#include<math.h>

void Decimal2Binary();
void Decimal2Hexa();
void Binary2Decimal();
void Binary2Hexa();
void Hexa2Decimal();
void Hexa2Binary();

void main()
{
 int choice;
 clrscr();
 printf("\n 1. Decimal to Binary \n 2. Decimal to Hexadecimal");
 printf("\n 3. Binary to Decimal \n 4. Binary to Hexadecimal");
 printf("\n 5. Hexadecimal to Decimal \n 6. Hexadecimal to Binary");
 printf("\n 7. Exit \n\nEnter Your Choice : ");
 scanf("%d",&choice);
 clrscr();

 switch(choice)
 {
  case 1 :
   Decimal2Binary();
   break;
  case 2 :
   Decimal2Hexa();
   break;
  case 3 :
   Binary2Decimal();
   break;
  case 4 :
   Binary2Hexa();
   break;
  case 5 :
   Hexa2Decimal();
   break;
  case 6 :
   Hexa2Binary();
   break;
  case 7 :
    {
     clrscr();
     printf("\t\t Exiting in 3 seconds");
     delay(3000);
     exit(0);
    }
  default :
   printf("\n Invalid Choice \n");
 }
 getch();
}

void Decimal2Binary()
{
int n,bin[100],i,j;
printf("\nEnter Decimal Number To Find It's Binary : ");
scanf("%d",&n);
printf("The Binary of %d is ",n);
for(i=0;n!=0;i++)
{
bin[i]=n%2;
n=n/2;
}
for(j=i-1;j>=0;j--)
{
printf("%d",bin[j]);
}
printf("\n");
}

void Decimal2Hexa()
{
int n,r[10],i;
printf("Enter Decimal Number to get its hexadecimal : ");
scanf("%d",&n);
for(i=0;n!=0;i++)
{
r[i]=n%16;
n=n/16;
}
i--;
for(;i>=0;i--)
{
if(r[i]==10)
printf("A");
else if(r[i]==11)
printf("B");
else if(r[i]==12)
printf("C");
else if(r[i]==13)
printf("D");
else if(r[i]==14)
printf("E");
else if(r[i]==15)
printf("F");
else
printf("%d",r[i]);
}
printf("\n");
}

void Binary2Decimal()
{
int bin,n,r,sum=0,i;
printf("Enter a Binary Number : ");
scanf("%d",&bin);
n=bin;
for(i=0;n!=0;i++)
{
r=n%10;
sum=sum+r*pow(2,i);
n=n/10;
}
printf("The equivalent number of %d is %d\n",bin,sum);
}

void Binary2Hexa()
{
 /* here we will existing code of binary to decimal
    and then decimal to hexa */
    /* Binary to Decimal */
int bin,n,rem,r[10],sum=0,i;
printf("Enter a Binary Number : ");
scanf("%d",&bin);
n=bin;
for(i=0;n!=0;i++)
{
rem=n%10;
sum=sum+rem*pow(2,i);
n=n/10;
}
     /* Decimal to Hexa */
     n=sum;
for(i=0;n!=0;i++)
{
r[i]=n%16;
n=n/16;
}
i--;
printf("\nHexadecimal Equivalent : ");
for(;i>=0;i--)
{
if(r[i]==10)
printf("A");
else if(r[i]==11)
printf("B");
else if(r[i]==12)
printf("C");
else if(r[i]==13)
printf("D");
else if(r[i]==14)
printf("E");
else if(r[i]==15)
printf("F");
else
printf("%d",r[i]);
}
printf("\n");
}

void Hexa2Binary()
{
char hexa[20],i;
printf("\nEnter a Hexadecimal No : ");
scanf("%s",&hexa);
printf("\n Equivalent Binary : ");
for(i=0;hexa[i]!='\0';i++)
{
switch(hexa[i])
{
  case '0':
   printf("0000");
   break;
  case '1':
   printf("0001");
   break;
  case '2':
   printf("0010");
   break;
  case '3':
   printf("0011");
   break;
  case '4':
   printf("0100");
   break;
  case '5':
   printf("0101");
   break;
  case '6':
   printf("0110");
   break;
  case '7':
   printf("0111");
   break;
  case '8':
   printf("1000");
   break;
  case '9':
   printf("1001");
   break;
  case 'A':
   printf("1010");
   break;
  case 'B':
   printf("1011");
   break;
  case 'C':
   printf("1100");
   break;
  case 'D':
   printf("1101");
   break;
  case 'E':
   printf("1110");
   break;
  case 'F':
   printf("1111");
   break;
}
}
}


void Hexa2Decimal()
{

char hexa[20]="";
int i=0,j=0,len=0;
long int sum=0;
clrscr();
printf("\nEnter Hexadecimal number : ");
scanf("%s",&hexa);

len=strlen(hexa);

for(i=0,j=len-1;hexa[i]!='\0';i++,j--)
{
  switch(hexa[i])
  {
   case '0' : {sum=sum+0; break;}
   case '1' : {sum=sum+(1*(pow(16,j))); break;}
   case '2' : {sum=sum+(2*(pow(16,j))); break;}
   case '3' : {sum=sum+(3*(pow(16,j))); break;}
   case '4' : {sum=sum+(4*(pow(16,j))); break;}
   case '5' : {sum=sum+(5*(pow(16,j))); break;}
   case '6' : {sum=sum+(6*(pow(16,j))); break;}
   case '7' : {sum=sum+(7*(pow(16,j))); break;}
   case '8' : {sum=sum+(8*(pow(16,j))); break;}
   case '9' : {sum=sum+(9*(pow(16,j))); break;}
   case 'A' : {sum=sum+(10*(pow(16,j))); break;}
   case 'B' : {sum=sum+(11*(pow(16,j))); break;}
   case 'C' : {sum=sum+(12*(pow(16,j))); break;}
   case 'D' : {sum=sum+(13*(pow(16,j))); break;}
   case 'E' : {sum=sum+(14*(pow(16,j))); break;}
   case 'F' : {sum=sum+(15*(pow(16,j))); break;}
   default : { printf("Error occured !!!\n Exiting in 3 sec");delay(3000);exit(0);}
  }
}
printf("\nEquivalent Decimal : %ld",sum);
}

Output screens :

Fibbonacci series : C Program

/* Fibbonacci series */

#include<stdio.h>
#include<conio.h>

void main()
{
 int len,i,a=0,b=1,c=1;
 clrscr();
 printf("Enter length for fibbo series : ");
 scanf("%d",&len);
 printf("\n1 ");
 for(i=1;i<len;i++)
 {
  printf("%d ",c);
  a=b;
  b=c;
  c=a+b;
 }
 getch();
}

Output :


Floyd's triangle : C program

/* Floyd's triangle */

#include<stdio.h>
#include<conio.h>

void main()
{
 int no,i,j,temp=1;
 clrscr();
 printf("\nEnter No : ");
 scanf("%d",&no);
 for(i=1;i<=no;i++)
 {
  for(j=1;j<=i;j++)
  {
   printf("%d ",temp);
   temp=temp+1;
  }
  printf("\n");
 }
 getch();
}

Output :

Cheking no is armstrong or not : C Program

/* cheking no is armstrong or not */

#include<stdio.h>
#include<conio.h>

void main()
{
 int no,sum=0,i,temp1,temp2;
 clrscr();
 printf("enter 3 digit positive no : ");
 scanf("%d",&no);
 temp1=no;
 temp2=no;
 while(temp2>0)
 {
  temp1=temp2%10;
  sum=sum+(temp1*temp1*temp1);
  temp2=temp2/10;
 }
 if(no==sum)
  printf("\n %d is Armstrong Number",no);
 else
  printf("\n %d is not Armstrong Number",no);
 getch();
}

Output :


Checking whether no is perfect or not : C Program

/* checking whether no is perfect or not */ 

#include<stdio.h>
#include<conio.h>

void main()
{
 int no,sum=0,i;
 clrscr();
 printf("Enter no : ");
 scanf("%d",&no);
 for(i=1;i<no;i++)
 {
  if(no%i==0)
  {
   sum=sum+i;
  }
 }
 if(sum==no)
  printf("\n %d is perfect number",no);
 else
  printf("\n %d is Not perfect number",no);
 getch();
}

Output :


Checking whether no is prime or not : C program

/* Checking whether no is prime or not */

#include<stdio.h>
#include<conio.h>

void main()
{
 int no,i,flag=0;
 clrscr();
 printf("Enter number : ");
 scanf("%d",&no);
 if(no==1)
  printf("\n 1 is not considered as prime bcoz of the defintn of prime no");
 else
 {
 for(i=2;i<no;i++)
 {
  if(no%i==0)
  {
   printf("%d,",i);
   flag=1;
  }
 }
 if(flag==0)
  printf("\n\n %d is Prime number",no);
 else
 {
  printf(" are the divisers of %d",no);
  printf("\n\n %d is Not a prime number",no);
 }
 }
 getch();
}

Output :