Plusieurs feuilles dans un programme C++

Résolu/Fermé
Jockill Messages postés 102 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 13 mai 2019 - Modifié le 4 mai 2018 à 11:07
Jockill Messages postés 102 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 13 mai 2019 - 4 mai 2018 à 18:50
Bonjour,
je débute en C++ et, par soucis de propreté et que vu qu'il risque d'y avoir un tas de fonctions et de classes au final, je souhaite ecrire chaque fonction et chaque classe sur une feuille a part.

J'ai essayé de faire fonctionner le tout par moi meme et voila ce que j'ai :

main.cpp :
#include <iostream>
#include <string>
#include <time.h>
#include <stdlib.h>
#include "head.h"
using namespace std;


int main()
{
    int resultat;
    int force;
    force = 50;
    resultat = de(force);
    return 0;
}


de.cpp :
#include <iostream>
#include <string>
#include <time.h>
#include <stdlib.h>
#include "head.h"
using namespace std;

int de(int forceJ)
{
    int reussite; //Sera utilisée
    int lancer;
    srand(time(NULL));
    lancer = 1+rand()%99;
    cout << lancer;

    return lancer;
}


head.h:
#ifndef HEAD_H_INCLUDED
#define HEAD_H_INCLUDED

#include <iostream>
#include <string>
#include <time.h>
#include <stdlib.h>

int de();

#endif // NTR_H_INCLUDED



Je ne sais vraiment pas où je me suis planté... La seule erreur que j'obtiens c'est :
error: too many arguments to function 'int de()'

Est ce qu'un gentleman programmeur pourrait me sortir de la ?
Merci beaucoup d'avance !
Jockill

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Thebloodwolf1 Messages postés 1 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 4 mai 2018 1
4 mai 2018 à 01:08
J'ai essayé de rajouter l'argument "int forceJ" dans ta déclaration de fonction int de(); dans head.h et tout a fonctionné.
1
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
4 mai 2018 à 11:03
Un fichier d'entête doit déclarer ce et seulement ce que l'on souhaite rendre accessible. Il ne doit inclure que les déclarations nécessaires à lui-même (en mettre plus c'est imposer une énorme contrainte pouvant amener des problèmes d'inclusions en cycles.) Le fichier devrait être ici :
// un commentaire sur le rôle de ce fichier

#ifndef FCT_DE_H_INCLUDED
#define FCT_DE_H_INCLUDED // nom "bien" choisi doit être impérativement unique

// surtout pas d'include ici car ce qui suit ne nécessite aucun objet spécifique

int de( int  unNomExplicite );  // ce qui est visible (avec des noms très explicites, et des commentaires, sinon comment s'y retrouver plus tard

#endif // FCT_DE_H_INCLUDED
0
Jockill Messages postés 102 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 13 mai 2019 23
4 mai 2018 à 18:50
Ah ouais mais je suis vraiment un tas en fait...
L'erreur vient du fait que ma fonction de() n'utilise pas d'argument et donc quand j'ai voulu l'utiliser, en mettant un argument ça n'a pas marché :)
Merci pour votre aide, je retiendrais ce que tu m'a dit Dalfab
Have fun ^^
Jockill
0