Programme en Pascal.

Résolu/Fermé
Unocool - 9 oct. 2012 à 19:17
 Unocool - 9 oct. 2012 à 19:34
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)




A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
9 oct. 2012 à 19:27
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 beaucoup.
Mon programme fonctionne maintenant comme sur des roulettes !
Merci à toi, et bonne soiréé.
1