Sign in to follow this  
dPm

amis du C++

Recommended Posts

voilà, j'ai un problème avec un petit fichier en cpp.

mon programme a pour but la modification des plans de vols du traffic AI dans flight sim. Ces plans de vols sont dans un fichier txt (de 2Mo tout de même).

je veux retirer des vols en fonction de 1° l'avion et 2° s'il concerne un aéroport français.

mon programme doit dans ce fichier regarder chaque ligne (correspondant à un plan de vol différent), déterminer si l'avion fait parti de la liste d'avion qui attire mon attention, et ensuite vérifier s'il se pose en France. Si c'est pas le cas, la ligne est inscrite dans un fichier txt de sortie.

le déroulement du programme:

1- il demande le chemin et le nom du fichier (pour pas avoir à retaper le truc à chaque essai, je l'ai inscrit direct et mis le cin en remarque)

2- il ouvre le fichier d'entrée et crée le fichier de sortie.

3- il boucle sur un do while où il lit la ligne en la mettant dans une chaine de caractère et en captant le numéro de l'avion.

ensuite, il teste le numéro, puis si c'est concluant, il teste les noms d'aéroport qui doivent commencer par LF pour indiquer la France.

mon problème est que le do while ne s'arrête pas (je crois). Sinon, je crois que j'ai une merde dans un test sur l'aéroport (ça doit mettre un false au lieu d'un true, m'enfin, c'est pas un gros problème...)

exemple d'une ligne, avec en gras, dans l'ordre: numéro de l'avion, aéroport 1, aéroport 2

AC#4,N24680,20%,8Hr,IFR,00:35:16,03:43:43,290,F,5119,KLEX,04:35:13,07:43:39,300,F,5118,LFPB

voilà 4 plans de vols

[cpp]AC#4,N24680,20%,8Hr,IFR,00:35:16,03:43:43,290,F,5119,KLEX,04:35:13,07:43:39,300,F,5118,LFPB

AC#28,N69080,52%,6Hr,VFR,01:14:11,03:28:39,065,F,7545,ESNX,04:14:08,06:28:37,075,F,7544,ENAT

AC#44,N69016,25%,12Hr,IFR,01:51:16,06:47:28,320,F,7668,ESNX,07:51:21,12:47:33,310,F,7669,UTSB

AC#44,N92176,21%,12Hr,IFR,04:27:48,09:15:18,300,F,0273,KPDX,10:27:43,15:15:12,310,F,0272,KVQQ

[/cpp]

voilà le code

[cpp]/***********************************

* FS Basic Airliner Remover *

* par dPm *

***********************************/

#include

#include

#include

#include

#include

using namespace std;

//constante

#define NBVIRG1 10

#define NBVIRG2 6

//déclaration des fonctions

void titre(void);

//fonction titre

void titre(void)

{

//titre a la con pour faire joli

system("cls");

cout<<"FS Basic Airliner Remover\nPar dPm\n-------------------------\n\n";

}

//fonction main

main()

{

char filepath[256];

char temp[6];

char tampon[300];

int valeurAC[39]={4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,46,47,48,50,54,55,57,58,59};

char ctemp = 'a';

int pos1 = 0;

int pos2 = 0;

int acnum = 0;

int x = 0;

bool delAC = false;

titre();

cout<<"veuillez indiquer le fichier avec arborescence complète:\n";

//cin>>filepath;

strcpy(filepath, "c:\\texte.txt");

fstream forg(filepath);

fstream ffin("c:\\fichiersortie.txt");

titre();

if(forg.is_open())

{

cout<<"Le fichier est ouvert\n";

system("PAUSE");

}

else

{

cout<<"Erreur d'ouverture de fichier\nFin du programme\n\n";

return;

}

titre();

forg.seekg(0);

do

{

x = 0;

delAC=false;

pos1 = forg.tellg();

pos2 = pos1 + 4;

forg.seekg(pos2);

forg>>acnum;

forg.seekg(pos1);

forg.getline(tampon, 300, '\n');

while(x<39)

{

if(acnum == valeurAC[x])

{

delAC = true;

x=40;

}

x++;

}

if(delAC == false)

{

x=0;

while(x<100)

{

if(tampon[x] == 'L' && tampon[x+1] == 'F')

{

delAC = true;

x = 340;

}

x++;

}

}

if(delAC == false)

{

cout<

ffin<

}

}while(!(forg.eof()));

}[/cpp]

