Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1

    Problema con le stringhe in C.

    Salve a tutti e buonasera.
    Ero alle prese con un programmino quando mi ha dato un errore un po' insolito, ve ne parlo subito:
    In primis la traccia dell'esercizio consiste nel far inserire dall'utente una stringa, per poi fargli inserire una parola di essa che vuole cambiare e poi la parola con cui vuole cambiarla.
    Il codice e' il seguente:

    codice:
    int posizionefrase=-1,contatore=0,lunghezzafrase,lunghezzaparola,lunghezzaparola2,trovata='false',t,i;
        char str[81],p[10];
        printf("inserisci una frase max 80 caratteri: ");
        gets(str);
        printf("inserisci la parola che vuoi cambiare: ");
        gets(p);
        lunghezzaparola=strlen(p);
        char p2[lunghezzaparola];
        printf("inserisci con quale parola sostituirla: ");
        gets(p2);
        lunghezzafrase=strlen(str);
        lunghezzaparola2=strlen(p2);
        do
        {
            posizionefrase=posizionefrase+1;
            if(str[posizionefrase]==p[0])
            {
                contatore=1;
                trovata='true';
                while((contatore<lunghezzaparola)&&(trovata))
                {
                    t=posizionefrase+contatore;
                    if(str[t]!=p[contatore])
                    {
                        trovata='false';
                    }
                    else
                    {
                        contatore++;
                    }
                }
            }
    
    
        }
        while((posizionefrase<(lunghezzafrase-lunghezzaparola))&&(!trovata));
        printf("%d\n",posizionefrase);
        if (trovata)
        {
            for(i=0;i<lunghezzaparola2;i++)
            {
                t=posizionefrase+i;
                str[t]=p2[i];
            }
            printf("%s\n",str);
        }
        else{printf("la parola non c'e' nella frase inserita.");}

    Il problema mi viene dato dall'if subito dopo l'incremento della variabile "posizionefrase", praticamente mi entra in quell'if nonostante la condizione non sia vera.
    Attendo con ansia delucidazioni e vi ringrazio in anticipo^^
    Ultima modifica di LeleFT; 15-04-2016 a 09:14 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.