IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

pb de declaration


Sujet :

Delphi

  1. #1
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut pb de declaration
    bonjour,
    j'ai fait programme mais veut pas marcher
    mais je vois pas l'erreur que j'orai pu commettre;
    le compilateur me dit que un declaration est attendu mais fin de fichier trouvé
    j'ai remuer le pb ds tous les sens mais j'y arrive pas.
    Et je suis persuadé que c'est super con

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2003
    Messages : 110
    Par défaut
    Merci de mettre le code ou de préciser car là on peut pas t'aider ...

  3. #3
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function hasard(max: Integer):real;
     
     
    begin
     
      randomize;
      result:=random(max)+1;
     
    end;
    dsl

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Ce n'est certainement pas le code de cette seule fonction qui provoque l'erreur.
    Regardes quelle est l'instruction qui t'est renseignée par le compilateur.

  5. #5
    Membre éprouvé Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Par défaut
    Salut, as tu bien déclaré ta fonction dans la partie Interface ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Interface
     
    function hasard(max: Integer):real;
     
    Implementation
     
    function hasard(max: Integer):real; 
    begin
      randomize;
      result:=random(max)+1;
    end;

  6. #6
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    a marche po ca non plu
    me met plus d'erreur a cause d'implatation et d'interface

  7. #7
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Envoies ta source complète.

  8. #8
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    oups j'ai donner le mauvais dsl voila le bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    program jeudedes;
    {$APPTYPE CONSOLE}
    uses
      sysutils;
     
    var
    nbjoueur,totjoueur,maxde1:integer;
    de1,de2,score:real;
    nomjoueur:string;
    function hasard (max:integer):real;
     
     
    begin
     write ('combien de joueurs participent à la partie ?:');
     read (nbjoueur);
     
     totjoueur:=0;//cumul mis à 0
     
     if nbjoueur >=2
        then begin write ('nom du joueur:');
                   read (nomjoueur);
                   while totjoueur<>nbjoueur do // debut de la boucle
                   begin
                   totjoueur:= totjoueur+1;      // cumul du nombre de joueur
     
                   de1:= hasard(6);                // fonction pour le 1er dé
                   de2:= hasard(6);               // fonction pour le 2eme dé
     
                   if de1<>de2
                       then score:=de1+de2
                       else if de1=de2
                                then score:=(de1+de2)*2
                                else if de1=6
                                        then score:=de1+de2*2
                                        else if de2=6
                                                then score:=de1*2+de2;
     
                      write ('nom du joueur:');
                      read (nomjoueur)
                   end
              end
     
        else write ('nombre de joueurs insufisant pour commencer une partie'); // si il y à moins de 2 joueurs
     
     
        write('le score est de :');
        readln(score);
    end;

  9. #9
    Membre éclairé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Par défaut
    Salut

    Il manque le
    final

    Si tu as copié l'intégralité de ton code, le pb vient de là

  10. #10
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Juillet 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Par défaut
    C'est pire que ça encore.

    Voila le code exact :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    program jeudedes;
    {$APPTYPE CONSOLE}
    uses
      sysutils;
     
    var
    nbjoueur,totjoueur,maxde1:integer;
    de1,de2,score:real;
    nomjoueur:string;
    
    function hasard (max:integer):real;
    begin
      result:=random(max)+1;
    end;
     
    begin
     randomize; //Pour initialiser le gestionnaire aléatoire !
    
     write ('combien de joueurs participent à la partie ?:');
     read (nbjoueur);
     
     totjoueur:=0;//cumul mis à 0
     
     if nbjoueur >=2
        then begin write ('nom du joueur:');
                   readln (nomjoueur);
                   while totjoueur<>nbjoueur do // debut de la boucle
                   begin
                   totjoueur:= totjoueur+1;      // cumul du nombre de joueur
     
                   de1:= hasard(6);                // fonction pour le 1er dé
                   de2:= hasard(6);               // fonction pour le 2eme dé
     
                   if de1<>de2
                       then score:=de1+de2
                       else if de1=de2
                                then score:=(de1+de2)*2
                                else if de1=6
                                        then score:=de1+de2*2
                                        else if de2=6
                                                then score:=de1*2+de2;
     
                      write ('nom du joueur:');
                      writeln (nomjoueur)
                   end
              end
     
        else write ('nombre de joueurs insufisant pour commencer une partie'); // si il y à moins de 2 joueurs
     
     
        write('le score est de :');
        writeln(score);
    end.
    En rouge tous les changements. De plus tu vas avoir un probleme car j'imagine que tes dés doivent donner des résultats en entier ! pour l'instant tu aura des résultats de type réel et non entier. Le code ainsi corrigé devrait passer

  11. #11
    Membre confirmé Avatar de babou54
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 137
    Par défaut
    merci beaucoup ca fait une semaine que je suis dessus

  12. #12
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Juillet 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Par défaut
    Faut dire, tu as l'air d'apprendre du pascal de base en faisant une application console avec Delphi !

    Je penses qu'on te réponds tous en pensant aux structures objets et aux unités ce que tu n'utilises pas.

    Pour en revenir au cas du real si tu veux que de1=de2 un jour, ben bonne chance ! tu dois avoir 1 chance sur plus de 10^32 !

    Je te conseille de regarder du côté de Integer et de Round !

    Ca me fait penser que je faisais créer un jeu de Yams à mes élèves de collège dans mon club Info. Si ça peut t'aider je retrouverais les sources.

  13. #13
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par flash_math
    Je te conseille de regarder du côté de Integer et de Round !
    Ou alors remplacer
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if SameValue(de1, de2) then


    PS: si le sujet est résolu, merci de cliquer sur le bouton
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  14. #14
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Juillet 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Par défaut
    Vu l'étendue de real pour avoir la même valeur accroche toi ! En fait je epnses qu'il essaye de tirer un de à 6 faces donc il vaudrait mieux utiliser des variables de type Integer que de type real.

  15. #15
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Citation Envoyé par flash_math
    Vu l'étendue de real pour avoir la même valeur accroche toi !
    +1
    Citation Envoyé par flash_math
    En fait je epnses qu'il essaye de tirer un de à 6 faces donc il vaudrait mieux utiliser des variables de type Integer que de type real.
    Ah ben si c'est vraiment le cas, c'est sur que ce serait beucoup plus simple

    [Edit]
    J'avais mal compris
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Traduction] probleme de declaration
    Par Mercilius dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2003, 16h16
  2. Declaration d objets en tableau
    Par Spin dans le forum Composants VCL
    Réponses: 6
    Dernier message: 16/03/2003, 22h18
  3. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37
  4. Declaration Type ds une procedure
    Par Qwazerty dans le forum Langage
    Réponses: 6
    Dernier message: 28/08/2002, 09h09
  5. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo