error in verify the code

I wanna ask about the error occur while verifying the code, actually arduino is new for me and I hope all of you can help me for my final project thanks in advance. I'm using DS18B20 temperature sensor with lcd display

this is the code:

// LCD Thermostat

#include <OneWire.h>
#include <LiquidCrystal.h>

// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int backLight = 13; // pin 13 will control the backlight

OneWire ds(8); // ds18b20 pin #2 (middle pin) to Arduino pin 8

byte i;
byte present = 0;
byte data[12];
byte addr[8];

int HighByte, LowByte, SignBit, Whole, Fract, TReading, Tc_100, FWhole;

void setup(void) {
pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
lcd.begin(2,16); // rows, columns. use 2,16 for a 2x16 LCD, etc.
lcd.clear(); // start with a blank screen
lcd.setCursor(0,0); // set cursor to column 0, row 0

if ( !ds.search(addr)) {
lcd.clear(); lcd.print("No more addrs");
delay(1000);
ds.reset_search();
return;
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
lcd.clear(); lcd.print("CRC not valid!");
delay(1000);
return;
}
}

void getTemp() {
int foo, bar;

ds.reset();
ds.select(addr);
ds.write(0x44,1);

present = ds.reset();
ds.select(addr);
ds.write(0xBE);

for ( i = 0; i < 9; i++) {
data = ds.read();

  • }*

  • LowByte = data[0];*

  • HighByte = data[1];*

  • TReading = (HighByte << 8) + LowByte;*

  • SignBit = TReading & 0x8000; // test most sig bit*

  • if (SignBit) {*

  • TReading = -TReading;*

  • }*
    Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25

  • Whole = Tc_100 / 100; // separate off the whole and fractional portions*

  • Fract = Tc_100 % 100;*

  • if (Fract > 49) {*

  • if (SignBit) {*

  • --Whole;*

  • } else {*

  • ++Whole;*

  • }*

  • }*

  • if (SignBit) {*

  • bar = -1;*

  • } else {*

  • bar = 1;*

  • }*
    _ foo = ((Whole * bar) * 18); // celsius to fahrenheit conversion section_
    _ FWhole = (((Whole * bar) * 18) / 10) + 32;_

  • if ((foo % 10) > 4) { // round up if needed*

  • ++FWhole;*

  • }*
    }
    void printTemp(void) {

  • lcd.clear();*

  • lcd.setCursor(0,0);*

  • lcd.print("Temp is: ");*

  • lcd.setCursor(0,1); *

  • if (SignBit) { *

  • lcd.print("-");*

  • }*

  • lcd.print(Whole);*

  • lcd.print(" C / ");*

  • lcd.print(FWhole);*

  • lcd.print(" F");*
    }
    void loop(void) {

  • getTemp();*

  • printTemp();*

  • delay(1000);*
    }
    Error compiling
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:85:24: error: WConstants.h: No such file or directory
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp: In constructor 'OneWire::OneWire(uint8_t)':
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:93: error: 'digitalPinToBitMask' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:94: error: 'digitalPinToPort' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:94: error: 'portInputRegister' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::reset()':
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:127: error: 'delayMicroseconds' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:134: error: 'delayMicroseconds' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp: In member function 'void OneWire::write_bit(uint8_t)':
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:157: error: 'delayMicroseconds' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:165: error: 'delayMicroseconds' was not declared in this scope
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::read_bit()':
    C:\Program Files (x86)\Arduino\libraries\OneWire\OneWire.cpp:185: error: 'delayMicroseconds' was not declared in this scope

please use code tags when posting code. See posting guidelines.

Where did you copied this code from? As it looks from some tutorial site

sorry for the mistakes, actually this coding is from hacktronics..could you please help and tell me what is my mistakes in this coding??

You need to declare a lot of variables, either at that level if they are temporary
or at a higher level if more global.
I'm not sure what all the separating of sign and modulo math is for.
Where is you temperature reading coming from? I see, a DS18B20.

Declaring:

int Reading;
void doSomething() {
int somePart=2345;
int otherPart=90;
Reading= somePart/otherPart;
}

Dwight