phan thúc hàocréé le 02 octobre 2006 code source en langage c++ # include # include void main (...

35
PHAN Thúc Hào Créé le 02 Octobre 2006

Upload: lula-rocher

Post on 04-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 2: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Code source en langage C++# include <iostream># include <conio.h>Void main ( ) { puts (" Bonjour…..! " ); }

Processus de compilation

d'un programme

Traduction en code binaire010001111001100011101010001000111110110001100110111000011100010111001001011010100111100011010101

Fichier source.cpp Compilateur Fichier objet.obj

HàoProgrammeC & C++

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 3: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Processus détaillé de compilation d'un programme

Fichier «  src.c » Fichier « Stdio.h »

Pré-processeur

Fichier.c

Compilateur de code objet

Fichier.obj Bibliothèque standard

Éditeur de liens

Programme

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 4: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Qu'est-ce que le code ASCII ?

La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son équivalent en code numérique : c'est le code ASCII

( American Standard Code for Information Interchange )

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 5: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Caractères non imprimables Caractères imprimables

ctrldec

hexa char Nom dec hexa char dec hexa char dec hexa char

ctrl-@

ctrl-A

ctrl-B

ctrl-C

ctrl-D

ctrl-E

ctrl-F

ctrl-G

ctrl-H

ctrl-I

ctrl-J

ctrl-K

ctrl-L

ctrl-M

ctrl-N

ctrl-O

ctrl-P

ctrl-Q

ctrl-R

ctrl-S

ctrl-T

ctrl-U

ctrl-V

ctrl-W

ctrl-X

ctrl-Y

ctrl-Z

ctrl-[

ctrl-\

ctrl-]

ctrl-^

ctrl-_

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

1E

1F

NUL

SOH

STX

ETX

EOT

ENQ

ACK

BEL

BS

HT

LF

VT

FF

CR

SO

SI

DLE

DC1

DC2

DC3

DC4

NAK

SYN

ETB

CAN

EM

SUB

ESC

FS

GS

RS

US

null

start of heading

start of text

end of text

end of xmit

enquiry

acknowledge

bell

backspace

horizontal tab

line feed

vertical tab

form feed

carriage feed

shift out

shift in

data line escape

dev.cntrl.1

dev.cntrl.2

dev.cntrl.3

dev.cntrl.4

neg acknowledge

sync.idel

end of xmit block

cancel

end of medium

substitute

escape

file separator

group separator

record separator

unit separator

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

20

21

22

23

24

25

26

27

28

29

2A

2B

2C

2D

2E

2F

30

31

32

33

34

35

36

37

38

39

3A

3B

3C

3D

3E

3F

Space

!

"

#

$

%

&

'

(

)

*

+

,

-

.

/

0

1

2

3

4

5

6

7

8

9

:

;

<

=

>

?

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

40

41

42

43

44

45

46

47

48

49

4A

4B

4C

4D

4E

4F

50

51

52

53

54

55

56

57

58

59

5A

5B

5C

5D

5E

5F

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

60

61

62

63

64

65

66

67

68

69

6A

6B

6C

6D

6E

6F

70

71

72

73

74

75

76

77

78

79

7A

7B

7C

7D

7E

7F

