C: Logical Operators - You Are Cool....Not(!) (Page 3 of 4 )
Let's say we wanted to let the user know that they entered the right numbers, but did not enter them in the proper sequence. We could do so by using the NOT(!) in our code, like so:
#include <stdio.h>
int main()
{
char c,d;
char numone='1';
char numtwo='3';
printf("I am thinking of a number between 1-10.n");
printf("Please enter a number: ");
c=getchar();
fflush(stdin);
printf("nnI am thinking of another number between 1-10.n");
printf("Please enter a second number: ");
d=getchar();
if(c==numone && d==numtwo)
{
printf("nnYou guessed both numbers in the proper sequence!n");
printf("nYou're a genius! An ugly genius, but a genius nonetheless!");
}
else if(c==numtwo && d==numone)
{
printf("nnYou guessed the right numbers but in the wrong sequence!");
printf("nWhat a boob.");
}
else if(c==numone && ! (d==numtwo))
{
printf("nnYou guessed the first number right.nn");
}
else if(! (c==numone) && d==numtwo)
{
printf("nnYou guessed the second number right.nn");
}
else
{
printf("nnYou have failed to guess the numbers in the proper sequencenn");
printf("Dumb and ugly...what a shame!n");
}
return(0);
}
This program starts in the same manner as our previous program, creating the same four variables, which serve the same function. In fact, most of this program functions in the same way. Where it differs is in the If statement.
Our first part of the If statement says if "c" is equal to numone AND "d" is equal to numtwo, print out:
You guessed both numbers in the proper sequence!
You're a genius! An ugly genius, but a genius nonetheless!
If that criteria is not met, it moves on to an Else If, which states: if "c" is equal to numtwo AND "d" is equal to numone, (i.e.; if the numbers are right but out of sequence) print this out:
You guessed the right numbers but in the wrong sequence!
What a boob.
Again, if that criteria is not met it moves on to the next Else If, which says: If "c" is equal to numone, AND "d" is NOT equal to numtwo, print this:
You guessed the first number right.
If the criteria is not met, it moves onto the next Else If, which states: If "c" is NOT equal to numone, AND "d" is equal to numbtwo, print this text:
You guessed the second number right.
And lastly, if none of the criteria is met, it prints out:
You have failed to guess the numbers in the proper sequence
Dumb and ugly...what a shame!
Next: Logical OR(||) >>
More BrainDump Articles
More By James Payne