Calculatrice, estimateur de pi, opérateurs binaires, tableaux

Contenu du snippet

Code en C, une simple calculatrice 4 fonctions, un estimateur de Pi par nombre de points, les opérateurs binaires de bases, des tableaux de variables à 2 dimentions.

Source / Exemple :


#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>

void Calculatrice(void);
void EstimationPi(void);
void Operateurs(void);
void Tableaux(void);
void Fichiers(void);

int MenuCalcul(void);
void Fin(void);
void Creation(void);
void Lecture(void);
void Modif(void);
char Menu(void);

struct enreg {
  char nom[20];
  int age;
};
struct enreg bloc;

char nomfich[15];

int main() {
	clrscr();
	MenuCalcul();
return 0;
}

int MenuCalcul() {
int ch;	
	
clrscr();
puts(" Programmes :");
puts("  -1- Calculatrice");
puts("  -2- Estimation de pi");
puts("  -3- Operateurs binaires");
puts("  -4- Tableaux");
puts("  -5- Quitter");
printf("\n\n       Choix : ");scanf("%d",&ch);

	switch(ch) {
		case 1:Calculatrice();break;
		case 2:EstimationPi();break;
		case 3:Operateurs();break;
		case 4:Tableaux();break;
		case 5:Fin();break;
	}
return ch;
}

void Fin() {
	clrscr();
	puts("Fin du programme");
}

// Définition de la fonction EstimationPi()
void EstimationPi() {
	
unsigned int np,nc,i,x,y,d2;
char c;
int mp;

do {
	clrscr();
   puts("Estimation de pi\n");
   printf("\nnombre de points = ");scanf("%d",&np);
   randomize();
   
   for(nc=0,i=1;i<np;i++) {
      x=random(100);
      y=random(100);
      d2=(x-100)*(x-100)+(y-100)*(y-100);
      if(d2<=10000) nc++;
   }
   printf("\npi=%f\n",(4.0*nc)/np);
   printf("\non continue (o/n) : "); c=getche();
}
while(c=='o');
MenuCalcul();
}

// Définition de la fonction Operateurs()
void Operateurs() {
  int x,y,mp;
  char c;

  do {
  	  clrscr();
     puts("Operateurs binaires\n");
     puts("saisir deux nombres entiers en hexadecimal");
     printf("x=\n");scanf("%x",&x);
     printf("y=\n\n");scanf("%x",&y);
     
     printf("~x=%04X\n",~x);
     printf("x&y=%04X\n",x&y);
     printf("x^y=%04X\n",x^y);
     printf("x|y=%04X\n",x|y);
     printf("x&~y=%04X\n",x&~y);
     printf("x|~y=%04X\n",x|~y);
     printf("x>>3=%04X\n",x>>3);
     printf("x<<5=%04X\n",x<<5);
     printf("x&~x=%04X\n",x&~x);
     printf("x^~x=%04X\n",x^~x);
     printf("x|~x=%04X\n",x|~x);
     printf("x&~y<<8=%04X\n",x&~y<<8);
     printf("(x&~y)<<8=%04X\n",(x&~y)<<8);
     printf("x&~(y<<8)=%04X\n",x&~(y<<8));
     printf("x^~y<<8=%04X\n",x^~y<<8);
     printf("(x^~y)<<8=%04X\n",(x^~y)<<8);
     printf("x^~(y<<8)=%04X\n",x^~(y<<8));
     printf("x|~y<<8=%04X\n",x|~y<<8);
     printf("(x|~y)<<8=%04X\n",(x|~y)<<8);
     printf("x|~(y<<8)=%04X\n",x|~(y<<8));

     printf("\n Recommancer (o/n)");c=getch();     
  }
  while(c=='o');
MenuCalcul();
}

// Définition de la fonction Tableaux()
void Tableaux() {
  int e,n,i,j,s,mp;
  char c;
  int tab[4][7]={{1,3,5,2,6,4,0},{13,12,11,14,10,15,0},{11,7,9,8,12,10,0},{17,14,18,16,15,13,0}};
  float moy[4],k;

do {  
  clrscr();
  puts("  Tableaux\n\n");
  
  //affichage tab
  for(e=0;e<4;e++) {
    printf("\ntab _%d : ",e+1);
    for(n=0;n<6;n++) printf("%3d",tab[e][n]);
  }
  
  //total tab
  puts("");
  for(e=0;e<4;e++) {
    for(n=0,s=0;n<6;n++) s=s+tab[e][n];
    tab[e][n]=s;
    printf("\ntotal _%d=%d",e+1,s);
  } 
  
  //moyenne
  puts("");
  for(e=0;e<4;e++) {
    printf("\nmoyenne _%d=",e+1);
    moy[e]=(float)tab[e][6]/6;
    printf("%5.2f",moy[e]);
  }
  
  printf("\n\nRecommancer (o/n)");c=getch();
  }
while(c=='o');
MenuCalcul();
}

// Définition de la fonction Calculatrice()
void Calculatrice() {
  long int x,y;
  char c;
  int mp;

do {  
  clrscr();
  
  puts("Calculatrice en C\n\n");
  printf("x=");scanf("%ld",&x);
  printf("y=");scanf("%ld",&y);
  printf("\n\nx=%ld y=%ld\n",x,y);
  printf("\naddition x+y = %ld\n",x+y);
  printf("soustraction x-y = %ld\n",x-y);
  printf("division x/y = %ld\n",(float)x/y);
  printf("multiplication x*y = %ld\n",(long)x*y);
  puts("\n\n Recommencer (o/n)");
  c=getch();
  }
while(c=='o');
MenuCalcul();
}

Conclusion :


Si vous voyer des bugs, merci de me metre au courant.

A voir également

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.