Je suis un grand débutant en C++. Dans le cadre de mon stage, je dois faire un programme en C++ pour calculer des paramètres électriques tels que le glissement, ... à partir des données contenues dans un fichier txt.
Je veux extraie les différentes grandeurs (fréquence d'alimentation, fréquence de rotation) et les attribuer à des variables que j'utilise dans ma formule pour le calcule du glissement g du moteur.
J'ai perdu pas mal de temps. J'ai cherché dans les forums mais je trouve que des codes pour lire des lignes et l'afficher sur une console
Please, I need help!!!
Thank you!
A voir également:
Extraire une valeur décimale et l'utiliser ensuite pour calculer une valeur
1) N'utilise pas using namespace, jamais ! Il suffit d'écrire std::cout, au lieu de cout.
2) Un nom de variable n'a *jamais* de majuscules, par convention, seul les noms de classes en ont une.
3) Pas de variable globale ! Encore une fois, c'est la pire chose à faire.
4) Il faut vérifier si le fichier a été ouvert correctement.
A noter que les nombres doivent être séparés par des . et non des ,
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée quand un post répond à votre question
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée quand un post répond à votre question
Ce n'est pas vraiment du C++. Dès le moment ou tu veux dessiner quelque chose, tu dois faire appelle à des bibliothèques externes.
C'est une tout autre question. Donc, si ton problème est résolu, valide la réponse, et ouvre un nouveau sujet sur le forum.
Pour dessiner des courbes, tu peux utiliser gnu plot (facile à utiliser, si tu es sous Linux).
Ou alors prendre QT (avec QTCreator).
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée quand un post répond à votre question
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Vous n’avez pas trouvé la réponse que vous recherchez ?
J'ai une fichier txt qui contient 3200 lignes avec 11 colonnes et avec quelques paramétres: fréquence d'alimentation, fréquence de rotation,..., je voudrais récupérer dans un premier temps la fréquence d'alimentation et la fréquence de rotation que j'affeterai à deux variables que j'utiliserai pour évaluer le glissement g = (falim - frot)/falim.
Je n'arrive pas à extraire ces grandeurs depuis le fichier txt.
Comment faire pour les extraire et comment faire pour les utiliser ensuite pour faire le calcul en C++.
Comment les données sont elles écrites dans le fichier ?
Les lignes sont séparés par un délimiteur ?
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Tu commences par ouvrir le fichier en lecture, via un "std::ifstream".
Ensuite, les données étant séparées par des tabulations, tu peux simplement le faire entrée dans tes variables, grâce à l'opérateur ">>".
Ex: Soit le fichier:
toto 1 1.5
titi 2 78.5
tutu 3 0.7
Pour récupérer les données, je ferais:
std::ifstream file("fichier.txt");
std::string name;
int nb;
double decimal;
while (file >> name >> nb >> decimal)
std::cout << name << " " << nb << " " << decimal << std::endl;
file.close();
A toi de comprendre cet exemple, et de l'adapter à ton cas.
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Post ton code et une petite partie du fichier d'entrée.
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée quand un post répond à votre question
Je ne sais pas, tu ne m'a pas donné le fichier d'entrée ! (fichier.txt)
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée quand un post répond à votre question
C'est normal !
Tu ne peux pas utiliser la même méthode pour récupérer toutes les lignes.
Donc tu ne dois faire ta boucle qu'après.
Pour résumer:
std::string ignore; // En fait, la première colonne est descriptive, et je n'ai pas l'impression que tu t'en serves, donc on va l'appeler "ignore", et elle ne sera là que pour "matcher" ce que l'on veut. On ne s'en reservira pas.
int fmax;
file >> ignore >> fmax;
int supc;
file >> ignore >> supc;
etc... jusqu'à "X Resolution 0,0..."
Puis tu fais une boucle pour récupérer toutes les coordonnées.
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée quand un post répond à votre question
J'ai fait du std::cout << "Frequence d'alimentation : "<< falim << std::endl; pour voir la valeur que proramme lise: Frequence d'alimentation = 1. 12398e+292 au lieu de 50.