Salve ospite, se leggi questo messaggio vuol dire che non sei registrato, cosa aspetti ? Premi qui per registrarti La registrazione è completamente gratuita e ti permetterà di usufruire di tutte le funzionalità del nostro forum. Buona navigazione.


Vendo, Compro, Scambio NosTale! Riapre il Black Market, concludi i tuoi scambi NosTale gratuitamente! Più info  -   Accedi alla sezione
Download file Server : File Retro Server NosTale
Visita la nuova sezione di BorderGame dedicata a Blade & Soul! Sezione Blade and Soul

 
Valutazione discussione:
  • 2 voti - 1.5 media
  • 1
  • 2
  • 3
  • 4
  • 5
[C] Correttore di testi
25-11-2012 01:09 PM
Messaggio: #1
[C] Correttore di testi
scl
*
Utente Saggio

Inizio a capire

Messaggi : 249

Registrato dal : Nov 2012

Reputazione : 166

Stato : Offline


Premi :



Cit System32 di Sciax2
Discussione presa da *****.it
Citazione:Salve, non avendo cosa fare ho cercato su google qualche suggerimento su che programma avrei potuto scrivo e per fortuna ne ho trovato uno. Il testo del programma ( trovato su un sito dove ci sono esercizi a livello universitario ) chiedeva di scrivere una funzione chiamata correggi che accetti come parametri il file in cui deve avvenire la correzione e il file che contiene quanto scritto nel primo file ma con le correzioni. Tale correzione deve essere applicata solo alle consonanti, ad esempio la parola tavvvolo deve essere corretta in tavolo. L'ho scritto e riscritto più volte questo programma ma alla fine CREDO di essere arrivato ad una soluzione corretta anche se un po' incasinata.
Codice:
#include "stdafx.h"
#include <ctype.h>
#include <conio.h>

int consonante(char car);
void correggi(char *input, char *output);

int main()
{
    char percorso[100];
    printf("Inserisci il percorso del file da correggere : ");
    scanf("%s", percorso);
    correggi(percorso, "C:\corretto.txt");
    getch();    
    return 0;
}

int consonante(char car)
{
    car = tolower(car);
    if((car > 'a') && (car <= 'z') && (car != 'e')  && (car != 'i') && (car != 'o') && (car !=  'u'))
        return 1;
    else
        return 0;
}

void correggi(char *input, char *output)
{
    FILE *file1, *file2;
    char x;
    signed char y;
    file1 = fopen(input, "r");
    file2 = fopen(output, "w");
    if((file1 == NULL) || (file2 == NULL))
    {
        perror("Impossibile aprire il file\n");
    }
    else
    {
        if((y = fgetc(file1)) != EOF)
            fputc(y, file2);

        while(fscanf(file1, "%c", &x) != EOF)
        {
            fprintf(file2, "%c", x);
            while((x == y) && consonante(x))
            {
                if(fscanf(file1, "%c", &x) == EOF)
                    break;
                if (x != y)
                    fprintf(file2, "%c", x);
            }
            y = x;
        }
        fclose(file1);
        fclose(file2);
    }
}
per assistenza scrivimi su skype (contatto tramite pm) oppure taggami sul forum
Torna al primo messaggio
Email Cerca Rispondi

PubblicitàLa tua pubblicità qui, clicca per informazioni e per le offerte!

Stanno visualizzando la discussione : 1 Ospite(i)

  • Versione stampabile
  • Invia ad un amico
  • Sottoscrivi questa discussione