Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2010, 14:57
Avatar de extremoo
extremoo
 
Fecha de Ingreso: abril-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 0
Exclamación Compila pero no imprime

hola buenas, necesito una ayudita con un programa, el programa hasta ahora esta hecho
y les explico en que consiste es una maquina de estados que busca la palagra god ingresada por teclado. ejemplo

"god is bad" se ingresa de teclado jajaja
la idea es que imprima el "is" me ubico en el arreglo hasta la "i" y luego voy guardando y luego imprimo hasta que encuentro el espacio.

EL PROBLEMA ES QUE COMPILA, pero en el 'case 4' me da la impresion tener el drama si alguien me puede ayudar seria genial

el codigo es el siguiente
Código C++:
Ver original
  1. #include<iostream>
  2. #include<string.h>
  3.  
  4. using namespace std;
  5.  
  6. int main (int argc, char *argv[])
  7. {
  8. int estado=0;
  9. int cont_numeros=0;
  10. char oracion[500];
  11.  
  12.  
  13. cin.getline(oracion,500);
  14. strlen(oracion);
  15.  
  16. for(int i=0; i<strlen(oracion); i++)
  17. {
  18.  switch(estado)
  19.  {
  20.    case 0:
  21.          if(oracion[i]==' ')
  22.          {
  23.          oracion[i]=oracion[i+1];
  24.          estado=1;
  25.          }        
  26.    case 1:
  27.          if(oracion[i] == 'g' || oracion[i] == 'G')
  28.          {
  29.          oracion[i]=oracion[i+1];
  30.          estado=2;
  31.          }
  32.    case 2:        
  33.          {
  34.          if(oracion[i] == 'o' || oracion[i] == 'O')  
  35.          oracion[i]=oracion[i+1];
  36.          estado=3;
  37.          }
  38.    case 3:        
  39.          {
  40.          if(oracion[i] == 'd' || oracion[i] == 'D')  
  41.          oracion[i]=oracion[i+1];
  42.          estado=4;
  43.          }
  44.    case 4:
  45.          if(oracion[i]==' ')
  46.          {
  47.          oracion[i]=oracion[i+1];
  48.          char aux[10];
  49.          for(int a=0; oracion[i] != ' ' ; a++)
  50.          {
  51.            int j;
  52.            j=0;
  53.            while(j<10)
  54.            {
  55.        oracion[i]=aux[j];
  56.            j++;
  57.            }
  58.          cout<<aux[j];
  59.          }
  60.          }
  61.   }
  62. }
  63.  
  64. return 0;
  65. }