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;


