Svp votre aide en pascal
kbibi99
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
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
- Probleme en 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