1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
| 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-ime 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 marqus}
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 gagns 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 Saisie_score_point; {saisie du nbre de point ds le dernier jeux ou tie break}
var k : integer;
begin
for k:= 1 to 2 do begin
If equipe[k].sett[h]=8 then
repeat
writeln ('Score', 'Equipe.nom[k]' , 'dans le dernier jeu en cours?');
writeln ('0,15,30,40,1 pour egalite,2 pour avantage, 3 pour avantage a l''adversaire');
Readln (equipe[k].point)
until equipe[k].point in [0,15,30,40,1,2,3];
if equipe[1].point = 1 then
equipe[2].point := 3;
break;
if equipe[1].point = 2 then
equipe[2].point := 3 ;
break;
If equipe[1].point = 3 then
equipe[2].point := 2 ;
break;
end;
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. |
Partager