`

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DELPHAN Thúc Hào Créé le 02 Octobre 2006

Page 6: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Les librairies des fonctions standards

<stdio.h> <signal.h> <assert.h><stdlib.h> <time.h> <ctype.h> <string.h> <locale.h> <stddef.h> <math.h> <setjmp.h> <errno.h> <float.h> <signal.h> <wchar.h><limits.h> <wctype.h> <longjump.h><stdarg.h> <conio.h> etc.……..

Les fichiers d'en-tête (extension .h)

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 7: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Priorité des opérateurs ( ) [ ]

Incrémentation, décrémentation

-- ++ ! ~ -

Arithmétique* / %

+ -

Comparaison< <= >= >

== !=

Les opérateurs bit-à-bit

&

^

|

Logiques (booléens) && || !

? :

Les opérateurs d'assignation

= += -= *= /= %= <<= >>= >>>= &= ^= |=

,

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 8: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Séquences Description

\n nouvelle ligne

\t tabulation horizontale

\v tabulation verticale

\b retour arrière

\f saut de page

\r retour chariot

\" guillemets

\’ apostrophe

\\ anti-slash

\0 NUL

\a signal d'alerte ( bell )

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 9: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Tableau : Séquences spéciales dans un scanf.

Séquence interprétation de la saisie type de l'argument

%c un caractère seul char *

%s une chaîne de caractère char *

%d un entier en décimal int *

%o un entier en octal (précédé d'un 0) int *

%x un entier en héxa (précédé de 0x) int *

%u un entier non signé décimal unsigned int *

%f un réel float *

%e un réel float *

%g un réel float *

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 10: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Tableau : Séquences spéciales dans un printf.

Voici les différents formats :

Séquence l'argument remplaçant la séquence doit être

%c un caractère seul

%s une chaîne de caractère

%d un entier (affiché en décimal)

%o un entier (affiché en octal)

%x un entier (affiché en hexadécimal)

%u un entier non signé (affiché en décimal)

%f un réel (affiché normalement)

%e un réel (affiché en notation exponentielle)

%g un réel (au mieux entre f et e)

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 11: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Mon premier programme, Hào : TP1.1 */

#include <stdio.h> // bibliothèque d'entrées / sorties standards

int main()// la fonction principale

{

printf(" Voici un petit programme en C "); //Affiche du texte

return 0;

}

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 12: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Mon premier programme, Hào : TP1.2 */

#include <stdio.h> // Ajoute les fonctions des entrées / sorties standards

#include <conio.h> // fonction “getch”

int main()// la fonction principale

{

printf("Voici un petit programme en C\n ");

puts("pour sortir ,appuyez une touche");

getch(); // Attente d'une saisie clavier

return 0;

} PHAN Thúc Hào Créé le 02 Octobre 2006

Page 13: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Mon premier programme, Hào : TP1.3 */

#include <stdio.h>// Ajoute les fonctions des entrées / sorties standards

#include <conio.h>// fonction “getch”

int main()// la fonction principale

{

char c; //déclaration de variable

do{

printf("Voici un petit programme en C ");

do

{

printf("\n\n\nUne autre saisie...(o/n)?");

c=getchar();

}while(c!='o'&&c!='O'&&c!='n'&&c!='N');// « != »signifie différent ou égale

fflush (stdin);// vider le tampon de lecture scanf

}while(c!='n'&&c!='N');

puts("pour sortir ,appuyez une touche");

getch(); // Attente d'une saisie clavier

return 0;

}

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 14: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 1 : Conversion de Conversion de différents formats différents formats */

#include <stdio.h>

#include<conio.h>

main ()

{

int i; // Déclaration d'un entier

printf("Entrez une valeur decimale : ");

scanf("%d",&i);

printf("Ici, i=%d\nConv en octal= %o\nConv en hexa = %x\n", i, i, i);

getch();

} PHAN Thúc Hào Créé le 02 Octobre 2006

Page 15: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Début

Comment allez-vous ?

réponse

Fin

Content Désolé

bien

mal

Prog 2

Lecture de réponse

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 16: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 2 : Formule de politessepolitesse */

Début

int response;

écrire "Comment allez-vous ? 1 = Bien , 2 = mal "

lire response

Si response = 1

écrire "Je suis vraiment ravi !!!"

Si non

écrire "Oh, je suis desole."

Fin PHAN Thúc Hào Créé le 02 Octobre 2006

Page 17: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 2.1 : Formule de politesseFormule de politesse */

#include<stdio.h>

#include <conio.h>

int main(){

int response; //déclaration de variable locale

printf("Comment allez-vous ? 1 = Bien , 2 = mal : ");

scanf("%d",&response);

if (response == 1)

{

printf("Je suis vraiment ravi !!!");

}

else printf("Oh, je suis desole.");

getch();}

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 18: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 2.2 : Formule de politesseFormule de politesse */

#include<stdio.h>

#include <conio.h>

int main()

{

int response;

printf(" \n\n\t\t\tComment allez-vous ?\n\n\t\t\t1 = Bien , 2 = mal : ");

scanf("%d",&response);

if (response == 1)

{

printf("\n\n\t\t\tJe suis vraiment ravi !!!\n\n");

}

else printf("\n\n\t\t\tOh, je suis desole.\n\n");

puts("\n \t\t\tPour sortir, appuyez une touche");

getch();

} PHAN Thúc Hào Créé le 02 Octobre 2006

Page 19: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 2.3 : Formule de politesse */

#include<stdio.h>

#include <conio.h>

int main()

{

int response;

char c;

do{

printf("\nComment allez-vous ?\n\n1 = Bien , 2 = mal : ");

scanf("%d",&response);

if (response == 1)

{

printf("\n\nJe suis vraiment ravi !!!\n");

}

else printf("\n\nOh, je suis desole.\n");

fflush (stdin);// vider le tampon de lecture scanf

do{

printf("\nUne autre saisie...(o/n)?");

c=getchar();

}while(c!='o'&&c!='O'&&c!='n'&&c!='N');

printf("\n");//saut ligne

}while(c!='n'&&c!='N');

puts("\nPour sortir, appuyez une touche");

getch();

}PHAN Thúc Hào Créé le 02 Octobre 2006

Page 21: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Début

Écriture : francs

Fin

Résultat en euros

lecture : francs

euros = francs /6.55975

Prog 3.1

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 22: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Début

flottant francs, euros 

écrire "Entrez une valeur en francs "

lire francs

euros = francs /6.55975

écrire " résultat en euros "

Fin

Prog 3.1

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 23: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 3.1 : Ce programme permet de Convertir en francs / euros */

#include <stdio.h>

#include <iostream> //entrées sorties en C++ ( system("PAUSE")

int main()

{

float francs, euros; //déclaration de variables

printf("\n\tEntrez une valeur en francs : ");

scanf("%f",&francs);

euros = francs/6.55975;

// affiche le résultat avec arrondi a deux décimales(%.2f )

printf("\n\tLe resultat de conversion : %.2f euros\n\n", euros);

system("PAUSE");

return 0;

}

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 25: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Début

Écriture : euros

Fin

Résultat en francs

lecture : euros

francs = euros*6.55975

Prog 3.2

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 26: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Début

flottant francs, euros 

écrire "Entrez une valeur en euros "

lire euros

francs = euros *6.55975

écrire " résultat en francs "

Fin

Prog 3.2

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 27: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 3.2 : Ce programme permet de Convertir en euros / francs */

#include <iostream> //entrées sorties en C++ ( system("PAUSE")

#include <stdio.h>

int main()

{

float francs, euros;

printf("\n\tEntrez une valeur en euros : ");

scanf("%f",&euros);

francs = euros*6.55975;

printf("\n\tAffichage avec arrondi a deux decimales : %.2f francs \n\n", francs);

system("PAUSE");

return 0;

}

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 28: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Prog 3.3

Début Fin/* Prog 3.3 : Ce programme permet de Convertir en euros / francs & francs/euros *//************ créé le 02/10/2006 par PHAN Thuc Hao ************/#include<stdio.h>#include<conio.h>/******************************************************************************/int Conv_F_E(float ,float ); /* Déclaration prototype */int Conv_E_F(float ,float ); /* Déclaration prototype *//******************************************************************************/int Conv_F_E(float francs,float euros){ printf("\n\tEntrez une valeur en francs : "); scanf("%f",&francs); euros = francs/6.55975; printf("\n\tLe resultat de conversion : %.2f euros\n\n", euros); return 0;} /******************************************************************************/int Conv_E_F(float euros,float francs){ printf("\n\tEntrez une valeur en euros : "); scanf("%f",&euros); francs = euros*6.55975; printf("\n\tLe resultat de conversion : %.2f francs \n\n", francs); return 0;}/******************************************************************************/

main() /* programme principal */

{

char choix; /* variable locale a main() */

float francs, euros; //déclaration de variables

char c;

printf("\tHao programme : Convertisseur francs/euros & euros/francs \n\n");

do{

printf("\nConversion francs/euros,Tapez 1\n");

printf("Conversion euros/francs, tapez 2\n");

do{

fflush(stdin);//l'emplacemnt de cette fonction est très importante

printf("\nVOTRE CHOIX : ");

scanf("%c",&choix);

switch(choix)

{

case '1':Conv_F_E(francs,euros);

break;

case '2':Conv_E_F(francs,euros);

break;

}

fflush(stdin);//l'emplacemnt de cette fonction est très importante

printf("\nUne autre saisie...(o/n)?");

c=getchar();

}while(c!='o'&&c!='O'&&c!='n'&&c!='N');

printf("\n");//saut ligne

}while(c!='n'&&c!='N');

printf("\n\nPOUR CONTINUER FRAPPER UNE TOUCHE: ");

getch();

}

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 29: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 30: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

/* Prog 4 : Ce programme permet d’effectuer le calcul de TVA */

#include <stdio.h>

#include <conio.h>

#define TVA 20.6 /*définir du constant TVA = 20.6 */

main(void)

{

float HT,TTC;

printf("veuillez entrer le prix HT : ");

scanf("%f",&HT);

TTC=HT*(1+(TVA/100));//(HT*1) + (HT*(20.6/100))

printf("le prix T.T.C est : %.2f\n",TTC);

getch() ;

} PHAN Thúc Hào Créé le 02 Octobre 2006

Page 31: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 32: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

#include <stdio.h>

#include<conio.h> // pour la fonction getch : attente d'une saisie clavier

main(void)

{

int i,NbNotes; /* déclaration variable locale */

float note,somme=0,moyenne;

puts("\t\t\tCalcul de moyenne ( Hao )\n"); // Affiche le titre.

printf("Entrez le nombre de notes : "); /* Saisie du nombre de notes à traiter*/

scanf("%d",&NbNotes);

for(i=0;i<NbNotes;i++) // ou for(i=1;i<=NbNotes;i++) /* Entrée des notes */

{

printf("entrez la note : ");

scanf("%f",&note);

somme+=note; // ou some=some+note

}

moyenne=somme/NbNotes;

printf("\n\nmoyenne calculee est : %.2f\n\n",moyenne);

puts("Au revoir");

getch();

}

Prog 5.1

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 33: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

// programme réalisé par Phan Thuc Hao le 02 10 2006// ce programme permet de calculer la moyenne des notes sur 20,#include <stdio.h>#include <conio.h>#define beep printf("%c",07);//( 07 : hexadécimal ou 7 : décimal )main(void){int i,NbNotes;float Notes,NoteMoyenne,SommeNotes=0; // la saisie notes est illimitée, car il n'a pas de tableau de Notes printf("\nEntrez le nombre de notes que vous desirez traiter:"); scanf("%d",&NbNotes); for (i=1;i<=NbNotes;i++ ) // saisie des notes { printf("\nVeuillez entrer la note : "); scanf("%f",& Notes); while (Notes>20) // Notes limitées à 20 maxi { beep // erreur de saisie

printf("\n Veuillez saisir une note inferieure à 20 : "); scanf("%f",&Notes); } SommeNotes = SommeNotes+Notes; // Calcul de la somme des notes } NoteMoyenne = SommeNotes/NbNotes; // Calcul de la moyenne printf("\nLa note moyenne est :%.2f", NoteMoyenne); puts("\n\na bientot") ; getch();}

Prog 5.2

PHAN Thúc Hào Créé le 02 Octobre 2006

Page 34: PHAN Thúc HàoCréé le 02 Octobre 2006 Code source en langage C++ # include # include Void main ( ) { puts (" Bonjour…..! " ); } Processus de compilation

Prog 5.3

// ce programme permet de calculer la moyenne des notes sur 20,#include <stdio.h>#include <conio.h>int main(){char c;int Boucle,NbNotes;float Notes,NoteMoyenne,SommeNotes=0;do{ printf("\nEntrez le nombre de notes que vous désirez traiter:"); scanf("%d",&NbNotes); for (Boucle=1;Boucle<=NbNotes;Boucle++ ) { printf("\nVeuillez entrer la note : "); scanf("%f",& Notes); while (Notes>20) // Notes limitées à 20 maxi { printf("\n Veuillez saisir une note inférieure à 20 : "); scanf("%f",&Notes); } SommeNotes = SommeNotes+Notes; } NoteMoyenne = SommeNotes/NbNotes; // Calcul de la moyenne printf("\nLa note moyenne est :%.2f", NoteMoyenne); fflush (stdin);// vider le tampon de lecture scanf do{ SommeNotes=0; // initialiser printf("\n\n\nUne autre saisie...(o/n)?"); c=getchar(); }while(c!='o'&&c!='O'&&c!='n'&&c!='N');}while(c!='n'&&c!='N');printf("\n\nAu revoir...!");getch();}

PHAN Thúc Hào Créé le 02 Octobre 2006