Autor Tema: ciclos while que no me funcionan  (Leído 1882 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado maxluis

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
ciclos while que no me funcionan
« en: 04 de Agosto de 2005, 07:14:00 »
Estimados sigo "loco" con el tema de los menus y submenus en "c" tome el ejemplo "ejemplo a enviar" del señor trelles y lo simulo en proteus y todo Ok. le puse un paso mas a la rutina menus y.....soné, al parecer "c" no me permite anidar 2 ciclos while, tratare de adjuntar la rutina. Que alguien de los capos me ayude porfa.
saludos..
//////////////////////////////////////FUNCION MENUS////////////////////////
void menus(void)
{
               tecla=0;

               while(1)
                  {
                     lcd_putc("f"Giño;
                     lcd_gotoxy(1,1);
                     printf(lcd_putc,"HORA DE PARTIDA"Giño;
                     lcd_gotoxy(1,2);
                     printf(lcd_putc,"Horas:" "%u",horas);
                     delay_ms(100);
                     if(tecla==3)
                        {
                           tecla=0;
                           horas--;
                           if( horas== -1)
                              horas=23;
                     lcd_putc("f"Giño;
                     lcd_gotoxy(1,1);
                     printf(lcd_putc,"HORA DE PARTIDA"Giño;
                     lcd_gotoxy(1,2);
                     printf(lcd_putc,"Horas:" "%u",horas);

                        }
                     if(tecla==2)
                        {
                           tecla=0;
                           horas++;
                           if(horas>=24)
                              horas=0;
                     lcd_putc("f"Giño;
                     lcd_gotoxy(1,1);
                     printf(lcd_putc,"HORA DE PARTIDA"Giño;
                     lcd_gotoxy(1,2);
                     printf(lcd_putc,"Horas:" "%u",horas);

                        }

                     if(tecla==1)
                     tecla=0;
                        {


                           while(1)
                                 {
                                    lcd_putc("f"Giño;
                                    lcd_gotoxy(1,1);
                                    printf(lcd_putc,"MINUTOS DE PARTIDA"Giño;
                                    lcd_gotoxy(1,2);
                                    printf(lcd_putc,"Minutos:" "%u",minutos);
                                    segundos=0;

                                    if(tecla==3)
                                       {
                                          tecla=0;
                                          minutos--;

                                          if( minutos == -1)
                                    minutos=59;
                                    lcd_gotoxy(1,1);
                                    printf(lcd_putc,"MINUTOS DE PARTIDA"Giño;
                                    lcd_gotoxy(1,2);
                                    printf(lcd_putc,"Minutos:" "%u",minutos);

                                        }

                                    if(tecla==2)
                                       {
                                          tecla=0;
                                          minutos++;

                                          if(minutos>=60)
                                             minutos=0;
                                          lcd_gotoxy(1,1);  
                                          printf(lcd_putc,"MINUTOS DE PARTIDA"Giño;
                                          lcd_gotoxy(1,2);
                                          printf(lcd_putc,"Minutos:" "%u",minutos);

                                       }

                                           if(tecla==1)
                                           {
                                                         tecla=0;


                                                         while(1)
                                                            {
                                                               lcd_putc("f"Giño;
                                                               lcd_gotoxy(1,1);
                                                               printf(lcd_putc,"Tasa:" "%u",tasa);
                                                               //tasa=10;

                                                               if(tecla==3)
                                                                  {
                                                                     tecla=0;
                                                                     tasa=tasa-5;

                                                                     if( tasa == -5)
                                                                        tasa=100;


                                                                     lcd_putc("f"Giño;
                                                                     printf(lcd_putc,"Tasa:" "%u",tasa);
                                                                  }

                                                               if(tecla==2)
                                                                  {
                                                                     tecla=0;
                                                                     tasa=tasa+5;

                                                                     if(tasa>=100)
                                                                       tasa=5;


                                                                     lcd_putc("f"Giño;
                                                                     printf(lcd_putc,"Tasa:" "%u",tasa);
                                                                  }

                                                                      if(tecla==1)
                                                                      break;
                                                                      delay_ms(10);
                                                            }//fin while tasa
                                                            break;
                                           }//fin tecla==1

                                           delay_ms(10);
                                      }//fin while de los minutos
                                      break;
                        }//fin tecla==1

                        delay_ms(10);
                  }//fin del while horas
                  break;
                  tecla=0;
                  return;
}// fin funcion menu


Desconectado maxluis

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
RE: ciclos while que no me funcionan
« Respuesta #1 en: 07 de Agosto de 2005, 19:12:00 »
Ya que nadie respondio......igual gracias...solucione el problema del menu con puras sub rutinas.....pero igual si alguno de los capos me puede decir si en ccs se pueden anidar dos ciclos while y por favor revicen el trozo de programa....por si alguno de los No capos como yo quiere que le explique como solucione el problema de los menus y sub menus, que envie un mail a ingenioaustral@123.cl
saludos amigos del foro.
maxluis.