Share this post


Link to post
Share on other sites

T'es un grand malade :P.

J'ai fait ce genre de code il y a perpet' en C, mais j'ai pas fait de C++ donc j'ai un peu de mal avec certaines fonctions. Je peux pas trop aider, mais j'y jeterai un oeil parce que ca m'interesse.

Share this post


Link to post
Share on other sites

C'est pas pour jouer les rabat-joies, mais il y a une section coding dans la partie création du forum. Maintenant, le problème est réglé, mais certaines personnes qui postent dans la mauvaise section se font fermés leur topic.

J'dis ça j'dis rien. :)

Share this post


Link to post
Share on other sites

Généralement on déplace les topics plutôt que de les fermer...

Pour celui ci , le coding n'avait rien à voir avec un quelconque mod de HL, dpm en postant ici espérait toucher le plus grand nombre tout simplement.

En même temps est-ce si grave que ça ?

Ca t'empeche pas de dormir la nuit?

Bon bah dis pas ça, dis plutôt rien [:xdddd]

Share this post


Link to post
Share on other sites
C'est pas pour jouer les rabat-joies, mais il y a une section coding dans la partie création du forum. Maintenant, le problème est réglé, mais certaines personnes qui postent dans la mauvaise section se font fermés leur topic.

J'dis ça j'dis rien. :)[/quotemsg]

nan mais j'ai soudoyé les modos aussi...

enfin bref, la raison invoquée par Pata ("ça ne concerne pas les mods HL") est la raison pour laquelle je ne l'ai pas fait là bas.

Share this post


Link to post
Share on other sites

Non ça m'empèche pas de dormir, mais y'a comme une petite injustice par rapport à certains membres qui n'ont pas la même influence ou notoriété que dpm. Et dans la partie création, il n'y a pas que des questions en rapport avec half-life ou un mod de celui-ci.

Share this post


Link to post
Share on other sites

Bah tu sais quoi, le prochain post, il le fera là-bas.

Ca va mieux ou tu veux que je ferme le topic et que je colle 15 jours de TT a dPm ?

Franchement, j'ironise mais c'est affolant de voir comment tu prends ça à coeur...

Share this post


Link to post
Share on other sites

Nan mais

Big Brother's watching you

Faut comprendre aussi, on est épiés, persécutés, spoliés, et en plus darth c'est big papy, le pépé de big brother.

Share this post


Link to post
Share on other sites
Nan mais
Big Brother's watching you

Faut comprendre aussi, on est épiés, persécutés, spoliés, et en plus darth c'est big papy, le pépé de big brother.[/quotemsg]

Si tu regardes le topic H/L; il est bientot mort le pépé, Pata sera bientot le seul maitre...

Share this post


Link to post
Share on other sites
Bah tu sais quoi, le prochain post, il le fera là-bas.

Ca va mieux ou tu veux que je ferme le topic et que je colle 15 jours de TT a dPm ?

Franchement, j'ironise mais c'est affolant de voir comment tu prends ça à coeur...[/quotemsg]

Oui j'suis content comme ça, mais non je ne prends pas ça à coeur. C'est juste qu'il y a un réglement et qu'apparemment il n'était pas appliqué à tout le monde. Merci! ^^

Nan mais
Big Brother's watching you

Faut comprendre aussi, on est épiés, persécutés, spoliés, et en plus darth c'est big papy, le pépé de big brother.[/quotemsg]

:lol:

Share this post


