mirror of
https://codeberg.org/DansLeRuSH/c-plus-plus-exercises.git
synced 2024-11-22 03:28:09 +00:00
367 lines
No EOL
8.8 KiB
C++
367 lines
No EOL
8.8 KiB
C++
// Auteur : Franck ALBARET
|
|
#include <stdio.h>
|
|
#include <conio.h>
|
|
|
|
void EXO1 (void)
|
|
{
|
|
clrscr();
|
|
puts (" ");
|
|
puts (" Programme nø1 :");
|
|
puts (" ");
|
|
printf(" La taille de la variable en int est de %i octet(s)\n",sizeof (int));
|
|
puts (" ");
|
|
printf(" La taille de la variable en unsigned int est de %i octet(s)\n",sizeof (unsigned int));
|
|
puts (" ");
|
|
printf(" La taille de la variable en long int est de %i octet(s)\n",sizeof (long int));
|
|
puts (" ");
|
|
printf(" La taille de la variable en unsigned long int est de %i octet(s)\n",sizeof (unsigned long int));
|
|
puts (" ");
|
|
printf(" La taille de la variable en short int est de %i octet(s)\n",sizeof (short int));
|
|
puts (" ");
|
|
printf(" La taille de la variable en unsigned short int est de %i octet(s)\n",sizeof (unsigned short int));
|
|
puts (" ");
|
|
printf(" La taille de la variable en char est de %i octet(s)\n",sizeof (char));
|
|
puts (" ");
|
|
printf(" La taille de la variable en float est de %i octet(s)\n",sizeof (float));
|
|
puts (" ");
|
|
printf(" La taille de la variable en double est de %i octet(s)\n",sizeof (double));
|
|
puts (" ");
|
|
printf(" La taille de la variable en long double est de %i octet(s)\n",sizeof (long double));
|
|
getch();
|
|
}
|
|
|
|
void EXO2 (void)
|
|
{
|
|
clrscr();
|
|
int Entier;
|
|
puts (" ");
|
|
puts (" Programme nø2 :");
|
|
puts (" Entrer un entier :");
|
|
scanf ("%i",&Entier);
|
|
printf(" L'écriture décimale de l'entier est %i\n",Entier);
|
|
printf(" L'écriture octale de l'entier est %o\n",Entier);
|
|
printf(" L'écriture hexadécimale de l'entier est %x\n",Entier);
|
|
getch();
|
|
}
|
|
|
|
void EXO3 (void)
|
|
{
|
|
clrscr();
|
|
int Nbr;
|
|
int Nbr2;
|
|
puts (" ");
|
|
puts (" Programme nø3 :");
|
|
puts (" Quel est le premier nombre ?");
|
|
scanf ("%i",&Nbr);
|
|
puts (" Quel est le deuxième nombre ?");
|
|
scanf ("%i",&Nbr2);
|
|
printf(" La moyenne est %i\n",(Nbr+Nbr2)/2);
|
|
getch();
|
|
}
|
|
|
|
void EXO4 (void)
|
|
{
|
|
clrscr();
|
|
int Nbr;
|
|
int Nbr2;
|
|
puts (" ");
|
|
puts (" Programme nø4 :");
|
|
puts (" Quel est le premier nombre ?");
|
|
scanf ("%i",&Nbr);
|
|
puts (" Quel est le deuxième nombre ?");
|
|
scanf ("%i",&Nbr2);
|
|
{
|
|
if (Nbr>Nbr2)
|
|
{
|
|
printf (" Le plus grand nombre est %i\n",Nbr);
|
|
printf (" Le plus petit nombre est %i\n",Nbr2);
|
|
}
|
|
else
|
|
{
|
|
printf (" Le plus grand nombre est %i\n",Nbr2);
|
|
printf (" Le plus petit nombre est %i\n",Nbr);
|
|
}
|
|
getch();
|
|
}
|
|
}
|
|
|
|
void EXO5 (void)
|
|
{
|
|
clrscr();
|
|
int Nbr,Reste;
|
|
puts (" ");
|
|
puts (" Programme nø5 :");
|
|
puts (" Veuillez taper un entier :");
|
|
scanf ("%i",&Nbr);
|
|
Reste=Nbr%2;
|
|
if (Reste==0)
|
|
puts (" Le nombre est pair\n");
|
|
else
|
|
puts (" Le nombre est impair\n");
|
|
getch();
|
|
}
|
|
|
|
void EXO6 (void)
|
|
{
|
|
clrscr ();
|
|
int i=0;
|
|
int cpt=0;
|
|
char Texte [200];
|
|
puts (" ");
|
|
puts (" Programme nø6 :");
|
|
puts (" Veuillez taper votre texte :\n");
|
|
fflush(stdin);
|
|
gets(Texte);
|
|
while(Texte[i]!='\0')
|
|
{
|
|
if (Texte[i]=='a')
|
|
cpt=cpt+1;
|
|
i=i+1;
|
|
}
|
|
printf ("\n\n Le nombre de a est %i\n",cpt);
|
|
getch();
|
|
}
|
|
|
|
void EXO7 (void)
|
|
{
|
|
clrscr();
|
|
int i=0;
|
|
char Texte [80];
|
|
puts (" ");
|
|
puts (" Programme nø7 :");
|
|
puts (" Veuillez taper votre texte :\n\n");
|
|
fflush(stdin);
|
|
gets(Texte);
|
|
while (Texte [i]!='\0')
|
|
{
|
|
if (Texte [i]!=' ')
|
|
{
|
|
printf ("%c",Texte [i]);
|
|
}
|
|
i=i+1;
|
|
}
|
|
getch();
|
|
}
|
|
|
|
void EXO8 (void)
|
|
{
|
|
clrscr();
|
|
int Nbr=0;
|
|
int Cpt=0;
|
|
int Test=0;
|
|
puts (" ");
|
|
puts (" Programme nø8 :");
|
|
puts (" Entrez un nombre : \n");
|
|
scanf("%i",&Nbr);
|
|
Cpt=Nbr-1;
|
|
if (Cpt<1)
|
|
{
|
|
printf(" Ce nombre n'est pas valide. \n");
|
|
}
|
|
|
|
while (Cpt>1)
|
|
{
|
|
if (Nbr%Cpt!=0)
|
|
Cpt=Cpt-1;
|
|
else
|
|
{
|
|
Test=1;
|
|
Cpt=Cpt-1;
|
|
}
|
|
}
|
|
if (Test!=1)
|
|
printf(" Le nombre %i est un nombre premier. \n",Nbr);
|
|
else
|
|
printf(" Le nombre %i n'est pas un nombre premier. \n",Nbr);
|
|
getch();
|
|
}
|
|
|
|
void EXO9 (void)
|
|
{
|
|
clrscr();
|
|
int res=0;
|
|
int puis [9];
|
|
char bin [9];
|
|
int x,y;
|
|
puts (" ");
|
|
puts (" Programme nø9 :");
|
|
puts (" Entrer une valeur binaire sur 1 octet (8 chiffres) :");
|
|
fflush(stdin);
|
|
gets (bin);
|
|
puis[1]=1;
|
|
|
|
for (x=2;x<9;x++)
|
|
{
|
|
puis[x]=2*puis[x-1];
|
|
}
|
|
|
|
y=7;
|
|
for (x=1;x<9;x++)
|
|
{
|
|
if (bin[y]=='1')
|
|
{
|
|
res=res+puis[x];
|
|
}
|
|
y--;
|
|
}
|
|
|
|
printf(" La valeur décimale de ce chiffre binaire est %i",res);
|
|
getch();
|
|
}
|
|
|
|
void EXO10 (void)
|
|
{
|
|
clrscr();
|
|
int Nbr;
|
|
int i=0;
|
|
int Max=0;
|
|
puts (" ");
|
|
puts (" Programme nø10 :");
|
|
puts (" Entrez un chiffre (Entrez zéro pour quitter le programme) :\n");
|
|
scanf("%i",&Nbr);
|
|
|
|
while (Nbr!=0)
|
|
{
|
|
puts (" Entrez un chiffre (Entrez zéro pour quitter le programme) :\n");
|
|
scanf("%i",&Nbr);
|
|
if (Nbr>Max)
|
|
{
|
|
Max=Nbr;
|
|
}
|
|
i=i+1;
|
|
}
|
|
printf(" Le nombre maximum est %i\n",Max);
|
|
getch();
|
|
}
|
|
|
|
void EXO11 (void)
|
|
{
|
|
clrscr();
|
|
int Nbr;
|
|
int Nbr2;
|
|
int Nbr3;
|
|
puts (" ");
|
|
puts (" Programme nø11 :");
|
|
puts (" Quel est le premier nombre ?");
|
|
scanf ("%i",&Nbr);
|
|
puts (" Quel est le deuxième nombre ?");
|
|
scanf ("%i",&Nbr2);
|
|
puts (" Quel est le troisième nombre ?");
|
|
scanf ("%i",&Nbr3);
|
|
{
|
|
if (Nbr<Nbr2)
|
|
{
|
|
if (Nbr<Nbr3)
|
|
printf (" La moyenne est %i\n",(Nbr2+Nbr3)/2);
|
|
}
|
|
else
|
|
{
|
|
if (Nbr2<Nbr3)
|
|
printf(" La moyenne est %i\n",(Nbr+Nbr3)/2);
|
|
}
|
|
{
|
|
if (Nbr3<Nbr)
|
|
printf(" La moyenne est %i\n",(Nbr+Nbr2)/2);
|
|
}
|
|
}
|
|
getch();
|
|
}
|
|
|
|
void EXO12 (void)
|
|
{
|
|
clrscr();
|
|
int hh;
|
|
int mm;
|
|
int ss;
|
|
puts (" ");
|
|
puts (" Programme nø12 :");
|
|
puts (" Veuillez entrer l'heure (par exemple 23) :");
|
|
scanf ("%i",&hh);
|
|
puts (" Veuillez entrer le nombre de minute :");
|
|
scanf ("%i",&mm);
|
|
puts (" Veuillez entrer le nombre de seconde :");
|
|
scanf ("%i",&ss);
|
|
{
|
|
if (ss==59)
|
|
{
|
|
ss=0;
|
|
if (mm==59)
|
|
{
|
|
mm=0;
|
|
if (hh==23)
|
|
{
|
|
hh=0;
|
|
}
|
|
else
|
|
{
|
|
hh=hh+1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
mm=mm+1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ss=ss+1;
|
|
}
|
|
printf (" L'heure actuelle est %02i:%02i:%02i\n",hh,mm,ss);
|
|
}
|
|
getch();
|
|
}
|
|
|
|
int main (void)
|
|
{
|
|
textbackground (07);
|
|
textcolor (BLUE);
|
|
int Rep;
|
|
Rep=9;
|
|
while (Rep!=0)
|
|
{
|
|
clrscr();
|
|
puts (" ");
|
|
puts (" ********************************************************************");
|
|
puts (" * * MENU * *");
|
|
puts (" ********************************************************************");
|
|
puts (" * Veuillez entrez le numéro du programme de votre choix : *");
|
|
puts (" * *");
|
|
puts (" * 1 - Affiche la taille en octets d'une variable *");
|
|
puts (" * 2 - Affiche l'écriture décimale, octale et *");
|
|
puts (" * hexadécimale d'un entier *");
|
|
puts (" * 3 - Affiche la moyenne de deux nombres *");
|
|
puts (" * 4 - Affiche le maximum et le minimum de deux entiers saisis *");
|
|
puts (" * 5 - Affiche si le nombre saisi est pair ou impair *");
|
|
puts (" * 6 - Affiche le nombre de a contenu dans un mot ou un texte *");
|
|
puts (" * 7 - Affiche un texte tapé en enlevant les espaces *");
|
|
puts (" * 8 - Affiche si un nombre est premier ou pas *");
|
|
puts (" * 9 - Binaire en décimale *");
|
|
puts (" * 10 - Affiche le maximum de plusieurs nombres saisis *");
|
|
puts (" * 11 - Moyenne des deux meilleurs nombres sur trois saisis *");
|
|
puts (" * 12 - Affiche l'heure + 1 seconde *");
|
|
puts (" * *");
|
|
puts (" * [0] Pour sortir du menu *");
|
|
puts (" ********************************************************************");
|
|
puts (" ");
|
|
textcolor(YELLOW+BLINK);cprintf (" Votre choix :");textcolor(BLUE);
|
|
scanf ("%i",&Rep);
|
|
|
|
switch (Rep)
|
|
{
|
|
case 1 : EXO1();break;
|
|
case 2 : EXO2();break;
|
|
case 3 : EXO3();break;
|
|
case 4 : EXO4();break;
|
|
case 5 : EXO5();break;
|
|
case 6 : EXO6();break;
|
|
case 7 : EXO7();break;
|
|
case 8 : EXO8();break;
|
|
case 9 : EXO9();break;
|
|
case 10 : EXO10();break;
|
|
case 11 : EXO11();break;
|
|
case 12 : EXO12();break;
|
|
}
|
|
|
|
}
|
|
return 0;
|
|
} |