Jump to content


Check out our Community Blogs

Register and join over 40,000 other developers!


Recent Status Updates

View All Updates

Photo
- - - - -

Problem With Logic gates (AND) gates

help needed

This topic has been archived. This means that you cannot reply to this topic.
9 replies to this topic

#1 adamcprog15

adamcprog15

    CC Regular

  • Member
  • PipPipPip
  • 27 posts

Posted 30 November 2014 - 08:14 AM

Who can explain to me how we do this type of question which is in the attachment below.

Please i need an explanation in this question.

Thank you very much for you kind help. [ (AND ) gate shown in attachment ]

q4uestion.png

Question is :

 In Electronics and other related subjects like Boolean algebra, a logic gate is an equivalent to a switch which gives some output depending on its input. There are different types of logic gates to implement different logics, for examples AND gate, OR gate and NAND gate. The output of any gate can be displayed in what is known as a ‘Truth Table’. You are required to write a program in C to implement and display the output (Truth table) of an AND gate which is shown below:

 

 

 

N.B. Your code should include validation so that the user does enter the same pair of input again.

It should also include codes to display the output with an appropriate and elegant formatting.



#2 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 30 November 2014 - 03:11 PM

What do you have so far, or what part do you not understand?


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#3 adamcprog15

adamcprog15

    CC Regular

  • Member
  • PipPipPip
  • 27 posts

Posted 01 December 2014 - 03:19 AM

I mean how should i start this number.what chapters in c programming is it related.I have no clue where to begin.



#4 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 01 December 2014 - 05:12 AM

First, I would write a program that allows a user to enter A and B. It should make sure the entries are either 1 or 0. Then, based on the table, if both values are 1, it should return 1, otherwise 0.


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#5 adamcprog15

adamcprog15

    CC Regular

  • Member
  • PipPipPip
  • 27 posts

Posted 01 December 2014 - 07:22 AM

ok i have done it like this but its not working please check.

 

 

#include <stdio.h>
#include<string.h>
int main()
{
char ch[100];int i=0,j;
printf("Enter the String\n");
scanf("%s",ch);
 
printf("\n");
        for(j=0;j<strlen(ch);++j)
        {
            for(i=0;i<strlen(ch)-j;++i)
                printf("%c",ch[i]);
            printf("\n");
        }
        for(j=0;j<strlen(ch);++j)
        {
            for(i=0;i<=j;++i)
                printf("%c",ch[i]);
            printf("\n");
        }
    return 0;
}


#6 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 01 December 2014 - 08:02 AM

Why are you entering a single string, instead of two characters?

 

Where are you checking that the input values are a 1 or 0?

 

Where are you checking that the two input values are both 1 or not?

 

Why are you using for loops?

 

The code above has nothing to do with what I advised you to do.


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#7 adamcprog15

adamcprog15

    CC Regular

  • Member
  • PipPipPip
  • 27 posts

Posted 02 December 2014 - 08:54 AM

So is this one right

 

#include<stdio.h>
 
#include<conio.h>
 
void main()
 
