Pascal : erreur dans READ et WRITE - Delphi/Pascal - Programmation
Marsh Posté le 26-10-2003 à 12:56:47
f et m sont juste des valeurs que tu utilises à la compilation.
Elles seront remplacées par 0 et 1.
Si tu veux que l'utilisateur puisse entrer f ou m tu dois déclarer ton type comme ('f','m') ou un truc du genre (ou bien tu le déclares comme Char simplement).
Marsh Posté le 26-10-2003 à 13:10:20
Merci mais je ne comprend pas bien ce qu'il faut que je fasse. Si je déclare un type avant le var : type SEX=(F,M);, ca ne change pas et si je déclare SEX comme char et bien il me dit à la ligne FEMME:=SEX=F (Error; Unknow Identifier).
Marsh Posté le 26-10-2003 à 13:11:05
bah oui faut le comparer à 'F' ou 'f' alors...
Marsh Posté le 26-10-2003 à 13:36:17
Ah oui merci bcp ! J'avais oublier l'apostrophe. Maintenant le programme fonctionne si je met char mais le but du cour je crois c t d'utiliser les types scalaires ce que je n'arrive pas a faire. Si je met à la place de var SEX: (F,M); ca : var SEX: ('F','M'); ca marche encore moins car l'erreur est dès cette ligne la. Auriez vous d'autres idées?
merci bcp !
Marsh Posté le 26-10-2003 à 13:52:36
Tu dois peut-être définir un type alors...
Sinon déclare ta variable comme étant un Char.
Si tu veux quand même utiliser un type énuméré "(m, f)" tu dois lire le choix de l'utilisateur dans un Char et ensuite faire quelque chose du genre :
case Choix of
'f', 'F': sex := F;
'm', 'M': sex := M;
else
Writeln('Choix invalide');
end;
Marsh Posté le 26-10-2003 à 14:33:50
Merci ca marche parfaitement
Ce qui est bizarre c'est que dans mon livre le programme qu'ils montrent en exemple c'est celui qui marche pas, je trouve ca énervant ... A moins que le read et write est plus limité sur certains compilateurs auquel cas sur d'autres plus puissant cela aurait marcher....
Marsh Posté le 26-10-2003 à 14:49:48
Possible, mais ce qui est sûr c'est que l'utilisateur n'aurait pas pu entrer une lettre : juste un chiffre.
Marsh Posté le 26-10-2003 à 12:46:18
Bonjour, dans un livre d'apprentissage en pascal, j'ai exactement le programme ci dessous mais mon compilateur Turbo Pascal 7.0 me renvoie l'erreur 64 : connot read or write variablezs of this types... J'aimerai savoir pourquoi et comment arranger le problème ?
Voici le programme :
Program Grand_Petit ;
var SEX: (F,M);
MAJEUR,PETIT,GRAND,FEMME,HOMME:boolean;
AGE:1..120 ;
TAILLE:50..250 ;
begin
read(SEX,AGE,TAILLE); {c'est ici que se pose l'erreur et plus loin aussi dans le programme si j'enleve le SEX dans read}
FEMME:=SEX=F;
HOMME:=not FEMME;
MAJEUR:=AGE>18;
if FEMME
then begin
PETIT:=TAILLE<150;
GRAND:=TAILLE>170;
end
else begin
PETIT:=TAILLE<160;
GRAND:=TAILLE>180;
end;
writeln(MAJEUR,FEMME,HOMME);
writeln(AGE,PETIT,GRAND);
end.
Merci bcp !
Message édité par alextoch le 26-10-2003 à 12:46:54