Line follower help

I am building a line follower. I want to modify it a little.

  1. I want it to auto calibrate. But when I did as the author an error comes. "turn right was not declared in this scope"

2)The robot should start from a black square then enter the track and auto calibrate. Please help me to modify the code to do that.

3)finally the robot should stop at another black square. I can't figure out that too. please help.

#include <QTRSensors.h>

#define Kp 0.2  
#define Kd 4  
#define rightMaxSpeed 200 // max speed of the robot
#define leftMaxSpeed 200 // max speed of the robot
#define rightBaseSpeed 150 
#define leftBaseSpeed 150  
#define NUM_SENSORS  5     // number of sensors used
#define TIMEOUT       2500  // waits for 2500 us for sensor outputs to go low
#define EMITTER_PIN   2     // emitter is controlled by digital pin 2

#define rightMotor1 3
#define rightMotor2 4
#define rightMotorPWM 5
#define leftMotor1 12
#define leftMotor2 13
#define leftMotorPWM 11
#define motorPower 8

QTRSensorsRC qtrrc((unsigned char[]) {  14, 15, 16, 17, 18, } ,NUM_SENSORS, TIMEOUT, EMITTER_PIN); 
unsigned int sensorValues[NUM_SENSORS];

void setup()
{
  pinMode(rightMotor1, OUTPUT);
  pinMode(rightMotor2, OUTPUT);
  pinMode(rightMotorPWM, OUTPUT);
  pinMode(leftMotor1, OUTPUT);
  pinMode(leftMotor2, OUTPUT);
  pinMode(leftMotorPWM, OUTPUT);
  pinMode(motorPower, OUTPUT);
  
  int i;
for (int i = 0; i < 100; i++) 
  
  if ( i  < 25 || i >= 75 ) 
     turn_right();  
   else
     turn_left(); 
   qtrrc.calibrate();   
   delay(20);
wait();  
delay(2000); // wait for 2s to position the bot before entering the main loop 
    
    
int lastError = 0;

void loop()
{
  unsigned int sensors[6];
  int position = qtrrc.readLine(sensors);
  int error = position - 2500;

  int motorSpeed = Kp * error + Kd * (error - lastError);
  lastError = error;

  int rightMotorSpeed = rightBaseSpeed + motorSpeed;
  int leftMotorSpeed = leftBaseSpeed - motorSpeed;
  
    if (rightMotorSpeed > rightMaxSpeed ) rightMotorSpeed = rightMaxSpeed; 
  if (leftMotorSpeed > leftMaxSpeed ) leftMotorSpeed = leftMaxSpeed; 
  if (rightMotorSpeed < 0) rightMotorSpeed = 0; // keep the motor speed positive
  if (leftMotorSpeed < 0) leftMotorSpeed = 0; // keep the motor speed positive
  
   {
  digitalWrite(motorPower, HIGH); // move forward with appropriate speeds
  digitalWrite(rightMotor1, HIGH);
  digitalWrite(rightMotor2, LOW);
  analogWrite(rightMotorPWM, rightMotorSpeed);
  digitalWrite(motorPower, HIGH);
  digitalWrite(leftMotor1, HIGH);
  digitalWrite(leftMotor2, LOW);
  analogWrite(leftMotorPWM, leftMotorSpeed);
}
}
  
void wait(){
    digitalWrite(motorPower, LOW);
}
void setup () {   pinMode(rightMotor1, OUTPUT);   pinMode(rightMotor2, OUTPUT);   pinMode(rightMotorPWM, OUTPUT);   pinMode(leftMotor1, OUTPUT);   pinMode(leftMotor2, OUTPUT);   pinMode(leftMotorPWM, OUTPUT);   pinMode(motorPower, OUTPUT);
int i;
for ( int i = 0; i < 100 ; i ++ ) // calibrate for sometime by sliding the sensors across the line, or you may use auto-calibration instead
/* comment this part out for automatic calibration
if ( i  < 25 || i >= 75 ) // turn to the l

Get your enter key fixed.
Learn to post code correctly.
Learn to use Tools + Auto Format.
Don't expect anyone to try to make sense of this mess. ONE statement per line.

. . . and post all of your code.
Properly, in code tags.