Programme en Pascal. [Résolu/Fermé]

Signaler
-
 Unocool -
Bonjour,
Je viens de faire un petit programme qui demande l'âge de l'utilisateur et qui, après avoir vérifié que cet âge est valide, indique que l'utilisateur est majeur ou mineur (âge valide entre 0 et 120 ans).

Voici le programme :

program age;
var
a : integer;
begin
writeln('Entrez votre age');
readln(a);
if 0<a and a<120 then
begin
if a <= 18 then
writeln('Vous êtes mineur')
else
writeln('Vous êtes majeur');
end
else
writeln('L age entré n est pas valide, il doit être entre 0 et 120 ans');
end.

La console me marque lors de la compilation :
"Incompatible types : got "boolean" expected "longint"." (pour la ligne 7)
Qu'est ce que cette phrase veut dire exactement, qu'est ce qu'un longint ?
(la ligne 7 est le seul problème de l'algo)




2 réponses

Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
il faut mettre des parenthèses pour marquer la priorité, ici 'and' est prioritaire et le compilateur ne comprends pas pourquoi tu utilises 'a' qui est un entier alors que normalement on devrait avoir un booléen (true ou false).

if (0<a) and (a<120) then

Attention par contre, normalement à 18 ans on est majeur, et ton programme va indiquer qu'on est mineur ! De même tu dis que l'âge est valide entre 0 et 120 ans, mais tel quel le programme va refuser 0 et 120...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci beaucoup.
Mon programme fonctionne maintenant comme sur des roulettes !
Merci à toi, et bonne soiréé.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci