Programme triangle rectangle ou non [Résolu]

Phil974m 2 Messages postés dimanche 11 mai 2008Date d'inscription 30 janvier 2009 Dernière intervention - 30 janv. 2009 à 07:52 - Dernière réponse : Phil974m 2 Messages postés dimanche 11 mai 2008Date d'inscription 30 janvier 2009 Dernière intervention
- 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
cs_Chouchou182 252 Messages postés vendredi 13 juin 2003Date d'inscription 25 avril 2011 Dernière intervention - 30 janv. 2009 à 16:52
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.

Merci cs_Chouchou182 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de cs_Chouchou182
Phil974m 2 Messages postés dimanche 11 mai 2008Date d'inscription 30 janvier 2009 Dernière intervention - 30 janv. 2009 à 18:24
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.