emileprosky | Bonjour. J'ai un un petit dont je ne trouve pas la solution. (j'ai meme aucune idée de piste pour la trouver...)
Code :
- begin
- procedure1;
- procedure2;
- procedure3;
- procedure4;
- end.
|
Lorsque je lance mon programme, les procédures 1 et 2 s'executent sans problème, mais le programme refuse de passer à la suite (ici à la procédure 3).
D'où est-ce que cela peut venir ? (sachant que dans la procédure 2, il y a quelques "break" ; mais je ne pense pas que cela intervienne en dehors de la procédure).
Merci de votre aide.
Voici une copie de mon code :
Code :
- uses crt; {clrscr; }
- type NomDeStructure = record
- nom : string ;
- point : integer;
- points_tie_break : integer ;
- sett :array [0..5] of integer ; {equipe[i].set[j]=nbre de jeu de l'equipe i dans le j-iŠme set}
- end;
- var Joueur : array[0..4] of NomDeStructure;
- var equipe : array[0..2] of NomDeStructure;
- var Nbre_set : integer;
- var Nbre_joueur : integer;
- var h : integer;
- {**************************************************************************************}
- Procedure Nom_equipe;
- var i :integer;
- begin
- if Nbre_joueur = 4 then
- Equipe[1].nom:= 'l''‚quipe '+ Joueur[1].nom + '/' + joueur[2].nom;
- Equipe[2].nom:= 'l''‚quipe '+ Joueur[3].nom + '/' + joueur[4].nom;
- If Nbre_joueur = 2 then
- for i:=1 to 2 do begin
- Equipe[i].nom:=joueur[i].nom
- end;
- writeln('fin Nom_equipe');
- end;
- {**************************************************************************************}
- Procedure Initialisation_score; {0 jeux marqu‚s}
- var i,j : integer;
- begin
- for j := 1 to Nbre_set do begin
- for i := 1 to 2 do begin
- equipe[i].sett[j]:=0;
- end;
- end;
- writeln('fin initialisation_score');
- end;
- {**************************************************************************************}
- Procedure Saisie_score; {saisie des jeux gagn‚s dans chaques sets}
- var i,j,l : integer;
- begin
- h:=Nbre_set;
- for j := 1 to Nbre_set do begin
- for i := 1 to 2 do begin
- equipe[2].sett[j]:=10; {empeche de quitter la boucle ; voir en dessous}
- If h<Nbre_set then
- begin
- break;
- end
- Else
- begin
- repeat
- writeln('combien de jeux ', Equipe[i].nom, ' a gagn‚ dans le set',j,'?');
- writeln('1,2,3,4,5,6,7, 9 si le set numero ',j,' n''a pas encore commenc‚');
- readln(equipe[i].sett[j])
- until equipe[i].sett[j] IN [1,2,3,4,5,6,7,9];
- if equipe[1].sett[j] = 9 then begin
- equipe[2].sett[j]:= 9;
- h:=j-1;
- end;
- if (equipe[1].sett[j]<6) and (equipe[2].sett[j]<6) then begin
- h:=j;
- end;
- if (equipe[1].sett[j] = equipe[2].sett[j]) and (equipe[1].sett[j]= 6) then begin
- equipe[1].sett[j]:=8; {8 egal tie break}
- equipe[2].sett[j]:=8;
- h:=j;
- end;
- end;
- end;
- end;
- writeln('fin saisie_score');
- end;
- {**************************************************************************************}
- Procedure Synthese_score; {affiche le score}
- var i,j :integer;
- begin
- writeln('bonjour la synthese');
- for j := 1 to Nbre_set do begin
- for i := 1 to 2 do begin
- writeln('set ', 'j',' ','equipe[i].sett[j]', ' jeux');
- end;
- end;
- writeln('fin synthese_score');
- end;
- {**************************************************************************************}
- BEGIN
- clrscr;
- Nbre_set :=5;
- Nbre_joueur :=4;
- Joueur[1].nom := 'olivier';
- Joueur[2].nom := 'laura';
- Joueur[3].nom := 'ANTOINE';
- Joueur[4].nom := 'jfb';
- writeln('bienvenue');
- Initialisation_score;
- Nom_equipe;
- Saisie_score;
- Synthese_score;
- END.
|
|