Go Down

Topic: help for the program for water tank (Read 4 times) previous topic - next topic

mkbutan


Code: [Select]
if(a=0&&b=0&&c=0&&d=0)
I know it is in a comment, and you didn't post it between CODE TAGS, but those are assignments, and will ALWAYS be false.

Good luck with "printf"


thanks
sir but I did not understand what are you trying to say pl explain
"THE LIFE IS VERY SMALL TO LEARN ELECTRONICS"
                           ??????°?i??
                           AND
                           yes
                           PROGRAMMING

AWOL

Quote
those are assignments

..using "=", not comparisons which would use "=="
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

mkbutan

#32
Jan 07, 2013, 08:19 pm Last Edit: Jan 07, 2013, 08:26 pm by mkbutan Reason: 1
i have put one FUNCTION (Display) in the code's
but still not functional  

is there any way by which we can convert BCD to DEC code's and can be printed out as output

I know its wrong please help me to make it right
thanks
[ the CODE's is for 'C' not for 'ARDUINO' ]

Code: [Select]

#include<stdio.h>
#include<conio.h>
void display(int z) // function declared Display(int z)
int main(void)
{
    int a,b,c,d;
    int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15;
    x0=00;
    x1=10;
    x2=20;
    x3=25;
    x4=30;
    x5=40;
    x6=50;
    x7=60;
    x8=70;
    x9=75;
    x10=80;
    x11=90;
    x12=100;
    x13=0;
    x14=0;
    x15=0;
    printf("Enter the Val of A,B,C,D\n");
    scanf("%d,%d,%d,%d",&a,&b,&c,&d);
    printf("Val of a,b,c,d,%d,%d,%d,%d",a,b,c,d );
    display(int z)
    getch();
    }


{

   void display(int z) //Function CALLED

{
   if(a==0&&b==0&&c==0&&d==0)
   printf("%a,%b,%c,%d is 00% EMPTY",x0);//0000=00
   }
{
   if(a==0&&b==0&&c==0&&d==1)
   printf("%a,%b,%c,%d is 10%",x1);//0001=01
   }
{
   if(a==0&&b==0&&c==1&&d==0)
   printf("%a,%b,%c,%d is 20%",x2);//0010=02
   }
{
   if(a==0&&b==0&&c==1&&d==1)
   printf("%a,%b,%c,%d is 25%",x3);//0011=03
   }
{
   if(a==0&&b==1&&c==0&&d==0)
   printf("%a,%b,%c,%d is 30%",x4);//0100=04
   }
{
   if(a==0&&b==1&&c==0&&d==1)
   printf("%a,%b,%c,%d is 40%".x5);//0101=05
   }
{
   if(a==0&&b==1&&c==1&&d==0)
   printf("%a,%b,%c,%d is 50%",x6 HALF);//0110=06
   }
{
   if(a==0&&b==1&&c==1&&d==1)
   printf("%a,%b,%c,%d is 60%",x7);//0111=07
   }
{
   if(a==1&&b==0&&c==0&&d==0)
   printf("%a,%b,%c,%d is 70%",x8);//1000=08
   }
{
   if(a==1&&b==0&&c==0&&d==1)
   printf("%a,%b,%c,%d is 75%",x9);//1001=09
   }
{
   if(a==1&&b==0&&c==1&&d==0)
   printf("%a,%b,%c,%d is 80%",x10);//1010=10
   }
{
   if(a==1&&b==0&&c==1&&d==1)
   printf("%a,%b,%c,%d is 90%",x11);//1011=11
   }
{
   if(a==1&&b==1&&c==0&&d==0)
   printf("%a,%b,%c,%d is 100% FULL",x12);//1100=12
   }
{
   if(a==1&&b==1&&c==0&&d==1)
   printf("%a,%b,%c,%d is 100% ALARM",x13);//1101=13
   }
{
   if(a==1&&b==1&&c==1&&d==0)
   printf("%a,%b,%c,%d is xXx",x14 );//1110=14
   }
{
   else(a==1&&b==1&&c==1&&d==1)
   printf("%a,%b,%c,%d is XxX",x15);//1111=15
   }

}
"THE LIFE IS VERY SMALL TO LEARN ELECTRONICS"
                           ??????°?i??
                           AND
                           yes
                           PROGRAMMING

robtillaart

Quote
int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15;


one day long ago in FORTRAN someone invented the array. In C++ it is written as

int x[16] = { 0,10,20,25,30, ....,0,0,0}

everywhere where you state x3 you should use x[3] (and that for all values of 3 ;)




The other trick to consider is the else keyword

Code: [Select]

void display(int z)
{
  if (a==0 && b==0 && c==0 && d==0)  // spaces are free
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[0]);
  else if (a==0 && b==0 && c==0 && d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[1]);
  else if (a==0 && b==0 && c==1 && d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[2]);
  else ...
//etc
}


As you want to handle all 16 possible combinations of bits you can combine the values a,b,c,d into one integer by using bit math to create an index to the array declared above.

Code: [Select]

void display(int z)
{
  int index = a*8 + b*4 + c*2 + d;
   printf("%d, %d, %d, %d is %d %%", a, b, c, d, x[index]);
}


please read the tutorial pages about arrays in C for more info.
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

AWOL

Code: [Select]
void display(int z) // function declared Display(int z
That's not a function prototype.

This is:
Code: [Select]
void display(int z); // function declared Display(int z
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Go Up