Bonjour, je suis un débutant en c++ et c'est la première fois que j'écris sur ce forum donc dites moi si je fais une erreur.
Je suis le cours en c++ d'OpenClassroom et j'en suis à la partie sur le header file. J'ai créer un programme qui permet de trouver les initiales d'une personne. Voilà à quoi il ressemble :
#include <iostream>
#include <string>
using namespace std;
void trouverInitiale(string a, string b)
{
string initialePrenom(a.substr(0,1));
string initialeNom(b.substr(0,1));
if (b.find_first_of("-") != -1){
int indexInitiale2(b.find_first_of("-") + 1);
string initialeNom2(b.substr(indexInitiale2,1));
initialeNom = initialeNom + initialeNom2;
}
cout << "les initiales sont " << initialePrenom << " et " << initialeNom <<endl;
}
int main()
{
string prenom, nom;
cout << "entre ton prenom " << endl;
getline(cin, prenom);
cout << "entre ton nom " << endl;
getline(cin, nom);
trouverInitiale(prenom, nom);
return 0;
}
Ensuite tout en suivant le cours d'OpenClassroom j'ai essayé de séparer ma fonction trouverInitiale de mon fichier main pour la mettre dans un fichier que j'ai appelé math.cpp (comme dans le cours). J'ai également créer le fichier math.hpp. Voici à quoi mon programme ressemble maintenant :
main.cpp :
#include <iostream>
#include <string>
#include "math.hpp"
using namespace std;
int main()
{
string prenom, nom;
cout << "entre ton prenom " << endl;
getline(cin, prenom);
cout << "entre ton nom " << endl;
getline(cin, nom);
trouverInitiale(prenom, nom);
return 0;
}
As-tu bien cherché si ta question a déjà été posée et résolue dans le forum. Le cours C++ openclassrooms existe depuis 30 ans! Donc enseigne le C++ d'il y 30 ans! Et ce dernier à évolué...
Donc le cours semble mal expliquer ce qu'il faut compiler. La 1000ème réponse à ton problème: Tu dois compiler tous tes fichiers .cpp, et faire une édition des liens de chaque compilation. Ca peut se faire en une seule ligne. Par exemple avec clang: clang++ -Wall -pedantic -Wextra -o mon_appli main.cpp math.cpp
Merci à toi pour ta réponse et oui j'avais cherché mais je pensais que mon problème était différent que celui décrit dans les réponses.
Est-ce que tu pourrais juste me spécifier ou je dois rentrer ça ? (console, terminal ?) et si je dois rentrer cette ligne à chaque fois que j'éxecute le programme ou juste une fois suffit ?
(PS: je suis sur mac et je compile avec clang++ sur VScode)
VSCode, n'est pas un EDI mais un Editeur, Il peux exécuter quelques tâches à partir de fichiers json. Il n'est donc pas capable de compiler et lier un projet avec plus d'un fichier source directement sans créer un tâches adéquate. Il n'est pas très intuitif.
Il serai peut-être plus simple de faire tes premières compilations en ligne de commande.
DestructorVIP a écrit:
Est-ce que tu pourrais juste me spécifier ou je dois rentrer ça ? (console, terminal ?)
console, terminal Oui
DestructorVIP a écrit:
si je dois rentrer cette ligne à chaque fois que j'éxecute le programme ou juste une fois suffit ?
Cette ligne, c'est quand tu "compiles" ton projet.
(PS: je suis sur mac et je compile avec clang++ sur VScode)
VSCode, n'est pas un EDI mais un Editeur, Il peux exécuter quelques tâches à partir de fichiers json. Il n'est donc pas capable de compiler et lier un projet avec plus d'un fichier source directement sans créer un tâches adéquate. Il n'est pas très intuitif."
Il serai peut-être plus simple de faire tes premières compilations en ligne de commande.
Ah merci je comprends mieux, je n'avais pas cette notion de EDI qui est différent d'un éditeur, du coup, j'ai installé Xcode et c'est vrai que ca marche mieux. Merci pour vos réponses rapides et constructives.
- Edité par DestructorVIP 28 juillet 2024 à 19:52:12
Impossible d'éxecuter mon fichier main.cpp
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
Le Tout est souvent plus grand que la somme de ses parties.