Se connecter / S'enregistrer

Résolu Erreur Dev Pascal

Solutions (1)
Tags :
  • Pascal
  • Erreur de syntaxe
  • Programmation
  • Programme
|
Bonjour,
J'ai rédigé un programme de gestion de l'autoroute et j'ai rencontré une erreur vers sa fin.

Program Autoroute;
Uses Crt;
//-----------------Déclaration des enregistrements------------------
Type employe=Record
nom_emp:string;
cpt_e :integer;
cni :string;
end;
Type station=Record
nom_sta:string;
cpt_s :integer;
end;

Label debut;
//---------------------Déclaration Des Tableaux---------------------
var tab_emp: array[1..100] of employe;
nbr_e : integer; // C'est une variable qui permet de compter le nombre des employés ajouté au tableau Tab_emp

tab_sta : array[1..100] of station;
nbr_s : integer; // C'est une variable qui permet de compter le nombre des stations ajouté au tableau Tab_sta

YN,x,a,b,c: char;

//------------------------Menu Principal----------------------------
function menuprincipal():char;
var x:char;
begin
clrscr();
writeln('----------MENU PRINCIPAL----------');
writeln('1.Gestion des employés.');
writeln('2.Gestion des stations de péage.');
writeln('3.Gestion du trajet.');
writeln('4.Quitter');
writeln();
writeln('Donnez votre choix.');
readln(x);
menuprincipal:=x;
end;

//---------------------Gestion Des Employés------------------------
function Menuemploye():char;
var a:char;
begin
clrscr();
writeln('----------GESTION DES EMPLOYES----------');
writeln('1.Ajouter un nouvel employé.');
writeln('2.Lister les employés.');
writeln('3.Modifier.'); // Utiliser la fonction "chercher"
writeln('4.Revenir au menu principal.');
writeln();
writeln('Donnez votre choix.');
readln(a);
Menuemploye:=a;
end;

//---------------------Ajout d'un Employé--------------------------
procedure ajout_emp(var e:array of employe;var cpt_e:integer);
begin
writeln('Donnez le nom de l''employé: ');
readln(e[cpt_e].nom_emp);
writeln('Donner le numéro de la CNI: ');
readln(e[cpt_e].cni);
end;
// while (chercher_cni(e,cpt_e,e[cpt_e].cni) <>-1) do
// begin
// writeln('Ce numéro de CNI uillez en saisir un autre.');
// eadln(e[cpt_e].cni);
// end;

//---------------------Ajout d'une Station-------------------------
procedure ajout_sta(var s:array of station;var cpt_s:integer);
begin
writeln('Donnez le nom de la station: ');
readln(s[cpt_s].nom_sta);
end;

//-----------------Procedure Afficher Des Employes-----------------
procedure afficher_e(e:employe);
begin
writeln('Nom : ',e.nom_emp);
writeln('Cni : ',e.cni);
writeln;
end;

//----------------Procedure Afficher Des Stations------------------
procedure afficher_s(s:station);
begin
writeln('Nom : ',s.nom_sta);
writeln;
end;

//---------------------Lister Des Employés-------------------------
procedure lister_e(var e:array of employe; var n:integer);
var i:integer;
begin
for i:=1 to n do
afficher_e(e);
end;

//---------------------Lister Des Stations-------------------------
procedure lister_s(var s:array of station; var n:integer);
var i:integer;
begin
for i:=1 to n do
afficher_s(s);
end;

//-----------------Gestion Des Stations De Peage-------------------
function Menustation():char;
var b:char;
begin
writeln('----------GESTION DES STATIONS DE PEAGE----------');
writeln('1.Ajouter une station.');
writeln('2.Lister les stations.');
writeln('3.Modifier.');
writeln('4.Revenir au menu principal.');
writeln();
writeln('Donnez votre choix.');
readln(b);
Menustation:=b;
end;

