Problemme debogage en c++
Résolu
mrdevil
Messages postés
14
Statut
Membre
-
Char Snipeur Messages postés 10112 Statut Contributeur -
Char Snipeur Messages postés 10112 Statut Contributeur -
Bonjour,
2 ème probleme j'ai reussit a faire le programme suivant :
Ecrire un programme C++ qui permet de :
Declarer 4 Tableaux en memoire avec 1a structure Suivante :
1 ) Demander Le Code d'un avion ensuite
Rechercher en table et afficher son nom, sa vitesse, son Rayon d'action si non trouve Afficher
"erreur"
2) afficher la moyenne des rayons d'action
3) afficher l'avion qui vole Ie plus vite
bon mon programme en c++ est le suivant :
#include<iostream>
#include<string>
using namespace std;
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";
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;
cout<<" Veuillez saisir le code de l'avion : ";
cin>>co;
cout<<endl;
for (i=0;i<=5;i++)
{
if (co!=code[i])
test=true;
}
if (test==true)
cout<<" ERREUR \n";
for (i=0;i<=5;i++)
{
if (co==code[i]);
test=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;
}
}
}
void moyenne()
{
int ray[5];
ray[0]=10000;
ray[1]=12000;
ray[2]=4500;
ray[3]=8000;
ray[4]=2500;
ray[5]=16000;
int m,s,j;
for (j=0;j<=5;j++)
m=m+ray[j];
s=m/6;
cout<<" La moyenne des rayons d'action est de : "<<s<<endl;
}
void vitesse()
{
int k,vmax,x;
int vit[5];
string nom[5];
nom[0]="BOING747";
nom[1]="AIRBUSA380";
nom[2]="LEARJET45";
nom[3]="DC10";
nom[4]="ANTONOV32";
nom[5]="CONCORDE";
vit[0]=800;
vit[1]=950;
vit[2]=700;
vit[3]=900;
vit[4]=560;
vit[5]=1400;
vmax=vit[0];
for(k=0;k<=5;k++)
{
if (vit[k]>vmax)
{
vmax=vit[k];
x=k;
}
}
cout<<" L'avion qui vole le plus vite est : "<<nom[x]<<"\n";
}
main()
{
cout<<" 1) : Recherche d'avion \n";
cout<<" 2) : La moyenne des rayons d'actions \n";
cout<<" 3) : Afficher l'avion qui vole le plus vite \n";
cout<<endl;
cout<<endl;
int choix;
cout<<" Veuillez saisir votre choix : ";
cin>>choix;
cout<<endl;
while (choix<0 || choix>3 )
{
cout<<" Veuillez saisir un choix entre 0 et 3 SVP : ";
cin>>choix;
}
switch (choix)
{
case 1:recherche();
break;
case 2:moyenne();
break;
case 3:vitesse();
break;
}
cout<<endl;
system("pause");
}
quand je compile ca marche bien mais a l'exécution j' ai un problème de débogage pour l'application de recherche d'avion
est ce que vous avez des solution au problème
et merci d'avance.
2 ème probleme j'ai reussit a faire le programme suivant :
Ecrire un programme C++ qui permet de :
Declarer 4 Tableaux en memoire avec 1a structure Suivante :
1 ) Demander Le Code d'un avion ensuite
Rechercher en table et afficher son nom, sa vitesse, son Rayon d'action si non trouve Afficher
"erreur"
2) afficher la moyenne des rayons d'action
3) afficher l'avion qui vole Ie plus vite
bon mon programme en c++ est le suivant :
#include<iostream>
#include<string>
using namespace std;
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";
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;
cout<<" Veuillez saisir le code de l'avion : ";
cin>>co;
cout<<endl;
for (i=0;i<=5;i++)
{
if (co!=code[i])
test=true;
}
if (test==true)
cout<<" ERREUR \n";
for (i=0;i<=5;i++)
{
if (co==code[i]);
test=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;
}
}
}
void moyenne()
{
int ray[5];
ray[0]=10000;
ray[1]=12000;
ray[2]=4500;
ray[3]=8000;
ray[4]=2500;
ray[5]=16000;
int m,s,j;
for (j=0;j<=5;j++)
m=m+ray[j];
s=m/6;
cout<<" La moyenne des rayons d'action est de : "<<s<<endl;
}
void vitesse()
{
int k,vmax,x;
int vit[5];
string nom[5];
nom[0]="BOING747";
nom[1]="AIRBUSA380";
nom[2]="LEARJET45";
nom[3]="DC10";
nom[4]="ANTONOV32";
nom[5]="CONCORDE";
vit[0]=800;
vit[1]=950;
vit[2]=700;
vit[3]=900;
vit[4]=560;
vit[5]=1400;
vmax=vit[0];
for(k=0;k<=5;k++)
{
if (vit[k]>vmax)
{
vmax=vit[k];
x=k;
}
}
cout<<" L'avion qui vole le plus vite est : "<<nom[x]<<"\n";
}
main()
{
cout<<" 1) : Recherche d'avion \n";
cout<<" 2) : La moyenne des rayons d'actions \n";
cout<<" 3) : Afficher l'avion qui vole le plus vite \n";
cout<<endl;
cout<<endl;
int choix;
cout<<" Veuillez saisir votre choix : ";
cin>>choix;
cout<<endl;
while (choix<0 || choix>3 )
{
cout<<" Veuillez saisir un choix entre 0 et 3 SVP : ";
cin>>choix;
}
switch (choix)
{
case 1:recherche();
break;
case 2:moyenne();
break;
case 3:vitesse();
break;
}
cout<<endl;
system("pause");
}
quand je compile ca marche bien mais a l'exécution j' ai un problème de débogage pour l'application de recherche d'avion
est ce que vous avez des solution au problème
et merci d'avance.
A voir également:
- Problemme debogage en c++
- Mode debogage windows ✓ - Forum Windows
- Récupérer données android écran cassé sans débogage usb forum - Forum Xiaomi
- Récupérer données téléphone écran noir sans débogage usb ✓ - Forum Téléphones & tablettes Android
- Mode débogage restauration systeme impossible - Forum Windows
- Débogage de wordpress - Forum Wordpress
2 réponses
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!
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.