2 pushbuttons and menu select

for a project i must have 2 push buttons and from this i must execute the following

menu 1 zone1
zone2
zone3

menu 2 duration 1
duration 2

menu3 time 1
time 2
time 3

menu 4 you have chosen zone 3,duration 2. time 3

when you hit first button it should toggle through each menu, when you push button 2 it should change incremenent time,duration and zone according to the menu selection. need help with the code!!! this has to appear on the serial comm

If you mean help, as opposed to getting somebody to do it for you, then you should post your code so far and since it sounds like you have an LCD with buttons (?), some details of that.

im lost sir, my code is
#define btn1 5
#define btn2 2

boolean btn2State;// variable for reading the pushbutton status
int count = 0;// variable for keeping track of the number of key depressions
boolean currentState;//intially button is not pressed therefore it is a 1
void setup()
{
pinMode(btn1,INPUT);
pinMode(btn2, INPUT); //intialize the pushbutton pin as an input;
Serial.begin(9600);// initiliaze the serial communications as 9600 ba
currentState = digitalRead(btn2);// read the condition when button is not pressed

}
void
if(count<7) {
btn2State=digitalRead(btn2);
if(btn2State!=currentState) {
if(btn2State==LOW) {
count ++;
switch(count) {

case 1:
Serial.println("time 1");
break;
case 2:
Serial.println("time 2");
break;
case 3:
Serial.println("time 3");
break;
case 4:
Serial.println("time 4");
break;
case 5:
Serial.println("time 5");
break;
case 6:
Serial.println("time 6");
break;
case 7:
Serial.println("time 7");
break;
}
}
}
currentState=btn2State;
}
else{
count=0;
}
}

and no lcd , i just have to display the selection on the serial monitor
thanks!!

This is based on my statemachine library found here: Arduino Playground - SMlib

#include <SM.h>

const int btn1 = 5;
const int btn2 = 2;
int btn1state;//for edge detection with RE
int btn2state;//for edge detection with RE

char M1Txt[3][3][10] = {{"Zone1", "Zone2", "Zone3"}, 
                        {"Duration1", "Duration2", ""},
                        {"Time1", "Time2", "Time3"}};
SM Menu(M1Disp, M1Resp);
int MLevel;
int MItem;
int MChoice[3];

void setup(){
  Serial.begin(115200);
}//setup()

void loop(){
  EXEC(Menu);
}//loop()

State M1Disp(){
  Serial.println(M1Txt[MLevel][MItem]);
}//M1Disp()

State M1Resp(){
  if(RE(digitalRead(btn1), btn1state)){//button1 pressed
    do ++MItem %= 3; while(M1Txt[MLevel][MItem][0] == 0);//select next item
    Menu.Set(M1Disp, M1Resp);//display item
  }//if(btn1)
  if(RE(digitalRead(btn2), btn2state)){//button2 pressed
    MChoice[MLevel] = MItem;//store choice on this menulevel
    MItem = 0;//start with item 0 on next level
    ++MLevel %= 3;//next menulevel
    if(MLevel) Menu.Set(M1Disp, M1Resp);//display item
    else Menu.Set(M4Disp, M4Resp);//final choice
  }//if(btn2)
}//M1Resp()

State M4Disp(){
  Serial.print("You have choosen: ");
  for(int i = 0; i < 3; i++){
    Serial.print(M1Txt[i][MChoice[i]]);
    Serial.print('\t');
  }//for(i)
  Serial.println();
  MLevel = 0;//reset menu
}//M4Disp()

State M4Resp(){
  //back to main menu
  if(RE(digitalRead(btn1), btn1state)||RE(digitalRead(btn2), btn2state)) Menu.Set(M1Disp, M1Resp);
}//M4Resp()

Have you read these tutorials here and here?

(Also you shouldn't post the same question in different parts of the forum. From your point of view you end up with different answers and explanations all over; from responders' points of view it's very annoying.....)