Wednesday, 4 October 2017

Codes sources du TP3

#include <stdio.h>
#include <stdlib.h>

int a=8;
float b1=2.990812,b3=2.990813;
double b2=2.990812;

char c='A';

int main(){
   printf("1. Les entiers:");
   printf("\na=%d a=%+d -a=%+d  donc + pour afficher le signe",a,a,-a);
   printf("\na=%5d a=%+5d -a=%+5d pour afficher sur un nombre de positions ici 5",a,a,-a);
   printf("\na=%05d a=%+05d -a=%+05d pour completer les positions vides par des zeros",a,a,-a);
   printf("\na=%5d a=%-5d -a=%-5d donc - pour justifier a gauche",a,a,-a);
   printf("\na=%i une autre possibilité pour les entiers",a);
   printf("\na=%o pour afficher %d (supposé non signé) en octal",a,a);
   printf("\n3*a=%x pour afficher %d (supposé non signé) en hexadecimal",3*a,3*a);
   printf("\n\n2. Les reels:");
   printf("\nb1=%f donc le nombre affiché est tronqué",b1);
   printf("\nb1=%e b1/100=%e la notation scientifique",b1,b1/100);
   printf("\nb1=%.4f pour imposer une précision ici 4 chiffres apres la virgule",b1);
   printf("\nb1=%.1f avec un chiffre décimal, le nombre a changé",b1);
   printf("\nb1=%.4f la valeur n'a pas ete modifiee en memoire",b1);
   printf("\nb1=%6.3f pour afficher sur un nombre de positions avec une précision",b1);
   printf("\nb1=%6.2f pour afficher sur un nombre de positions (ici 6) le point décimal est inclus",b1);
   printf("\nb2=%lf pour afficher un réel double précision",b2);
   b1=0.2;b3=0.200001;b2=0.2;
   if(b1!=b3){
      printf("\nMalgre les apparences, b1=%.4f et b3=%.4f sont differents",b1,b3);
   }
   //attendre le ch representation des réels (CRI) pour comprendre
   if(b1!=b2){
      printf("\nMalgre les apparences, b1=%f et b2=%lf sont differents",b1,b2);
   }
   printf("\n\n3. Les caracteres:");
   printf("\nc=%c affiche le caractère",c);
   printf("\nc=%d affiche son code ASCII",c);
   return 0;
}

#include <stdio.h>
#include <stdlib.h>
int j,m,a;
int main(){
    printf("entrer une date avec le format jj/mm/aaaa \n");
    scanf("%d/%d/%d",&j,&m,&a);
    printf("J'ai pu lire la date  %02d/%02d/%04d \n",j,m,a);
    return 0;
}

#include <stdio.h>
#define DEBUG 1

int main(){
    int x,y,som,firstLect,secondLect;

#if DEBUG
    printf("\n Avant lecture, le premier nbr vaut >%d< et le 2ieme >%d<. ",x,y);
#endif
    printf("\n Donner deux nombres SVP:");
    firstLect=scanf("%d",&x);
    secondLect=scanf("%d",&y);
#if DEBUG
    if((firstLect+secondLect)!=2){
        printf("\n Erreur de lecture, le premier nbr vaut >%d< et le 2ieme >%d<. "
               "\n Car %d valeur lue en 1iere lecture et %d valeur lue en 2ieme. "
               "\n Arret d'execution !",x,y,firstLect,secondLect);
        return 1;
    }
#endif
    som=x+y;
    printf("\n Le resultat de la somme de %d et %d est:%d",x,y,som);
    return 0;
}

#include <stdio.h>
#include <stdlib.h>

float pht1,pttc1,pht2,pttc2,pht3,pttc3,totalTTC=0,totalHT;
int nb1,nb2,nb3;

int main(){

   PI("\nEntrez le prix hors taxes du premier article:");
   scanf("%f",&pht1);
   printf("\nEntrez le nombre d’unités que vous voulez acheter :");
   scanf("%d",&nb1);
   pttc1= nb1*pht1*(1+0.17);
   printf("\nCet article va vous couter %.2f en TTC",pttc1);
   totalTTC+=pttc1;
   printf("\nEntrez le prix hors taxes du deuxieme article:");
   scanf("%f",&pht2);
   printf("\nEntrez le nombre d’unités que vous voulez acheter :");
   scanf("%d",&nb2);
   pttc2= nb2*pht2*(1+0.17);
   printf("\nCet article va vous couter %.2f en TTC",pttc2);
   totalTTC+=pttc2;
   printf("\nEntrez le prix hors taxes du troisieme article:");
   scanf("%f",&pht3);
   printf("\nEntrez le nombre d’unités que vous voulez acheter :");
   scanf("%d",&nb3);
   pttc3= nb3*pht3*(1+0.17);
   printf("\nCet article va vous couter %.2f en TTC",pttc3);
   totalTTC+=pttc3;

   totalHT=totalTTC/(1+0.17);
   printf("\n\nLe prix est %.2f en HT. La TVA etant a %d%%, vous devez payer %.2f TTC"
          ,totalHT,(int)(100*0.17),totalTTC);
   return 0;
}

#include <stdio.h>
#include <stdlib.h>

#define PI 3.14;
float surf,circonf,r;

int main(){
    printf("Donner le rayon!\n");
    scanf("%f",&r);
    circonf=2*r*PI;
    surf=PI*r*r;
    return 0;
}


Lectures proposées :
1. les indicateurs de format %i et %d sont il totalement identiques :
https://stackoverflow.com/questions/1893490/what-is-the-difference-between-conversion-specifiers-i-and-d-in-formatted-io-f
2.