Programme triangle rectangle ou non [Résolu]

Messages postés
2
Date d'inscription
dimanche 11 mai 2008
Dernière intervention
30 janvier 2009
- - Dernière réponse : Phil974m
Messages postés
2
Date d'inscription
dimanche 11 mai 2008
Dernière intervention
30 janvier 2009
- 30 janv. 2009 à 18:24
j'ai un petit soucis avec mon programme qui ne gère pas correctement les données saisie
j'ai fait un petit programme demandé dans mon bts iris qui cherche à connaitre si
un triangle est rectangle ou non ou si ce n'est pas un triangle
je pense que le soucis vient du calcul si qq à une petite idée merci d'avance
Phil.

voici le code source c++:

/* Programme devoir n°2 BTS IRIS*/
/*Dev-C++ 4.9.9.2                      */

#include
using namespace std;

//prototype de la fonction triangle
int triangle(int, int, int);

//prototype de la fonction triangleR
int triangleR(int, int, int);

main()
{
// Variables de retour 1 ou 0
int non_rectangle,rectangle;
//Variables de saisie de données des segments AB, AC, AB
int AB,AC,BC;
//initialisation des variables
AB=0;
AC=0;
BC=0;

// saisie des données AB AC BC    
cout << "Veuillez entrer la valeur du segment AB" << endl;
cin >> AB;
cout << "Veuillez entrer la valeur du segment AC" << endl;
cin >> AC;
cout << "Veuillez entrer la valeur du segment BC" << endl;
cin >> BC;

//variable de récupération non_rectangle de valeur 1 ou 0
non_rectangle = triangle(AB,AC,BC);
//variable de récupération rectangle de valeur 1 ou 0
rectangle = triangleR(AB,AC,BC);

// test pour voir les valeurs de retour des variables
cout << "res1  " << triangle(AB,AC,BC) << endl;   
cout << "res2  " << triangleR(AB,AC,BC) << endl;

// condition si les valeurs de retour correspondent à un triangle non rectangle
if (non_rectangle==1 && rectangle == 0)
{
    cout << "Les valeurs correspondent à un triangle non rectangle" << endl;          
}
// condition si les valeurs de retour correspondent à  pas un triangle
else if (non_rectangle==0 && rectangle==0)
{
    cout << "Les valeurs ne correspondent pas à un triangle" << endl;
}
// condition si les valeurs de retour correspondent à un triangle rectangle
else if (non_rectangle==1 && rectangle==1)
{
     cout << "Les valeurs correspondent à un triangle rectangle" << endl;    

       
system("PAUSE");     
return(0);     

}

//fonction triangle qui analyse si les données saisies sont celles d'un triangle
int triangle(int a1,int a2,int a3)
{
int res1;
// condition qui compare les segments "AB, AC et BC"
if (a1 < a2 + a3  &&  a2 < a1 + a3  &&  a3 < a1 + a2)
   {
// si oui res1=1
   res1=1;
   return res1;
   }
//si non res1=0
else
   {    
   res1=0;
   return res1; 
    }
}
//fonction triangleR qui analyse si les données saisies sont celles d'un triangle
//rectangle
int triangleR(int b1,int b2, int b3)
{
int res2; 
// calcul qui permet de savoir si le triangle est rectangle   if (b1^2 b2^2 + b3^2 || b2^2 b1^2 + b3^2 || b3^2 == b1^2 + b2^2)
// si oui res2=1
   {
    res2=1;
    return res2;
   }
//si non res2=0
else
    {
    res2=0;
    return res2;
    }
}     
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
252
Date d'inscription
vendredi 13 juin 2003
Dernière intervention
25 avril 2011
3
Merci
Bonjour,

L'opérateur '^' effectue un « ou exclusif » bit à bit sur ses arguments (bitwise xor).

Pour élever un entier b au carré, le plus simple et le plus rapide est sûrement de le multiplier par lui-même : b * b.

Bonne continuation dans ton étude de la programmation.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Chouchou182
Messages postés
2
Date d'inscription
dimanche 11 mai 2008
Dernière intervention
30 janvier 2009
0
Merci
Merci chouchou
c'est effectivement ça, je multiplie les entiers par eux même b*b au lieu de b^2 et ça fonctionne
merci encore
Commenter la réponse de Phil974m

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.