Contrôle : Noms de personnes + Numéros de Tel
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal :: Fichiers et Enregistrements
Page 1 sur 1
Contrôle : Noms de personnes + Numéros de Tel
[EXTRAIT]
Écrire une série de fonctions qui testent si les données entrées sont correctes :
* Une fonction pour vérifier que le nom ne contient pas de chiffres
* Une autre fonction pour vérifier que le numéro de téléphone ne contient pas de lettres de l'alphabet.
Les fonctions évoquées ci-dessus porteront respectivement les noms isString et isNumber.
Indication :
* Ecrire des fonctions élémentaires isAlpha et isDigit qui renseignent respectivement si leur argument est une lettre ou un chiffre.
Utiliser les fonctions précédentes pour s'assurer que les données du programme de l'énoncé précédent sont valides avant l'enregistrement. Vous allez créer une unité contenant les fonctions ci-dessus (appelez-la StrTest) et vous l'inclurez dans le programme précédent.
Écrire une série de fonctions qui testent si les données entrées sont correctes :
* Une fonction pour vérifier que le nom ne contient pas de chiffres
* Une autre fonction pour vérifier que le numéro de téléphone ne contient pas de lettres de l'alphabet.
Les fonctions évoquées ci-dessus porteront respectivement les noms isString et isNumber.
Indication :
* Ecrire des fonctions élémentaires isAlpha et isDigit qui renseignent respectivement si leur argument est une lettre ou un chiffre.
Utiliser les fonctions précédentes pour s'assurer que les données du programme de l'énoncé précédent sont valides avant l'enregistrement. Vous allez créer une unité contenant les fonctions ci-dessus (appelez-la StrTest) et vous l'inclurez dans le programme précédent.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: Contrôle : Noms de personnes + Numéros de Tel
Une des solutions les plus élégantes du Net :
Annuaire1:
Annuaire2:
Annuaire1:
- Spoiler:
- Code:
function isAlpha(c: char): boolean;
begin
if (((ord(c) >= 97) and (ord(c) <= 122)) or ((ord(c) >= 65) and (ord(c) <=
90))) then
isAlpha := true
else
isAlpha := false;
end;
function isDigit(c: char): boolean;
begin
if ((ord(c) >= 48) and (ord(c) <= 57)) then
isDigit := true
else
isDigit := false;
end;
function isString(s: string): boolean;
var
i: integer;
begin
i := 1;
while ((i <= length(s)) and isAlpha(s[i])) do
i := i + 1;
if (i > length(s)) then
isString := true
else
isString := false;
end;
function isNumber(s: string): boolean;
var
i: integer;
begin
i := 1;
while ((i <= length(s)) and isDigit(s[i])) do
i := i + 1;
if (i > length(s)) then
isNumber := true
else
isNumber := false;
end;
Annuaire2:
- Spoiler:
- Code:
program annuaire2;
uses crt, strTest;
type
Personne = record
nom: string[30];
telephone: string[10];
nCarte: word;
end;
var
Annuaire: array[1..100] of Personne;
i: integer;
begin
clrscr;
i := 1;
while (i <= 10) do
begin
case i of
1: writeln('Entrez les paramètres de la première personne');
2: writeln('Entrez les paramètres de la seconde personne');
3..10: writeln('Entrez les paramètres de la ', i, 'ième personne');
end;
repeat
Write('Nom : ');
readln(Annuaire[i].nom);
until isString(Annuaire[i].nom);
repeat
write('Numero de telephone : ');
readln(Annuaire[i].telephone);
until isNumber(Annuaire[i].telephone);
write('Numero de carte banquaire : ');
readln(Annuaire[i].nCarte);
i := i + 1;
writeln;
end;
writeln('Opération de lecture terminee!!!');
readln;
end.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Sujets similaires
» Devoir de contrôle sur les fichiers -2- (4ème Informatique, Tunisie)
» Résultats : Session Controle BAC 2008
» Devoir de contrôle : Tunisie->Msaken 2007
» Devoir de contrôle: Algorithmes récurrents -3- (4ème Informatique, Tunisie)
» Devoir de contrôle sur les fichiers -1- (4ème Informatique, Tunisie)
» Résultats : Session Controle BAC 2008
» Devoir de contrôle : Tunisie->Msaken 2007
» Devoir de contrôle: Algorithmes récurrents -3- (4ème Informatique, Tunisie)
» Devoir de contrôle sur les fichiers -1- (4ème Informatique, Tunisie)
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal :: Fichiers et Enregistrements
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum