Problemme debogage en c++
Résolu/Fermé
mrdevil
Messages postés
13
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
3 juin 2012
-
6 déc. 2010 à 00:18
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 déc. 2010 à 08:21
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 déc. 2010 à 08:21
A voir également:
- Problemme debogage en c++
- Mode debogage pc ✓ - Forum Windows
- Mode débogage restauration systeme impossible - Forum Windows
- Récupérer données téléphone écran noir sans débogage usb - Forum Téléphones & tablettes Android
- Débogage usb ne fonctionne pas - Forum Samsung
- Récupération données écran cassé - Forum Samsung
2 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
6 déc. 2010 à 04:13
6 déc. 2010 à 04:13
Hello,
Attention nom est de longueur 5, donc il va de 0 à 4.
nom[5] n'étant pas alloué, c'est un bug de l'utiliser.
Donc pareil pour code, vit et rav.
Même problème avec la boucle.
Il y a un point-virgule après ta condition, ce qui fait que ton
if ne fait rien.
Donc test sera toujours false.
Pourquoi ceci est dans un bloc séparé?
Bonne chance!
void recherche() { string co; bool test; test=false; int i; int vit[5] , ray[5]; string nom[5] , code[5]; nom[0]="BOING747"; nom[1]="AIRBUSA380"; nom[2]="LEARJET45"; nom[3]="DC10"; nom[4]="ANTONOV32"; nom[5]="CONCORDE";
Attention nom est de longueur 5, donc il va de 0 à 4.
nom[5] n'étant pas alloué, c'est un bug de l'utiliser.
code[0]="B0"; code[1]="AB"; code[2]="LJ"; code[3]="DC"; code[4]="AN"; code[5]="CO"; vit[0]=800; vit[1]=950; vit[2]=700; vit[3]=900; vit[4]=560; vit[5]=1400; ray[0]=10000; ray[1]=12000; ray[2]=4500; ray[3]=8000; ray[4]=2500; ray[5]=16000;
Donc pareil pour code, vit et rav.
cout<<" Veuillez saisir le code de l'avion : "; cin>>co; cout<<endl; for (i=0;i<=5;i++) { if (co!=code[i]) test=true; }
Même problème avec la boucle.
if (test==true) cout<<" ERREUR \n"; for (i=0;i<=5;i++) { if (co==code[i]);
Il y a un point-virgule après ta condition, ce qui fait que ton
if ne fait rien.
test=false;
Donc test sera toujours false.
{ cout<<" Le nom de cette avion est : "<<nom[i]<<endl; cout<<" Le code de cette avion est : "<<code[i]<<endl; cout<<" La vitesse de cette avion est de : "<<vit[i]<<endl; cout<<" Le rayon d'action de cette avion est de : "<<ray[i]<<endl; }
Pourquoi ceci est dans un bloc séparé?
Bonne chance!
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
6 déc. 2010 à 08:21
6 déc. 2010 à 08:21
salut
pas très C++ comme démarche. C'est dommage, car c'est le genre de cas ou l'objet est vraiment intéressant.
Au lieu de faire 4 tableaux pour chaque données (ce qui fait que le lien entre chaque n'est pas assuré), il aurait été mieux de créer une classe avion avec les 4 champs vit, ray, com et code. Ensuite de faire un tableau d'avion. Et encore mieux qu'un tableau, un vector pour tout stocker.
pas très C++ comme démarche. C'est dommage, car c'est le genre de cas ou l'objet est vraiment intéressant.
Au lieu de faire 4 tableaux pour chaque données (ce qui fait que le lien entre chaque n'est pas assuré), il aurait été mieux de créer une classe avion avec les 4 champs vit, ray, com et code. Ensuite de faire un tableau d'avion. Et encore mieux qu'un tableau, un vector pour tout stocker.