Svp votre aide en pascal
kbibi99
Messages postés
17
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
c'est un code de mon programme pascal
program exercice;
uses wincrt;
type
cara = record
nom:string;
cin:longint;
moy:1..20;
date_naissance : Record
jour : 1..31 ;
mois : 1..12 ;
an : 1900..2011 ;
End ;
dicision:char;
End ;
tab=array [1..10] of cara;
{début de programme principal}
var
t:tab;
x:string ;
n,i:integer ;
begin
repeat
writeln('donner le nombre d''élèves');
readln(n);
until n in [1..10];
for i:=1 to n do
begin
with t[i] do
begin
writeln('donner ton nom');
readln (nom);
repeat
writeln('donner le numéro de ton CIN');
readln(cin);
str(cin,x);
until length(x)=8;
repeat
writeln('donner ton moyen');
readln (moy);
until (moy in [1..20]);
with date_naissance do
begin
writeln('donner votre date de naissance');
writeln('JJ :');
readln(jour);
writeln('MM :');
readln(mois);
writeln('AAAA :');
readln(an);
End ;
if moy<10 then
writeln('R')
else
writeln('A');
end;
end;
end.
je veut faire un fonction qui cotrole la saisie de CIN pour qu'elle soit unique dans le tableau càd que chaque personne possède son propre numéro de cin unique
c'est un code de mon programme pascal
program exercice;
uses wincrt;
type
cara = record
nom:string;
cin:longint;
moy:1..20;
date_naissance : Record
jour : 1..31 ;
mois : 1..12 ;
an : 1900..2011 ;
End ;
dicision:char;
End ;
tab=array [1..10] of cara;
{début de programme principal}
var
t:tab;
x:string ;
n,i:integer ;
begin
repeat
writeln('donner le nombre d''élèves');
readln(n);
until n in [1..10];
for i:=1 to n do
begin
with t[i] do
begin
writeln('donner ton nom');
readln (nom);
repeat
writeln('donner le numéro de ton CIN');
readln(cin);
str(cin,x);
until length(x)=8;
repeat
writeln('donner ton moyen');
readln (moy);
until (moy in [1..20]);
with date_naissance do
begin
writeln('donner votre date de naissance');
writeln('JJ :');
readln(jour);
writeln('MM :');
readln(mois);
writeln('AAAA :');
readln(an);
End ;
if moy<10 then
writeln('R')
else
writeln('A');
end;
end;
end.
je veut faire un fonction qui cotrole la saisie de CIN pour qu'elle soit unique dans le tableau càd que chaque personne possède son propre numéro de cin unique
A voir également:
- Svp votre aide en pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Le protocole assure que la communication entre l'ordinateur de pascal et le serveur de visiodoct est car les informations seront avant d'être envoyées. - Forum Pascal
- Pascal ✓ - Forum Pascal
1 réponse
Ta fonction devra remplacer toute cette partie de ton code :
Une fois la vérification sur x obtenue tu parcours ton tableau de j=1 à i-1 pour comparer x avec t[j].x si ils sont égaux tu redemandes à saisir une autre valeur.
Remarque : il est d'usage d'utiliser des constantes et des types dans les programmes, en particulier pour définir les tableaux !
La confiance n'exclut pas le contrôle
repeat
writeln('donner le numéro de ton CIN');
readln(cin);
str(cin,x);
until length(x)=8;
Une fois la vérification sur x obtenue tu parcours ton tableau de j=1 à i-1 pour comparer x avec t[j].x si ils sont égaux tu redemandes à saisir une autre valeur.
Remarque : il est d'usage d'utiliser des constantes et des types dans les programmes, en particulier pour définir les tableaux !
const NMAX = 10;
type Intervalle = [1..NMAX];
type Tableau = array[Intervalle] of Cara;
function lireX(var tab:Tableau; i:Intervalle):String;
var entier,code:Integer;
begin
write('Numéro de CIN : ');
readln(result);
// tests de valeur
val(result,entier,code);
if length(result)<>8 or code<>0 or entier<0
begin
writeln('Le numéro de CIN doit être composé de 8 chiffres');
result:=lireX(tab,i);
exit;
end;
// tests d'unicité
for ...
end;
La confiance n'exclut pas le contrôle