Exercice de controle

Résolu
chaimanassif -  
 chaimanassif -
Bonjour, comment faire pour convertir de int to float dans ce cas
#include<stdio.h>
#include<conio.h>
int main ()
{
float As,Ns,jANC,mANC,AANC;
int ja,ma,Aa,je,me,Ae,Mat,ANC;
printf("entrez le matricule du salarié:");
scanf("%d",&Mat);
printf("entrez la date actuelle:");
scanf("%d%d%d",&ja,&ma,&Aa);
printf("entrez la date d'embauche:");
scanf("%d%d%d",&je,&me,&Ae);
printf("donnez le salaire de base:");
scanf("%f",&As);
if(je<ja)
{
ma=ma-1;
ja=ja+30;
}
jANC=ja-je;
if(me<ma)
{
Aa=Aa-1;
ma=ma+12;
}
mANC=ma-me;
AANC=Aa-Ae;
ANC=(float)(ANC+(mANC/12)+(jANC/365));
printf("l'anciennete est de %.2f ANC\n",ANC);
if(0<=ANC && ANC<2)
{
Ns=As;
printf("Ns=%f",Ns);
}
else if(ANC<4);
{
Ns=As+(As/5);
printf("Ns=%f",Ns);
}
else if(ANC<6)
{
Ns=As+(As/10);
printf("Ns=%f",Ns);
}
else if(ANC<8)
{
Ns=As+(As/15);
printf("Ns=%f",Ns);
}
else if(ANC<10)
{
Ns=AS+(As/20);
printf("Ns=%f",Ns);
}
else
Ns=As+(As/40);
printf("le nouveau salaire est de %.2f Dhs \n",Ns);
getch ();
return 0;
}

3 réponses

  1. chaimanassif
     
    svp aidez moi a compiler ce programme c urgent
    0
  2. roptat Messages postés 284 Statut Membre 77
     
    ligne 40 :
    else if(ANC<4);
    il y a un ; en trop.
    ligne 52 :
    Ns=AS+(As/20);
    As a un s minuscule, pas majuscule.
    Si je comprends bien, ANC=(float)(ANC+(mANC/12)+(jANC/365)); est sensé calculer l'ancienneté en année, non?
    Il va falloir revoir le code qui est un peu bizarre...
    ANC devrait être une variable de type flottant, et j'écrirai ce code pour le calcul de ANC :
    jANC=ja-je;
    mANC=ma-me;
    AANC=Aa-Ae;
    ANC=(AANC+(float)(mANC/12)+(float)(jANC/365));
    printf("l'anciennete est de %.2f ANC\n",ANC);
    0
  3. chaimanassif
     
    merciiii c cool ca marche mrc bcp
    0