{
 
            int i,j,n,a[50],b[50],s[50],ch=0;
 
            clrscr();
 
            loop1:
 
                        printf("\n*************************************\n");
 
                        printf("\n\t1.} INSERTING RECORDS.\n");
 
                        printf("\t2.} IMPLEMENT GATE < AND >.\n");
 
                        printf("\t3.} IMPLEMENT GATE < OR >.\n");
 
                        printf("\t4.} IMPLEMENT GATE < NOT >.\n");
 
                        printf("\t5.} IMPLEMENT GATE < NAND >.\n");
 
                        printf("\t6.} IMPLEMENT GATE < NOR >.\n");
 
                        printf("\t7.} IMPLEMENT GATE < XOR >.\n");
 
                        printf("\t8.} EXIT FROM THE PROGRAM.\n");
 
                        printf("\n*************************************\n");
 
                        printf("\n\nPLEASE ENTER YOUR CHOICE:");
 
                        scanf("%d",&ch);
 
 
 
                        switch(ch)
 
                        {
 
                                    case 1:
 
                                                            clrscr();
 
                                                            printf("Enter N value:");
 
                                                            scanf("%d",&n);
 
 
 
                                                            printf("\n value of n=%d",n);
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                               printf("\nENTER VALUE OF A[%d]=",i);
 
                                                               scanf("%d",&a[i]);
 
                                                            }
 
 
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                               printf("\nENTER VALUE OF B[%d]=",i);
 
                                                               scanf("%d",&b[i]);
 
                                                            }
 
 
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(a[i]>1 || b[i]>1)
 
                                                                        {
 
                                                                                    clrscr();
 
                                                                                    printf("\n ENTER DATA BETWEEN 0 AND 1");
 
                                                                                    goto loop1;
 
                                                                        }
 
                                                            }
 
 
 
                                                            clrscr();
 
                                                            printf("\n*******************************\n");
 
                                                            printf("\n VALUE OF A \t VALUE OF B\n");
 
                                                            printf("\n*******************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                        printf("\n\t%d\t\t%d",a[i],b[i]);
 
                                                            printf("\n\n*****************************\n\n");
 
 
 
                                                            goto loop1;
 
 
 
                                    case 2:
 
                                                            clrscr();
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(a[i]==1 && b[i]==1)
 
                                                                                    s[i]=1;
 
                                                                         else
 
                                                                                    s[i]=0;
 
                                                             }
 
                                                             printf("\n******************************\n");
 
                                                             printf("\n\tA\tB\tAND\n");
 
                                                             printf("\n******************************\n");
 
                                                             for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                             printf("\n\n******************************\n");
 
                                                             goto loop1;
 
 
 
                                    case 3:
 
                                                            clrscr();
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(a[i]==0 && b[i]==0)
 
                                                                                    s[i]=0;
 
                                                                         else
 
                                                                                    s[i]=1;
 
                                                             }
 
                                                             printf("\n******************************\n");
 
                                                             printf("\n\tA\tB\tOR\n");
 
                                                             printf("\n******************************\n");
 
                                                             for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                             printf("\n\n******************************\n\n");
 
                                                             goto loop1;
 
 
 
                                    case 4:
 
                                                            clrscr();
 
                                                            printf("\n**********************************************\n");
 
                                                            printf("\n BEFORE OPERATING THE 'NOT' VALUE OF A IS :\n");
 
                                                            printf("\n**********************************************\n\n");
 
                                                            printf("\tA\n");
 
                                                            printf("\n**********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d",a[i]);
 
                                                            printf("\n\n**********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(a[i]==1)
 
                                                                                    s[i]=0;
 
                                                                        else
 
                                                                                    s[i]=1;
 
                                                             }
 
 
 
                                                             printf("\n AFTER OPERATING THE NOT VALUE OF A IS :\n");
 
                                                             printf("\n*********************************************\n");
 
                                                             printf("\n\tNOT A\n");
 
                                                             printf("\n*********************************************\n");
 
                                                             for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d",s[i]);
 
                                                             printf("\n\n*********************************************\n\n");
 
                                                             goto loop1;
 
 
 
                                    case 5:
 
                                                            clrscr();
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(a[i]==1 && b[i]==1)
 
                                                                                    s[i]=1;
 
                                                                         else
 
                                                                                    s[i]=0;
 
                                                             }
 
                                                            printf("\n***********************************************\n");
 
                                                            printf("\nBEFORE OPERATING THE 'NOT AND'VALUE OF \n");
 
                                                            printf("\n***********************************************\n");
 
                                                            printf("\n\tA\tB\tS\n");
 
                                                            printf("\n***********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                            printf("\n\n***********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(s[i]==1)
 
                                                                                    s[i]=0;
 
                                                                        else
 
                                                                                    s[i]=1;
 
                                                             }
 
 
 
                                                             printf("\n AFTER OPERATING THE 'NOT AND' VALUE OF \n");
 
                                                             printf("\n**********************************************\n");
 
                                                             printf("\n\tA\tB\tNAND\n");
 
                                                             printf("\n**********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                            printf("\n\n***********************************************\n\n");
 
                                                             goto loop1;
 
 
 
                                    case 6:
 
                                                            clrscr();
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(a[i]==1 || b[i]==1)
 
                                                                                    s[i]=1;
 
                                                                         else
 
                                                                                    s[i]=0;
 
                                                             }
 
 
 
                                                            printf("\n***********************************************\n");
 
                                                            printf("\nBEFORE OPERATING THE 'NOT OR'VALUE OF \n");
 
                                                            printf("\n***********************************************\n");
 
                                                            printf("\n\tA\tB\tS\n");
 
                                                            printf("\n***********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                            printf("\n\n***********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if(s[i]==1)
 
                                                                                    s[i]=0;
 
                                                                        else
 
                                                                                    s[i]=1;
 
                                                             }
 
 
 
                                                             printf("\n AFTER OPERATING THE 'NOT OR' VALUE OF \n");
 
                                                             printf("\n**********************************************\n");
 
                                                             printf("\n\tA\tB\tNOR\n");
 
                                                             printf("\n**********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                            printf("\n\n***********************************************\n\n");
 
                                                             goto loop1;
 
 
 
                                    case 7:
 
 
 
                                                            clrscr();
 
                                                            printf("\n***********************************************\n");
 
                                                            printf("\nBEFORE OPERATING THE 'XOR'VALUE OF \n");
 
                                                            printf("\n***********************************************\n");
 
                                                            printf("\n\tA\tB\n");
 
                                                            printf("\n***********************************************\n\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d",a[i],b[i],s[i]);
 
                                                            printf("\n\n***********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                            {
 
                                                                        if((a[i]==0 && b[i]==0) || (a[i]==1 && b[i]==1))
 
                                                                                    s[i]=0;
 
                                                                        else
 
                                                                                    s[i]=1;
 
                                                             }
 
 
 
                                                             printf("\n AFTER OPERATING THE 'XOR' VALUE OF \n");
 
                                                             printf("\n**********************************************\n");
 
                                                             printf("\n\tA\tB\tXOR\n");
 
                                                             printf("\n**********************************************\n");
 
                                                            for(i=1;i<=n;i++)
 
                                                                         printf("\n\t%d\t%d\t%d",a[i],b[i],s[i]);
 
                                                            printf("\n\n***********************************************\n\n");
 
                                                             goto loop1;
 
 
 
                                    case 8:
 
                                                             exit();
 
 
 
                        }
 
            getch();
 
}

But the problem is coming with the exit one where i am compiling its says fail

So please help urgently



#8 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 02 December 2014 - 09:28 AM

What is the error message when you compile?


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#9 BlackRabbit

BlackRabbit

    CodeCall Legend

  • Expert Member
  • PipPipPipPipPipPipPipPip
  • 3871 posts

Posted 02 December 2014 - 09:53 AM

Yes, error message please.

 

Still, why do you use goto and not while, or do while?

 

your switch has not a break.



#10 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts

Posted 02 December 2014 - 11:03 AM

I would STRONGLY advise putting some of that into functions, as well.


Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/





Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download