Traducteur français => javanais [ gestion des txt ]

Soyez le premier à donner votre avis sur cette source.

Vue 13 906 fois - Téléchargée 277 fois

Description

Ce petit programme traduit un texte initialement présent dans le fichier "initial.txt" et stocke le texte javanais correspondant dans le fichier "final.txt".

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>
#include "auxiliaires.h"

int main(int argc, char *argv[])
{	
    char lettre1,lettre2,premiere_lettre,quit ;
    short debut ;
    FILE* fichier_ini ;
    FILE* fichier_fin ;
    
    fichier_ini = fopen("initial.txt","r");
    
    if(fichier_ini == NULL)
    {
        fprintf(stderr, "Erreur lors de l'ouverture du fichier initial\nAppuyer sur une touche\n") ;
        fflush( stdin ) ;
        scanf("%c",&quit ) ;
        exit(EXIT_FAILURE) ;
    }
    
    fichier_fin = fopen("final.txt","w");
    
    premiere_lettre = fgetc( fichier_ini ) ;
    
    debut = 1 ;
    
    while( 1 )
    {
        if( debut )
        {
                lettre1 = premiere_lettre ;
                debut = 0 ;
        }
        else
        {
                lettre1 = lettre2 ;
        }
        
        lettre2 = fgetc( fichier_ini ) ;
        
        fprintf( fichier_fin ,"%c", lettre1 );
        
        if( EstConsonne( lettre1 ) && EstVoyelle( lettre2) )
        {
                fprintf( fichier_fin ,"%s", "av" );
        }
        
        if( lettre2 == EOF ) break ;
                
    }
    
    fclose( fichier_ini );
    fclose( fichier_fin );
        
        
    return( 0 );
}

//-------------------------------------------------------------

short EstVoyelle( char lettre )
{
    if( lettre == 'a' ||
        lettre == 'e' ||
        lettre == 'i' ||
        lettre == 'o' ||
        lettre == 'u' ||
        lettre == 'y' ||
        lettre == 'A' ||
        lettre == 'E' ||
        lettre == 'I' ||
        lettre == 'O' ||
        lettre == 'U' ||
        lettre == 'Y'  )
    {
        return( 1 ) ;
    }
    else
    {
        return( 0 ) ;
    }
}

//------------------------------------------------------------------------------

short EstConsonne( char lettre )
{
    if( (( lettre >= 65 && lettre <= 90 )||( lettre >= 97 && lettre <= 122 )) && !EstVoyelle( lettre ) )
    {
        return( 1 ) ;
    }
    else
    {
        return( 0 ) ;
    }
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
lundi 24 novembre 2003
Statut
Membre
Dernière intervention
16 décembre 2003

je suis en train de travailler sur un traducteur de javanais et j'essaye d'utiliser la fonction strcat() pour ajouter 'av' entre une une voyelle et une consomne mais jy arrive pas.
Messages postés
6
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
28 août 2003

tout d'abord, merci de vos commentaires !

JCDjcd => ok tout à fait.

JimmyLouis => la regle du Javanais c'est intercaler un 'av' APRES chaque groupe de consonnes, sauf à la fin su mot. Donc le problème ne se pose pas !

alors => alavors c'est normal !
Messages postés
14
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2015

Antho007:
Ton problème reste entier, chaque fois qu'un mot commence par 1 voyelle.
savalavut bavatavard !

Alavors tavu vavois mavon travadavuctaveur il mavarchave bavien ;)
AvaLavors avil
----------- ----
tavu l'as en paviecave javointave avavec laves savourcaves.
l'avas aven
------ ----
Sinon c'est marrant...
Jimmy
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
if( (( lettre >= 65 && lettre <= 90 )||( lettre >= 97 && lettre <= 122 )) && !EstVoyelle( lettre ) )


ne met pas la valeur numerique ! mais le caracteres :
par exemple pour savoit si c'est une lettre:

if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{
...
}


C'est bcp plus comprehensible
et il y a moins de risque d'erreur
Messages postés
2
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
25 août 2003

LOL c'est exactement l'exercice qu'il nous file en IUT informatique =)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.