Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

dotNetManía + el sitio del Guille:
¡La mejor información de punto NET!
¡Suscríbete ya! y consigue un 10% de descuento

Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

18/nov/2008
El primer libro de C# escrito por el Guille:

Aprenda C# 3.0 desde 0.0 - Parte 3, lo nuevo


Cónsiguelo desde aquí: http://www.elguille.info/NET/AprendaCSharp3/parte3_lo_nuevo.aspx

  Foro: C / C++.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 56864 - Codigo Inalcanzable.
IDAsuntoFechaNick 
56864 Codigo Inalcanzable.21/12/12 13:22Mr. VB 6   
Hola a todos:
No se porque hay veces en que cierto codigo no se ejecuta y no se porque y realmente me pone de malas. En este caso es el bloque if marcado con "AQUI", siempre se ejecuta el else pero no el if, aunque nTabs sea 9.

Este es el programa completo. La funcion main.
bool error = false; //No hay error.

if(argc == 2)
{
    FILE *pFicheroEntrada = fopen(argv[1],"r");

    if(pFicheroEntrada != NULL)
    {
        FILE *pFicheroSalida = fopen("Salida.txt","w");

        rewind(pFicheroEntrada);
        char str[100] = "";
        char ch = '\0';
        int i = 0;
        int nTabs = 0;
        int tab6 = 0;
        int tab8 = 8;

        do
        {
            for(i = 0,ch = fgetc(pFicheroEntrada);(ch !=
                 '\n') && (ch != EOF);++i,ch = fgetc(pFicheroEntrada))
                str[i] = ch;

            str[i] = '\n';

            for(int k = 0,nTabs = 0;k < i;++k)
            {
                if(str[k] == '\t')
                {
                    ++nTabs;

                    if(nTabs == 6)
                        tab6 = i;
                    else if(nTabs == <img src='imagenes/smiles/rie_gafas.png' border='0' alt='rie_gafas'
                         />
                        tab8 = i;
                }
            }
                
/*AQUI*/        if(nTabs == 9)
            {
                for(int k = 0;k <= tab6;++k)
                    fputc(str[k],pFicheroSalida);
                    
                for(int k = tab8 + 1;k <= i;++k)
                    fputc(str[k],pFicheroSalida);
            }
            else
            {
                for(int k = 0;k <= i;++k)
                    fputc(str[k],pFicheroSalida);
            }
        }
        while(ch != EOF);
            
        fclose(pFicheroEntrada);
        fclose(pFicheroSalida);
    }
    else
        error = true;
}
else
    error = true;

if(error == true)
    printf("Ha ocurrido un error.\n");
else
    printf("Depuracion exitosa.\n");

getchar();

return 0;
Muchas gracias

PD: ya me habia pasado antes aunque no recuerdo donde.

[Editado: Mr. VB 6, 21/12/2012 13:22:26]
[Mr. VB 6, 21/12/2012 13:23:33]
[Mr. VB 6, 21/12/2012 13:24:26]
IDAsuntoFechaNick 
56865 Re: Codigo Inalcanzable. (Resp: 56864)21/12/12 13:27Mr. VB 6   
Se me olvido decir que uso el Microsoft Visual Studio 2010.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2018  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 12 - App. iniciada: 16/01/2018 22:13:59 GMT - La hora GMT del servidor es: 16/01/2018 23:05:57 GMT