Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1921 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [PASCAL] Aidez moi!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PASCAL] Aidez moi!!

n°430065
neosparky
Citoyen du Monde
Posté le 17-06-2003 à 05:06:07  profilanswer
 

J'ai besoin d'aide avec quelques lignes de code en PASCAL. Je viens de commencer à programmer en PASCAL et j'aimerais savoir où se trouvent mes erreurs. Je n'arrive pas à compiler ces lignes de code:
 
PROGRAM NameRegistration;
 
 VAR
  FileName : TEXT;
  FirstName, LastName : TEXT;
  Age, Height, Weight : INTEGER;
 
BEGIN
 
 WRITELN ('Please enter your First Name: ');
 READLN (FirstName);
 
 (* ---- Beginning of Error Control ---- *)
   
 IF FirstName = '' THEN
 
  BEGIN
   WRITELN ('<<You must enter a First Name!>>');
   READLN;
   WRITELN;
   WRITELN ('Please enter your First Name: ');
   READLN (FirstName);
  END;
 
 
 (* ------- End of Error Control ------- *)
 
 WRITELN ('Please enter your Last Name: ');
 READLN (LastName);
 WRITELN ('Please enter your Age: ');
 READLN (Age);
 WRITELN ('Please enter your Height: ');
 READLN (Height);
 WRITELN ('Please enter your Weight: ');
 READLN (Weight);
 WRITELN;
 WRITELN ('[Hit Enter to Begin Process]');
 READLN;
 
 (* --- Beginning of File Operations --- *)
 
 ASSIGN (FileName, 'C:\WINDOWS\DESKTOP\', LastName, '.txt');
 REWRITE (FileName);
 WRITELN (FileName, 'First Name: ', FirstName);
 WRITELN (FileName, 'Last Name: ', LastName);
 WRITELN (FileName, 'Age: ', Age);
 WRITELN (FileName, 'Weight: ', Weight);
 WRITELN (FileName, 'Height: ', Height);
 CLOSE (FileName);
 
 (* ------ End of File Operations ------ *)
END.  


---------------
Aime son JAVA bien chaud le matin.
mood
Publicité
Posté le 17-06-2003 à 05:06:07  profilanswer
 

n°430107
vttman2
Je suis Open ...
Posté le 17-06-2003 à 09:26:17  profilanswer
 

Pascal c loin ...
 
Il manque pas un USE CRT; ou USES CRT;
 
un truc comme ça (bibliothèque de fonction)
en début de programme ?

n°430109
vttman2
Je suis Open ...
Posté le 17-06-2003 à 09:28:50  profilanswer
 

Et ça m'étonnerait que ça marche ...
 
ASSIGN (FileName, 'C:\WINDOWS\DESKTOP\', LastName, '.txt');
 
Un coup d'aide sur le ASSIGN pour vérifier la syntaxe
serait pas 2 trop ...

n°430128
antp
Super Administrateur
Champion des excuses bidons
Posté le 17-06-2003 à 09:59:46  profilanswer
 

tu devrais mettre un titre plus explicite :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°430194
BifaceMcLe​OD
The HighGlandeur
Posté le 17-06-2003 à 10:48:50  profilanswer
 

Et puis tu devrais aussi mettre le ou les messages d'erreur du compilateur, puisque tu n'arrives pas à compiler.
 
Le compilateur donne toujours précisément où il voit une erreur, et quelle erreur il voit. C'est pluitôt pratique, vu que nous ne sommes pas des compilateurs ambulants (sinon on n'aurait pas besoin d'un compilateur pour vérifier nos programmes).

n°430427
Crazy-Eagl​e
Posté le 17-06-2003 à 13:44:51  profilanswer
 

Et puis c'est pas propre de faire
FileName : TEXT;
FirstName, LastName : TEXT;
C'est mieux tout dans la meme ligne  [:alvas]
 
Et puis la partie IF machin = '' bah c'est pas beau non plus  :kaola:  
En pascal ya pas une routine do until ? marquer d'entrer le firstname tant qu'on n'entre rien ?


Message édité par Crazy-Eagle le 17-06-2003 à 13:49:28
n°430482
vttman2
Je suis Open ...
Posté le 17-06-2003 à 14:10:19  profilanswer
 

Purée Neosparky t'as bien fait de passer !
C ta fête today  :lol:

n°430803
neosparky
Citoyen du Monde
Posté le 17-06-2003 à 16:48:38  profilanswer
 

Merci pour les commentaires. Je ne suis qu'un simple petit programmeur qui espère exceler dans le futur. Anyways!!! Merci! :jap:


---------------
Aime son JAVA bien chaud le matin.
n°432580
neosparky
Citoyen du Monde
Posté le 19-06-2003 à 01:50:16  profilanswer
 

PROGRAM NameRegistration;
 
 VAR
  FirstName, FileName : TEXT;
  Age, Height, Weight : INTEGER;
 
BEGIN
 
 WRITELN ('Please enter your First Name: ');
 READLN (FirstName);
 
 (* ---- Beginning of Error Control ---- *)
   
 IF FirstName = '' THEN
 
  BEGIN
   WRITELN ('<<You must enter a First Name!>>');
   READLN;
   WRITELN;
   WRITELN ('Please enter your First Name: ');
  END;
   
 (* ------- End of Error Control ------- *)
 
 WRITELN ('Please enter your Age: ');
 READLN (Age);
 WRITELN ('Please enter your Height: ');
 READLN (Height);
 WRITELN ('Please enter your Weight: ');
 READLN (Weight);
 WRITELN;
 WRITELN ('[Hit Enter to Begin Process]');
 READLN;
 
 (* --- Beginning of File Operations --- *)
 
 ASSIGN (FileName, 'C:\WINDOWS\DESKTOP\test.txt');
 REWRITE (FileName);
 WRITELN (FileName, 'First Name: ', FirstName);
 WRITELN (FileName, 'Age: ', Age);
 WRITELN (FileName, 'Weight: ', Weight);
 WRITELN (FileName, 'Height: ', Height);
 CLOSE (FileName);
 
 (* ------ End of File Operations ------ *)
END.  
 
 
Bon quand je compile ces ligne de codes dans un compilateur, il me donne ces 2 erreurs:
 
ERROR:  (18,5): Type mismatch   <----- le IF
ERROR:  (43,37): Invalid expression   <------ La partie FirstName en gras
 
Je ne vois pas les erreurs dans ces lignes... p-e vous en voyez?


Message édité par neosparky le 19-06-2003 à 01:52:53

---------------
Aime son JAVA bien chaud le matin.
n°432766
vttman2
Je suis Open ...
Posté le 19-06-2003 à 11:16:42  profilanswer
 

Utilise string à la place de text
 
FirstName, FileName : TEXT;
=>  
Pour lire une variable de type TEXT ça serait
un read que tu devrais utiliser pour parcourir
les lignes de ton texte ...

mood
Publicité
Posté le 19-06-2003 à 11:16:42  profilanswer
 

n°432798
BifaceMcLe​OD
The HighGlandeur
Posté le 19-06-2003 à 11:53:13  profilanswer
 

Oui, comme dit vttman2, le type TEXT en Pascal n'est pas un type "chaine de caractères de longueur indéterminée", mais un type "fichier texte". Et on ne peut comparer une variable de type fichier à une variable de type chaine de caractères ('' est de type string).

n°433110
neosparky
Citoyen du Monde
Posté le 19-06-2003 à 15:36:00  profilanswer
 

Ahh que je suis con! Je viens juste de comprendre. Je me suis melangé avec du VB c'est pour ca que je pense toujours texte et pas string...
 
En passant, ca fonctionnne enfin. La il faut juste que je trouve une meilleur facon de faire mon controle d'erreur parce qu'un simple IF THEN ne marche pas. Quelques idées?
 
Merci Tout le monde! :jap:


Message édité par neosparky le 19-06-2003 à 15:41:17

---------------
Aime son JAVA bien chaud le matin.
n°433131
antp
Super Administrateur
Champion des excuses bidons
Posté le 19-06-2003 à 15:54:14  profilanswer
 

FirstName := '';
Writeln('Please enter your first name:');
repeat
  Readln(FirstName);
  if FirstName = '' then
    Writeln('You must enter your first name !');
until FirstName <> '';


 
Ça devrait aller.
Si tu veux qu'il marque à chaque fois le "please enter..." il suffit de le mettre après le repeat au lieu de le mettre avant.


Message édité par antp le 19-06-2003 à 15:55:06

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°433735
neosparky
Citoyen du Monde
Posté le 20-06-2003 à 03:18:38  profilanswer
 

une fois de plus, merci encore pour votre aide. Vous me verrez surement plus tard avec de nouvelles questions concernant PASCAL.


---------------
Aime son JAVA bien chaud le matin.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [PASCAL] Aidez moi!!

 

Sujets relatifs
[TURBO PASCAL] Comment imprimer un dessin ? [Résolu]aidez moi SVP je voudrai mettre mon pc et celui de mon fils en RESEAU
[aidez moi à diagnostiquer un bug apache/php/mysql][PHP] Céline a un problème complexe ! Aidez la SVP ! ;o)
pb avec un label .. svp aidez moi ;)Turbo Pascal 7, comment faire...
c'est combien la durée de vie d'une variable PHP ? Aidez moi SVP !Problème en programant un Batch, aidez-moi svp...
[pascal en delphi] aidez moi pitié..PASCAL: Je vous en supplie, aidez moi, ou lisez au moins!!
Plus de sujets relatifs à : [PASCAL] Aidez moi!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR