Go Down

Topic: help for the program for water tank (Read 4484 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.

mkbutan

thanks for giving me the kick start idea
but i am getting this error in Line #13 and #22
( I am using Code::Blocks 10.05 )

\4-16v1.c||In function `main':|
\4-16v1.c|13|error: syntax error before "void"|
\4-16v1.c|22|error: syntax error before '{' token|
    ||=== Build finished: 2 errors, 0 warnings ===|


the code's are as
I know its still wrong but please help
thanks
Code: [Select]

#include<stdio.h>
#include<conio.h>
void display(int z);
int main(void)
{
     int a,b,c,d;
     int x[16] = {0,10,20,25,30,40,50,60,70,75,80,90,100,100,100,100}

     //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);

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]);
}
     getch();
     }


{

    void display(int z)

{
    if(a==0 && b==0 && c==0 && d==0)
    printf("%d,%d,%d,%d is %d%% EMPTY",a,b,c,d,x[0]);//0000=00
    }
{
    if(a==0&&b==0&&c==0&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[1]);//0001=01
    }
{
    if(a==0&&b==0&&c==1&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[2]);//0010=02
    }
{
    if(a==0&&b==0&&c==1&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[3]);//0011=03
    }
{
    if(a==0&&b==1&&c==0&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[4]);//0100=04
    }
{
    if(a==0&&b==1&&c==0&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[5]);//0101=05
    }
{
    if(a==0&&b==1&&c==1&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[6]);//0110=06
    }
{
    if(a==0&&b==1&&c==1&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[7]);//0111=07
    }
{
    if(a==1&&b==0&&c==0&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[8]);//1000=08
    }
{
    if(a==1&&b==0&&c==0&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[9]);//1001=09
    }
{
    if(a==1&&b==0&&c==1&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[10]);//1010=10
    }
{
    if(a==1&&b==0&&c==1&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[10]);//1011=11
    }
{
    if(a==1&&b==1&&c==0&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[12]);//1100=12
    }
{
    if(a==1&&b==1&&c==0&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[13]);//1101=13
    }
{
    if(a==1&&b==1&&c==1&&d==0)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[14]);//1110=14
    }
{
    else(a==1&&b==1&&c==1&&d==1)
    printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[15]);//1111=15
    }

}

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

AWOL

#36
Jan 07, 2013, 09:20 pm Last Edit: Jan 07, 2013, 09:25 pm by AWOL Reason: 1
Can you see a closing brace in main?
I can't
(The error message line numbers are dead accurate)

Then there's the confused scope rules
"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


Can you see a closing brace in main?
I can't
(The error message line numbers are dead accurate)

Then there's the confused scope rules


Line #5 {

Line#19 }
do you mean anything else
pl explain
"THE LIFE IS VERY SMALL TO LEARN ELECTRONICS"
                           ??????°?i??
                           AND
                           yes
                           PROGRAMMING

AWOL

Most C implementations don't permit nested functions (personally, I think they're quite a good idea), so your braces are misplaced, hence the error messages.
"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.

PaulS

It looks to me like you are just splattering code around without a clue as to what you are doing.

main does not terminate correctly.
display has a body, even though it is NOT a function declaration.
getch() returns a value that you discard. It won't work on an Arduino, anyway, since the Arduino doesn't have a keyboard.
printf() won't work, because the Arduino doesn't have a console.

You have no clue when to use { and }, and when not to.

mkbutan


It looks to me like you are just splattering code around without a clue as to what you are doing.

main does not terminate correctly.
display has a body, even though it is NOT a function declaration.
getch() returns a value that you discard. It won't work on an Arduino, anyway, since the Arduino doesn't have a keyboard.
printf() won't work, because the Arduino doesn't have a console.

You have no clue when to use { and }, and when not to.


sir post #32 and #35 says I am Using 'C' but not ARDUINO
My project is for ARDUINO First let me learn to program in 'C' after that I will Program the same in ARDUINO
I am new to programming I have just learnt 'C' Programming Language that to from YOU TUBE and from net surfing and Book's 
"THE LIFE IS VERY SMALL TO LEARN ELECTRONICS"
                           ??????°?i??
                           AND
                           yes
                           PROGRAMMING

mkbutan

#41
Jan 07, 2013, 09:48 pm Last Edit: Jan 07, 2013, 09:52 pm by mkbutan Reason: 1
\4-16v1.c|13|error: syntax error before "void"|
\4-16v1.c|23|error: syntax error before '{' token|
error on line #13 and #23


Code: [Select]

#include<stdio.h>
#include<conio.h>
void display(int z);
int main(void)
{
    int a,b,c,d;
    int x[16] = {0,10,20,25,30,40,50,60,70,75,80,90,100,100,100,100}
    //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);
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]);

    getch();
    }
}
{
   void display(int z)
{
   if(a==0 && b==0 && c==0 && d==0)
   printf("%d,%d,%d,%d is %d%% EMPTY",a,b,c,d,x[0]);//0000=00
   }
{
   if(a==0&&b==0&&c==0&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[1]);//0001=01
   }
{
   if(a==0&&b==0&&c==1&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[2]);//0010=02
   }
{
   if(a==0&&b==0&&c==1&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[3]);//0011=03
   }
{
   if(a==0&&b==1&&c==0&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[4]);//0100=04
   }
{
   if(a==0&&b==1&&c==0&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[5]);//0101=05
   }
{
   if(a==0&&b==1&&c==1&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[6]);//0110=06
   }
{
   if(a==0&&b==1&&c==1&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[7]);//0111=07
   }
{
   if(a==1&&b==0&&c==0&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[8]);//1000=08
   }
{
   if(a==1&&b==0&&c==0&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[9]);//1001=09
   }
{
   if(a==1&&b==0&&c==1&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[10]);//1010=10
   }
{
   if(a==1&&b==0&&c==1&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[10]);//1011=11
   }
{
   if(a==1&&b==1&&c==0&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[12]);//1100=12
   }
{
   if(a==1&&b==1&&c==0&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[13]);//1101=13
   }
{
   if(a==1&&b==1&&c==1&&d==0)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[14]);//1110=14
   }
{
   else(a==1&&b==1&&c==1&&d==1)
   printf("%d, %d, %d, %d is %d %%", a,b,c,d, x[15]);//1111=15
   }
}
"THE LIFE IS VERY SMALL TO LEARN ELECTRONICS"
                           ??????°?i??
                           AND
                           yes
                           PROGRAMMING

PaulS

#42
Jan 07, 2013, 09:50 pm Last Edit: Jan 07, 2013, 09:53 pm by PaulS Reason: 1
Does that compile? Does it do what you want? Did you have a question?

Code: [Select]
     int a,b,c,d;
Local variables are not initialized. These contain whatever junk was in memory.

Code: [Select]
  int index = a*8 + b*4 + c*2 + d;
Now, what do you suppose index equals?

AWOL

Line 7 missing semicolon.
Can I ask what you're trying to do, and why doesn't it involve an Arduino?
"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.

PeterH


First let me learn to program in 'C' after that I will Program the same in ARDUINO
I am new to programming I have just learnt 'C' Programming Language that to from YOU TUBE and from net surfing and Book's   


It's perfectly fine to learn C++ on its own if you want. In that case I suggest you start with a C++ development environment available on your operating system, and find a C++ forum and/or tutorials to help you learn. There are plenty of both about. I don't think it's reasonable to expect contributors on the Arduino forum to deal with general C++ issues that are not related to Arduino.
I only provide help via the forum - please do not contact me for private consultancy.

Go Up