Link to post
Share on other sites
Non ça m'empèche pas de dormir, mais y'a comme une petite injustice par rapport à certains membres qui n'ont pas la même influence ou notoriété que dpm. Et dans la partie création, il n'y a pas que des questions en rapport avec half-life ou un mod de celui-ci.[/quotemsg]

Tu sais, en même temps, traiter quelqu'un qui est ici depuis 2002/2003 (ça compte l'apocalypse?) strictement de la même façon que quelqu'un qui est beaucoup plus jeune (sur le forum, j'entends), ferait qu'il n'y aurait pas de communauté. En plus, il y a plus ou moins des communautés dans chaque cat'. J'aurais effectivement pu aller voir là bas.

Alors, ouais ya des privilégiés, sans doutes... Mais que veux-tu faire contre ça? C'est la vie hein...

Share this post


Link to post
Share on other sites

Le but d'un réglement, c'est de mettre des règles. Faire des exceptions, c'est renié ces règles. Alors soit on fait un réglement pour tout le monde, soit on le fait pour personne!

De plus, voici un extrait de ce réglement approuvé apparemment par tous les modérateurs :

Aide-HL : Constitue une base de tutoriels et d'aides diverses.

News : Toutes les news de Vossey.com, ainsi que les commentaires.

Mods Officiels : Pour discuter à propos de ces Mods les plus joués au monde.

Autres Mods : Moins connus, ils constituent néanmoins une part importante dans la communauté.

Half Life 2 : Qui n'en a jamais entendu parler ?

Condition-Zéro : Le jeu solo de Counter-Strike.

Création : Envie de vous lancer dans le mapping ou de télécharger des fichiers customs pour améliorer l'ordinaire de votre jeu ?

Aide Technique : Un problème ? C'est ici qu'il faut aller !

Clans| LAN | IPs : Un coup de pub ? Une annonce pour votre nouveau serveur ?

Général : Pour parler de tout, enfin.. presque !

Serveurs de jeux : cette catégorie vous permet de rechercher rapidement la raison d'une sanction sur un de nos serveurs, ou, de la demander

Site Vossey.com : Pour faire part de vos idées ou de vos remarques à l'équipe du site.

Il vous est demander de bien respecter ce rangement, qui est effectué pour une meilleure lisibilité des sujets. Par exemple, toutes les questions concernant un mod devront être posées dans la catègorie "Aide Technique", qui regroupera alors toutes les questions des forumeurs.

Pour ce qui est de traiter les plus vieux différemment, ok si ce traitement ne va pas à l'encontre des règles établies au préalable.

Share this post


Link to post
Share on other sites

Ne dit-on pas que l'exception confirme la règle ? :)

Allez allez, faisez des bisous.

Ouais, y'a des passe-droit, et alors ? On va pas en chier une barrique pour si peu.

Share this post


Link to post
Share on other sites
[:rofleuh] j'y pensais plus à ce topic ^^

j'ai plus simple, un pote de l'EPITA m'a proposé de me le coder :D[/quotemsg]

En attendant, tu dois pouvoir faire ça en une ligne avec awk.

Share this post


Link to post
Share on other sites

awk? :heink:

connais pas ça moi :|

chui débutant en C/C++ xD

ndkorn:

Création : Envie de vous lancer dans le mapping ou de télécharger des fichiers customs pour améliorer l'ordinaire de votre jeu ?

ouais, mais par "votre jeu", la charte désigne quoi? (sachant qu'on est sur un forum concernant la plateforme steam :D )

donc, je suis aussi dans la bonne cat', tout dépend du point de vue...

CQFD

:D

Share this post


Link to post
Share on other sites
Mouais...

Que j'te vois pas poster dans la mauvaise cat toi :o[/quotemsg]

Ca risque pas. ;)

Et de toute manière on s'en fout, y'a rien de grave.

(Le relance pas, toi :o)[/quotemsg]

T'inquiète pas, je sais que si je relance ce "débat" on risque de tourner en rond jusqu'à la fermeture du topic. :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this