01net    Web


Actuellement en ligne : 879 Utilisateurs dont 36 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> Aide pour un programme
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
bob311
  
   
      ?   @     Posté le 28/12/2005 19:12:14  
Voter pour ce message
Donc voilà je veux faire un programme tout simple qui divise deux chiffres à virgule puis affiche le résultat de la division avec deux chiffres après la virgule...seulement entre temps je fais 3 tests quand le numérateur est égal à 0 puis qaund le dénominateur est égal à 0 et 1...
Mon problème est que quand je met a=0 ca ne rentre pas dans la boucle et ca rentre toujours dans la boucle "il est inutile de diviser..."(prévue pour b=1) même quand b différent de 1:(voir l'image)
< inclued picture >




Voici mon programme...
#include<stdio.h>


int main( )

{
float a,b,resultat_div;
a=0;
b=0;
resultat_div=0;

printf("Ce programme va diviser A par B \n");
printf("Entrer A \n");
scanf("%f",&a);
printf("Entrer B \n");
scanf("%f",&b);

if(a=0) {printf("0 divise par n'importe quel chiffre donne toujours 0 \n");
}


if(b=0) {printf("La division d'un chiffre par 0 est impossible \n");
}


if(b=1) {printf("Il est inutile de divise %f par %.0f ... \n",a,b);
}

else { resultat_div=a/b;
printf("Le resultat de la division de %f par %f est %.2f \n",a,b,resultat_div);
}

getch();
return 0;

}
bob311
  
   
      ?   @     Posté le 28/12/2005 20:22:17  
Voter pour ce message
Effectivement....Comment tu ferais pour que si l'une des trois condition est remplie ca ne m'affiche pas "le resultat de la division est..."...Merci
Beno@
  
  :-)
      ?   @     Posté le 28/12/2005 20:22:46  
Voter pour ce message
si :/
Beno@
  
  :-)
      ?   @     Posté le 28/12/2005 20:23:09  
Voter pour ce message
AND
bob311
  
   
      ?   @     Posté le 28/12/2005 20:52:25  
Voter pour ce message
Merci beaucoup
nadmin
  
  Groupe :  Equipe 01net
   
      ?   @     Posté le 28/12/2005 21:08:37  
Voter pour ce message
et ça ?? j'ai pas fais de C, mais bon le principe est le même...


#include<stdio.h>

int main()
{
float a,b,resultat_div;
boolean erreur;
erreur=0;

a=0;
b=0;
resultat_div=0;

printf("Ce programme va diviser A par B \n");
printf("Entrer A \n");
scanf("%f",&a);
printf("Entrer B \n");
scanf("%f",&b);

if(a==0) {
erreur=1;
printf("0 divise par n'importe quel nombre donne toujours 0 \n");
break;
}
if(b==1) {
erreur=1;
printf("Il est inutile de divise %f par %.0f ... \n",a,b);
break;
}

if(b==0) {
erreur=1;
printf("La division d'un nombre par 0 est impossible \n");
}

if(erreur!=1) {
resultat_div = a/b;
printf("Le resultat de la division de %f par %f est %.2f \n",a,b,resultat_div);
}

getch();
return 0;

}
nadmin
  
  Groupe :  Equipe 01net
   
      ?   @     Posté le 28/12/2005 21:19:18  
Voter pour ce message
Question (bah ouiah j'ai le droit aussi :D )

Est-ce que ma version est plus "rapide" ?

Peut-on déclarer les variables ainsi :
a=b=resultat_div=0;
et
boolean erreur=0;

Je deviens curieux concernant le C/C++ :p
nadmin
  
  Groupe :  Equipe 01net
   
      ?   @     Posté le 28/12/2005 21:22:50  
Voter pour ce message
ok ;)
Le_Belge
  
  :-)
      ?   ^   @     Posté le 28/12/2005 22:48:53  
Voter pour ce message
N.Tary a écrit :
Question (bah ouiah j'ai le droit aussi :D )

Est-ce que ma version est plus "rapide" ?

Peut-on déclarer les variables ainsi :
a=b=resultat_div=0;
et
boolean erreur=0;

Je deviens curieux concernant le C/C++ :p


Ce qui est en gras, tu peux. Cela va d'abord affecter 0 à resultat_div. Puis, le contenu de resultat_div va être affecté à b et finalement, le contenu de b va être affecté à a.

Pour l'autre, je ne sais pas :)

Et pour que la version soit plus rapide, il serait utile de remplacer tous les if, if, if par des alternatives imbriquées. Cela donnerait quelque chose du genre :

if
{
}
else
{
if
{
}
else
{
}
}
...
Beno@
  
  :-)
      ?   @     Posté le 29/12/2005 10:00:17  
Voter pour ce message
zPlaY a écrit :
Je pense que c'est ça


#include<stdio.h>


int main()

{
float a,b,resultat_div;
a=0;
b=0;
resultat_div=0;

printf("Ce programme va diviser A par B \n");
printf("Entrer A \n");
scanf("%f",&a);
printf("Entrer B \n");
scanf("%f",&b);

if(a==0) {
printf("0 divise par n'importe quel nombre donne toujours 0 \n");
break;
}
if(b==1) {
printf("Il est inutile de divise %f par %.0f ... \n",a,b);
break;
}

if(b==0) {
printf("La division d'un nombre par 0 est impossible \n");
}

if(a!=0 && b!=1 && b!=0) {
resultat_div = a/b;
printf("Le resultat de la division de %f par %f est %.2f \n",a,b,resultat_div);
}






getch();
return 0;

}

je vois pas l'utilisté des break :/
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 29/12/2005 22:28:25  
Voter pour ce message
à quoi servent :

a=0;
b=0;
resultat_div=0;

??

le float a,b,resultat_div;
suffit, nan ?
Gautier
  2008, ...
  :-)
      ?   @     Posté le 29/12/2005 22:40:15  
Voter pour ce message
Martius a écrit :
à quoi servent :

a=0;
b=0;
resultat_div=0;

??

le float a,b,resultat_div;
suffit, nan ?


float a,b,resultat_div;
Ca déclare les variables

a=0;
b=0;
resultat_div=0;
Ca les initialise

En c les variables ne sont pas initialisées par défaut
Si elles ne sont pas initialisées, elles ne valent pas 0, elles valent rien.

-------
[Chaque minute qui passe est une occasion de changer le cours de sa vie]
[Les préjugés sont les ennemis du bon sens]
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> Aide pour un programme

Aller à :

Page générée en : 0.123s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Jeu-concours
Jouez et gagnez des places pour le 2è tour de la Coupe de la Ligue avec RMC.fr !
Jeux
Nouveauté : La suite du jeu à succès, avec un univers encore plus vaste et encore plus drôle !