no save
Assistance
Achat
News

Forum | programmation
Komen faire un tableau d'un fichier en Perl?
karinn, le lun. 15 janv. 2007 à 21:42:41
Alor voila l énoncé demon exo et ce k j'ai fait jusqu'à present...:
Consigne : " Le programme va nous permettre de constituer un petit lexique et un petit vérificateur d'orthographe
- le programme demande l'utilisateu de saisir un texte (mot,phrase, phrases)
- cetexte saisi va etre scindé en mots, mis dans un tableau
- les mots de ce tableau vnt etre comparés à ceux contenus dans un fichier : on garde dans un tableau : mot_douteux les mots n'étant pas dans le fichier (c'est cette partie que e n'arrive pas à faire)
- chacun de ces mots (de mot_douteux) vont etre proposés à l'utilisateur pour vérification :
- si l'utilsateur confirme (nouveau mot, orthographe correcte) le mot sera rajouté dans le fichier
- sinon l'utilisateur refuse (probleme d'orthographe) : cette partie cbon elle marche...

Maintenant ce que j'ai fait ( en sachant que la fonction push ne marche pas) :

#!/usr/bin/perl

use strict;
use warnings;

my $texte;
my @tab_motstapes;
my $elt;
my $elt2;
my @tab_motsfic;
my $fic;
my $ligne;
my @mots_douteux;
my $trouve;
my $compteur;
my $compteur2;
my $elt3;
my $rep;
my $compteur3;


print ("saisir un texte autrement dit un mot ou une ou plusieurs phrases \n");
$texte=<STDIN>;
chomp ($texte);

$compteur=0;
$compteur2=0;
$compteur3=0;


@tab_motstapes=split(" ",$texte);

foreach $elt(@tab_motstapes) {

$compteur=$compteur+1;
print("$elt\n");

}

open $fic,'<',"fichier_exo_0107.txt" or die "fichier non ouvert\n";

while ($ligne=<$fic>) {

push (@tab_motsfic,$ligne);



foreach $elt2(@tab_motsfic) {

$trouve="oui";
$compteur2=$compteur2+1;

}
}

foreach $elt(@tab_motstapes) {

foreach $elt2(@tab_motsfic) {

if ($elt eq $elt2) {
$trouve="oui"; #c est bien mais que pour la derniere ligne

}

if ($elt ne $elt2) {
$trouve="non";
@mots_douteux=$elt;

}
}
}

print ("Le nombre de mots tapes est $compteur\n");
print ("Le nombre de mots du fichier est $compteur2\n");
print ("Les mots douteux sont @mots_douteux\n");

close ($fic);

open $fic,'>>',"fichier_exo_0107.txt" or die "fichier non ouvert\n";

foreach $elt3(@mots_douteux) {

print ("Ces mots @mots_douteux vous sont proposes pour verification. Si son(leur) orthographe est correcte ou qu'il s'agit d'un nouveau mot, dites oui; sinon s'il ya un probleme d'orthographe, refusez\n");
$rep=<STDIN>;
chomp ($rep);

if ($rep eq "oui") {

print $fic "$elt3\n";
$compteur2=$compteur2+1;
$compteur3=$compteur3+1;


}

else {

$rep="non";
$compteur2=$compteur2;
}
}
print ("Le nombre de mots ajoutes au fichier apres leur verification est $compteur3\n");
print ("Le nombre de mots du fichier est maintenant de $compteur2\n");

close $fic;
Précédentlami20j
janv. 07
lami20j
janv. 07
Suivant
REPONSES
lami20j
janv. 07
lami20j
janv. 07
karinn
janv. 07
lami20j
janv. 07
lami20j
janv. 07
karinn
janv. 07
karinn
janv. 07
lami20j
janv. 07
karinn
janv. 07
karinn
janv. 07
Version Web
Réalisé par RedShift
no save