Problème programme en C
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Problème programme en C



  1. #1
    invite1bcb8b3a

    Problème programme en C


    ------

    Salut !

    J'ai un gros problème sur mon programme en langage C. Le but du programme est de convertir le poids d'un patient et ça température, d'afficher son statut civil, de faire une boucle pour pouvoir ajouter plusieurs patient et de calculer le poids moyen des célibataires.
    Tous fonctionne nickel sauf pour la conversion des degrés Fahrenheit en degrés Celsius, le programme m'affiche toujours 0.
    Quelqu'un peut me dire où est mon erreur ?



    Code:
    # include <stdio.h>
    int main()
    {
    	const float LIVRE_EN_KG = 0.454;   // 1 livre vaut 0.454 kg
    	float poidsKg, tempFarenheit, tempCelcius, somPoidsCel = 0.0;
    	int poidsLivre, nbPers = 0, nbCelibat = 0;
    	char statut, reponse;
    	
    	do		// Boucle
    	{
    	
    	// Saisie des données
    	
    		printf("\n\n Tapez le poids en livres du patient : ");
    		scanf("%d", &poidsLivre);
    		printf("Le patient pese %d livres \n", poidsLivre);
    	
    		printf("Tapez le temperature en degre Farenheit du patient : ");
    		scanf("%f", &tempFarenheit);
    		printf("Le patient a une temperature de %6.2f degres Farenheit \n", tempFarenheit);
    
    		printf("Tapez c, C, m, M, d, D, s, S, a, A pour le statut civil du patient : ");
    		scanf(" %c", &statut);
    		printf("Le caractere lu :%c \n\n", statut);
    	
    	// Calculs
    	
    		poidsKg = poidsLivre * LIVRE_EN_KG;
    		tempCelcius = (5/9) * (tempFarenheit - 32);
    		nbPers++ ;
    	
    	// Affichage des résultats
    	
    		printf("Le patient pese : \n %.2f Kg \n", poidsKg);
    		printf("Sa temperature est de : \n %.2f degres Celcius \n", tempCelcius);
    		printf("Son statut civil est : \n");
    	
    		switch (toupper(statut))		// Suivant que ...
    		{
    			case'C' : nbCelibat++;
    					somPoidsCel+=poidsKg;
    					printf(" Celibataire \n"); break;	
    			case'M' : printf(" Marie \n"); break;
    			case'D' : printf(" Divorce \n"); break;
    			case'S' : printf(" Separe \n"); break;
    			default : printf(" Autre \n");	
    		}
    	
    	// Continuer ?
    			
    		printf("Voulez-vous continuer ? (o/n) : ");
    		scanf(" %c", &reponse);
    	} while (reponse == 'O' || reponse == 'o');
    	
    	// Affichage du nombre total de personnes
    	
    	printf("\n Le nombre total de personnes traitees : %d \n", nbPers);
    	
    	// Calcul du poids moyen des célibataires
    	
    	if ( nbCelibat > 0)         
        printf("Il y a %d Celibataire(s) dont le poids moyen est de %.2f Kg \n",
    	           nbCelibat, somPoidsCel / nbCelibat);
      else
        printf("Aucun celibataire => pas de moyenne demandee ...\n");
    	
    	return 0;
    }

    -----
    Dernière modification par JPL ; 02/10/2016 à 13h40. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    pm42

    Re : Problème programme en C

    5/9 vaut 0 parce que c'est une division d'entiers. Essaye avec 5.0/9.0 par ex.

  3. #3
    invite1bcb8b3a

    Re : Problème programme en C

    Ça fonctionne ! Merci beaucoup !

Discussions similaires

  1. Problème programme C#
    Par inviteeda32998 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 30/12/2015, 11h22
  2. Réponses: 2
    Dernier message: 29/06/2014, 20h44
  3. probleme de programme en C!!!
    Par invite764d6438 dans le forum Électronique
    Réponses: 27
    Dernier message: 16/06/2013, 17h21
  4. [Blanc] probleme de programme
    Par invite23853c45 dans le forum Dépannage
    Réponses: 3
    Dernier message: 20/05/2008, 18h17
  5. problème programme
    Par invitea301fcd6 dans le forum Logiciel - Software - Open Source
    Réponses: 20
    Dernier message: 22/07/2005, 18h54