//---------------------Gestion Du Trajet---------------------------
function trajet():char;
var Sd,Sa,C :integer;
begin
writeln('----------GESTION DU TRAJET----------');
writeln('Choisissez votre ville de départ parmi les villes suivantes:');
readln(Sd);
writeln('Choisissez votre ville d''arrivée parmi les villes suivantes:');
readln(Sa);
writeln('Choisissez votre catégorie parmi les choix suivants:');
readln(c);
if c=1 then
begin
if Sd=1 then
begin
case Sa of
2: begin
writeln('Votre facture est de 6 Dh.');
end;
3: begin
writeln('Votre facture est de 11 Dh.');
end;
4: begin
writeln('Votre facture est de 16 Dh.');
end;
5: begin
writeln('Votre facture est de 23 Dh.');
end;
6: begin
writeln('Votre facture est de 26 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=2 then
begin
case Sa of
3: begin
writeln('Votre facture est de 5 Dh.');
end;
4: begin
writeln('Votre facture est de 10 Dh.');
end;
5: begin
writeln('Votre facture est de 15 Dh.');
end;
6: begin
writeln('Votre facture est de 20 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=3 then
begin
case Sa of
4: begin
writeln('Votre facture est de 5 Dh.');
end;
5: begin
writeln('Votre facture est de 10 Dh.');
end;
6: begin
writeln('Votre facture est de 13 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=4 then
begin
case Sa of
5: begin
writeln('Votre facture est de 5 Dh.');
end;
6: begin
writeln('Votre facture est de 9 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=5 then
begin
case Sa of
6: begin
writeln('Votre facture est de 3 Dh');
end;
end; // end of 'case a of'
end; // end of 'if then'
end // end N°1 of 'if then'

else
begin
if Sd=1 then
begin
case Sa of
2: begin
writeln('Votre facture est de 9 Dh.');
end;
3: begin
writeln('Votre facture est de 17 Dh.');
end;
4: begin
writeln('Votre facture est de 25 Dh.');
end;
5: begin
writeln('Votre facture est de 35 Dh.');
end;
6: begin
writeln('Votre facture est de 40 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=2 then
begin
case Sa of
3: begin
writeln('Votre facture est de 8 Dh.');
end;
4: begin
writeln('Votre facture est de 15 Dh.');
end;
5: begin
writeln('Votre facture est de 23 Dh.');
end;
6: begin
writeln('Votre facture est de 30 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=3 then
begin
case Sa of
4: begin
writeln('Votre facture est de 8 Dh.');
end;
5: begin
writeln('Votre facture est de 15 Dh.');
end;
6: begin
writeln('Votre facture est de 20 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=4 then
begin
case Sa of
5: begin
writeln('Votre facture est de 8 Dh.');
end;
6: begin
writeln('Votre facture est de 15 Dh.');
end;
end; // end of 'case a of'
end; // end of 'if then'

if Sd=5 then
begin
case Sa of
6: begin
writeln('Votre facture est de 5 Dh');
end;
end; // end of 'case a of'
end; // end of 'if then'
end; // end of 'if then'


//----------------------Fonctuion Charcher-------------------------
//function chercher_cni(var e:array of employe;n:integer;numero:string);
//var i:integer;
//begin
// for i:=1 o n do
// if e.cni=numero then
// begin chercher_cni:=i;
// break;
// end;
// chercher_cni:=-1;
//end;

//*********************Programme Principal*************************
begin
clrscr();
debut:
menuprincipal();
while (x <> '4')do
begin
if x='1' then
begin
clrscr();
nbr_e:=0;
Menuemploye();
case a of
'1': begin
clrscr();
writeln('Ajouter un nouvel employé');
nbr_e:=nbr_e+1; // On doit incrémenter la valeur de nbr_e pour ajouter dans la case numéro 1
ajout_emp(tab_emp,nbr_e);
end;

'2': begin
clrscr();
writeln('Liste des employés');
lister_e(tab_emp,nbr_e);
writeln('-> Menu Principal');
readln;
end;

'3': begin
end;

'4': begin
menuprincipal();
end;
end; // end of 'case a of'
menuprincipal();
end; // end of 'if then'


if x='2' then
begin
clrscr();
nbr_s:=0;
Menustation();
case b of
'1': begin
clrscr();
writeln('Ajouter une station');
nbr_s:=nbr_s+1; // On doit incrémenter la valeur de nbr_s pour ajouter dans la case numéro 1
ajout_sta(tab_sta,nbr_s);
end;

'2': begin
clrscr();
writeln('Liste des stations');
lister_s(tab_sta,nbr_s);
writeln('-> Menu Principal');
readln;
end;

'3': begin
end;

'4': begin
menuprincipal();
end;
end; // end of 'case a of'
menuprincipal();
end; // end of 'if then'


if x='3' then
begin
clrscr();
trajet();
end; // end of 'if then'
menuprincipal();
end; // Fin Boucle While

Writeln('Voulez Vous Vraiment Quitter (y/n)?');
readln(YN);
if YN = 'y' then
begin
Writeln('Nooooooooooooo...');
Delay(1000);
Halt; {EXIT PROGRAM}
end
else
goto debut;

readln;
readln;

end. // Fin





Quand je compile, DEV PASCAL m'affiche l'erreur suivante :

" Fatal: Syntax error, ; expected but . found "

dans la dernière ligne.

* Veuillez m'aider s'il vous plait, qu'est-ce qui ne va pas ?
Contenus similaires
Meilleure solution
partage
|
Je n'ai pas regardé ton code, mais c'est typiquement l'erreur qui apparaît lorsque d'un "end" a été oublié dans le code.
  • Dreamcaster a sélectionné cette solution comme la meilleure réponse
  • Commenter cette solution |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS