// cours du 07/12/2002 :structures composées / structures de controle iteratives


/*

STRUCTURES COMPOSEES
--------------------
tableaux :
	 * suite d'éléments de même type, où chaque élément est identifié
	parun indice (rang)
	 * tous les éléments d'un tableau partagent une même région
	et chacun a son propre indice
	 * un tableau peut être uni- ou multi-dimensionnel

déclaration :
type_des_variables nom_du_tableau [dimension];

ex: 
int tableau[10]; !!! attention : indices de 0 à 9
		!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

char tablc[5]={"a","b","c","d","e"};



STRUCTURES DE CONTROLE ITERATIVES
---------------------------------

boucle FOR :
	permet d'executer un bloc d'instructions (appelé corps de la boucle)
	un certain nombre de fois.

ex:
for (i=0;i<=4;i++)
	{
	... corps de la boucle ...
	};
i est la variable d'itération de la boucle
i=0 : valeur initiale
i<=4:condition de continuité de l'iteration
i++:incrément de la variable d'iteration




 */

#include "stdio.h"
 //#include <stdafx.h>

 
/*
==============================================================================
exercice 1
==============================================================================
 */

void exercice_1()
{
 // declaration des variables
char c;  //caractere
int i;	 //entier
float u;  //decimal non signe
float f;	 //reel
float fe;	 //reel avec exposant


	printf("\nEntrez un caractere :");
	 //scanf("%c",&c);
	c=getchar();printf("-> caractere saisi = ");putchar(c); 
	 //prinf("-> caractère saisi =%c",c);

	printf("\nEntrez un entier :");
	scanf("%i",&i);	printf("-> entier saisi b8 =%o",i);
					printf("-> entier saisi b10 =%i",i);
					printf("-> entier saisi b16 =%x",i);


	printf("\nEntrez un decimal non signe :");
	scanf("%f",&u);printf("-> decimal non signe saisi =%f",u);


	printf("\nEntrez un reel :");
	scanf("%g",&f);printf("-> reel saisi =%g",f);


	printf("\nEntrez un reel avec exposant :");
	scanf("%e",&fe);printf("-> reel avec exposant saisi =%e",fe);

	printf("\n");

}


 
/*
==============================================================================
exercice 2
==============================================================================
 */

void exercice_2()
{
 // declaration des variables
char c;  //caractere
int i;	 //entier
unsigned u;  //decimal (base 10) non signe
float f;	 //reel
float fe;	 //reel avec exposant


	printf("\nEntrez un caractere :");
	 //scanf("%c",&c);
	c=getchar();printf("-> caractere saisi = ");putchar(c); 
	 //prinf("-> caractère saisi =%c",c);

	printf("\nEntrez un entier :");
	scanf("%i",&i);	printf("-> entier saisi b8 =%o",i);
					printf("-> entier saisi b10 =%i",i);
					printf("-> entier saisi b16 =%x",i);


	printf("\nEntrez un decimal non signe :");
	scanf("%u",&u);printf("-> decimal non signe saisi =%u",u);


	printf("\nEntrez un reel :");
	scanf("%g",&f);printf("-> reel saisi =%g",f);


	printf("\nEntrez un reel avec exposant :");
	scanf("%e",&fe);printf("-> reel avec exposant saisi =%e",fe);

	printf("\n");

}


 
/*
==============================================================================
exercice 3
==============================================================================
 */

int saisie_entier ()  //char quel_entier)
{
	int temp;
	printf("\nSaisir l'entier "); //printf(&quel_entier); printf(" : ");
	scanf("%i",temp);
	return temp;
}

void exercice_3()
{
int a,b,c;

	int somme;
	a=saisie_entier(); //"A");
	b=saisie_entier(); //"B");
	c=saisie_entier(); //"C");
	somme=a+b+c;
	printf("\nSomme=%i",somme);
	}




 
/*
==============================================================================
exercice 4
==============================================================================
 */

int saisie_entier4 ()  //char quel_entier)
{
	int temp;
	printf("\nSaisir l'entier "); //printf(&quel_entier); printf(" : ");
	scanf("%i",&temp);
	return temp;
}

void exercice_4()
{
 
/*
declaration des variables	
 */
int a,b,c;

	int somme;
	a=saisie_entier4(); //"A");
	b=saisie_entier4(); //"B");
	c=saisie_entier4(); //"C");
	somme=a+b+c;
	printf("\nLa somme est b8  %o",somme);
	printf("\nLa somme est b10 %d",somme);
	printf("\nLa somme est b16 %x",somme);
	printf("\n");
}



 
/*
==============================================================================
exercice 5
==============================================================================
 */

 
/*
declaration des variables	
 */
char a,b,c;

 
/*
declaration des fonctions
 */

void saisie_char1 ()  
{
	printf("\nPremiere saisie"); 
	printf("\n1-");scanf("%c",&a); 
		getchar(); // pour recuperer du buffer le caractère entrée
	printf("\n2-");scanf("%c",&b); 
		getchar(); // pour recuperer du buffer le caractère entrée
	printf("\n3-");scanf("%c",&c);
		getchar(); // pour recuperer du buffer le caractère entrée
}
void affiche_char1 ()  
{
	printf("\n");
	printf("%c",c);printf("%c",b);printf("%c",a);
}

void saisie_char2 ()  
{
	printf("\nDeuxieme saisie"); 
	printf("\nCaractere A ");a=getchar();
		getchar(); // pour recuperer du buffer le caractère entrée
	printf("\nCaractere B ");b=getchar(); 
		getchar(); // pour recuperer du buffer le caractère entrée
	printf("\nCaractere C ");c=getchar(); 
		getchar(); // pour recuperer du buffer le caractère entrée
}

void affiche_char2 ()  
{
	putchar(c);putchar(b);putchar(a);

}

void exercice_5()
{
	saisie_char1();
	affiche_char1();

	saisie_char2();
	affiche_char2();

	printf("\n");
}


 
/*
==============================================================================
exercice 6
==============================================================================
 */

void diact()
{
printf ("\n 1er tableau: \n");

int tab[5] = {0,2,4,8,10};
printf ("1er element du tableau: %i\n",tab[0]);
printf ("2er element du tableau: %i\n",tab[1]);
printf ("3er element du tableau: %i\n",tab[2]);
printf ("4er element du tableau: %i\n",tab[3]);
printf ("5er element du tableau: %i\n",tab[4]); 
}

void stef()
{
	printf ("\n 2 eme tableau: \n");
char tab[5] = {'A','b','m','4','h'};
printf ("1er element du tableau: %c\n",tab[0]);
printf ("2er element du tableau: %c\n",tab[1]);
printf ("3er element du tableau: %c\n",tab[2]);
printf ("4er element du tableau: %c\n",tab[3]);
printf ("5er element du tableau: %c\n",tab[4]); 
}



void exercice_6 ()
{
	diact ();
	stef ();
}



void main ()
{
	exercice_1;
	exercice_2;
	exercice_3;
	exercice_4;
	exercice_5;
	exercice_6;
}