hey

i have a project on logic circuit simulation.i don't know how to include basic gate images in my code,so that it is displayed with the chosen gates output.i have jgrasp c_compiler.so plz help me out.

#include<stdio.h>

int And(int a, int b);
int Or(int a, int b);
int Not(int a);
int Nand(int ,int );
int Xor(int ,int );
int Nor(int ,int );

 main()
 { 
  int ch,k,l,m,a,b,p,n,r;
    do
    {
    printf("1.And,2.Or,3.Not,4.Xor,5.Nand,6.Nor,7.Exit\n");
    scanf("%d",&ch);
    switch(ch)
   {
      case 1:printf("Enter value of a&b");
             scanf("%d %d",&a,&b);
             k=And(a,b);
             printf("%d\n",k);
             break;
      case 2:printf("Enter value of a&b");
             scanf("%d %d",&a,&b);
             l=Or(a,b);
             printf("%d\n",l);
             break;
      case 3:printf("Enter value of a&b");
             scanf("%d ",&a); 
             m=Not(a);
             printf("%d\n",m);
             break;
      case 4:printf("Enter value of a&b");
             scanf("%d %d",&a,&b);
             n=Xor(a,b);
             printf("%d\n",n);
             break;
      case 5:printf("Enter value of a&b");
             scanf("%d %d",&a,&b);
             p=Nand(a,b);
             printf("%d\n",p);
             break;

      case 6:printf("Enter value of a&b");
               scanf("%d %d",&a,&b);
                 r=Nor(a,b);
                 printf("%d\n",r);
             break;

       case 7:printf("exit");
               break;
       }        
 }
 while(ch!=7);
} 

int And(int a, int b)
{
 int output;
 if(a==0 && b==0)
 output=0;
 if(a==1 && b==0)
 output=0;
 if(a==0 && b==1)
 output=0;
 if(a==1 && b==1)
 output=1;
 return (output);
}
int Or(int a, int b)
{
 FILE *f;
 f=fopen("agh.txt","w");
 fputc('l',f);
 fclose(f);

 int output;
 if(a==0 && b==0)
  output=0;
  if(a==1 && b==0)
  output=1;
 if(a==0 && b==1)
  output=1;
 if(a==1 && b==1)
  output=1;
 return (output);
 fclose(f); 
}

int Not(int a)
{
int output;
 if(a==0 )
  output=1;
 if(a==1 )
  output=0;
  return (output);
}

int Xor(int a,int b)
 {
  int output;
  if(a==0&&b==0)
  output=0;
  if(a==1&&b==1)
  output=0;
  if(a==1&&b==0)
  output=1;
  if(a==0&&b==1)
  output=1;
  return(output);
 }

 int Nand(int a,int b)
  {
   int output;
   if(a==0&&b==1)
   output=1;
   if(a==0&&b==0)
   output=1;
   if(a==1&&b==1)
   output=0;
   if(a==1&&b==0)
   output=1;
   return(output);
}   
  int Nor(int a,int b)
    {
       int output;
        if(a==0&&b==1)
        output=0;
        if(a==1&&b==1)
        output=0;
        if(a==1&&b==0)
        output=0;
        if(a==0&&b==0)
        output=1;
        return (output);
      } 

Learn about C's bit-wise (boolean) logic. Example, for Xor, in C this can be expressed as:

int Xor(int a,int b)
{
    return a^b;
}

And Not(int a) like this:

int Not(int a)
{
    return !a;
}

I leave the rest to you for exercise... :-)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.