Re,
Pour amusement j'ai traduit ton code en Perl.
Si tu as l'occasion de le tester tu peux le faire. Le cas de verbe envoyer n'est pas vérifier.
Je n'ai pas tester tous le verbes non plus, un francophone connais mieux que moi la conjugaison des verbes.
Pour l'exécuter (sous Linux)
[lamitest@localhost corbeille]$ perl conjugaison2.pl
Entrez un verbe du 1ere groupe : partir
Le verbe PARTIR n'est pas un verbe du 1ere groupe.
[lamitest@localhost corbeille]$ perl conjugaison2.pl
Entrez un verbe du 1ere groupe : aimer
Conjugaison des verbes du 1ere groupe au Present,Imparfait et Future simple
------Present------
j' aime
tu aimes
il(elle) aime
nous aimons
vous aimez
ils(elles) aiment
------Imparfait------
j' aimais
tu aimais
il(elle) aimait
nous aimions
vous aimiez
ils(elles) aimaient
------Future simple------
j' aimerai
tu aimeras
il(elle) aimera
nous aimerons
vous aimerez
ils(elles) aimeront
[lamitest@localhost corbeille]$
Le script
#! /usr/bin/perl -w
use warnings;
use strict;
$" = "\n";
my (@present,@imparfait,@future);
my %baratiner = (
aje => ['e','ais','ai'],
btu => ['es','ais','as'],
'cil(elle)' => ['e','ait','a'],
dnous => ['ons','ions','ons'],
evous => ['ez','iez','ez'],
'fils(elles)' => ['ent','aient','ont'],
);
print "Entrez un verbe du 1ere groupe : ";
chomp(my $verb = <STDIN>);
if ($verb !~ /er$/ or $verb eq 'aller'){
print "Le verbe \U$verb\E n'est pas un verbe du 1ere groupe.\n";
}
else {
foreach (sort keys %baratiner) {
my $base = substr($_,1);
push @future, ($base." ".$verb.$baratiner{$_}[2]);
if ($verb =~ /(.*g)er$/) {
if($base eq 'je' or $base eq 'tu' or $base eq 'il' or $base eq 'ils') {# imparfait
push @imparfait,($base." ".$1.'e'.$baratiner{$_}[1]);
}
else {
push @imparfait,($base." ".$1.$baratiner{$_}[1]);
}
if ($base eq 'nous') { $baratiner{$_}[0] = 'eons' }# present
push @present,($base." ".$1.$baratiner{$_}[0]);
}
elsif ($verb =~ /(.*)yer$/) {
push @imparfait,($base." ".$1.'y'.$baratiner{$_}[1]);# imparfait
if ($base eq 'vous' or $base eq 'nous') {# present
push @present,($base." ".$1.'y'.$baratiner{$_}[0]);
}
else {
push @present,($base." ".$1.'i'.$baratiner{$_}[0]);
}
}
elsif ( $verb =~ /(.*)er$/) {
push @present,($base." ".$1.$baratiner{$_}[0]);# present
push @imparfait,($base." ".$1.$baratiner{$_}[1]);# imparfait
}
}
if ($verb =~ /^[aeiou]/){ grep { s/je/j'/ } (@present,@imparfait,@future) }# j'
print "\nConjugaison des verbes du 1ere groupe au Present,Imparfait et Future simple\n";
print "\n"."-" x 6, "Present", "-" x 6,"\n\n";
print "@present\n";
print "\n"."-" x 6, "Imparfait", "-" x 6,"\n\n";
print "@imparfait\n";
print "\n"."-" x 6, "Future simple", "-" x 6,"\n\n";
print "@future\n"
}


