Exercices et cours c++

Fermé
imen - 22 nov. 2004 à 15:09
 Vilmorar - 16 févr. 2012 à 11:25
bonjours
je suis etudiante en informatique de gestion en 3eme anne
je veux avoir des cours sur le c++ et des exercices avec solution
merci d'avance de votre reponse
imen.d
A voir également:

30 réponses

s v p envoyer votre email à mon email pour recevoir les cours
bon courrage
0
Bonjour, je suis étudiante en deuxième année en génie informatique et je veux avoir des cours et exercices en langage c.
merci d'avance
0
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
22 nov. 2004 à 15:35
Bonjour!!

Rien que sur ce site, tu as le C++ décrit à cette adresse!
http://www.commentcamarche.net/cpp/cppintro.php3

Sinon, je suis sure qu'avec un minimum de recherche sur google, par exemple, tu trouveras ton bonheur! ;-)


Maily :-))))
Boumj'chtattrape
-1
john_wiki Messages postés 5 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 1 février 2012 1
Modifié par john_wiki le 26/01/2012 à 22:49
des cours de c++ pour les débutants:

Cours c++ gratuit pdf

.
0
Aghaster Messages postés 26 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 27 janvier 2007 25
20 mars 2006 à 18:47
Salut,
Je te conseille mon tutorial de C++ que tu peux consulter a l'adresse suivante: www.planetcpp.info
Amuse-toi bien

-Aghaster
-1
bonjour ,myv name is corneille I live at Rwanda am studying in sinior six I agree to request you some exercices of programmation
about #include<conio.h> because I will do projet soon merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

merci "wumi" pour le site http://www.RabaInfo.com
-1
Slt voici un site www.in4matique.c.la qui contient des cours et des exercices en cpp, Java, HTML, et Bureautique....


www.in4matique.c.la
-1
CHAPITRE 2

SAISIE DE NOMBRES ET DE CARACTERES AU CLAVIER


LA FONCTION GETCH


La fonction getch, appartenant à la bibliothèque conio.h permet la saisie clavier d' un caractère alphanumérique, sans écho écran. La saisie s'arrête dès que le caractère a été frappé.

La fonction getch n'est pas définie dans la norme ANSI mais elle peut exister dans la bibliothèque d'autres compilateurs.

On peut utiliser getch de deux façons:

- sans retour de variable au programme:

Exemple: printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();

- avec retour de variable au programme:

Exemple: char alpha;
printf("ENTRER UN CARACTERE (ATTENTION PAS DE RETURN) ");
alpha = getch();
printf("\nVOICI CE CARACTERE: %c",alpha);

Les parenthèses vides de getch() signifient qu'aucun paramètre n'est passé à cette fonction par le programme.


LA FONCTION SCANF



La fonction scanf, appartenant à la bibliothèque stdio.h, permet la saisie clavier de n'importe quel type de variable.

Les variables à saisir sont formatées, le nom de la variable est précédé du symbole & désignant l'adresse de la variable (On reverra ce symbole dans le chapitre sur les pointeurs).
La saisie s'arrête avec "RETURN" (c'est à dire LF), les éléments saisis s'affichent à l'écran (saisie avec écho écran).

Tous les éléments saisis après un caractère d'espacement (espace, tabulation) sont ignorés.
Exemples: char alpha;
int i;
float r;
scanf("%c",&alpha); /* saisie d'un caractère */
scanf("%d",&i); /* saisie d'un nombre entier en décimal */
scanf("%x",&i); /* saisie d'un nombre entier en hexadécimal*/
scanf("%f",&r); /* saisie d'un nombre réel */


Remarque: Si l'utilisateur ne respecte pas le format indiqué dans scanf, la saisie est ignorée. Aucune erreur n'est générée.

Exemple: char alpha;
scanf("%d",&alpha);
Si l'utilisateur saisie 97 tout va bien, alpha devient le caractère dont le code ASCII vaut 97.
Si l'utilisateur saisie a, sa saisie est ignorée.


Exercice II_1:

Saisir un caractère au clavier, afficher son code ASCII à l'écran. Soigner l'affichage.

Exercice II_2: Saisir un nombre entier en décimal au clavier, l'afficher en hexadécimal à l'écran. Soigner l'affichage.

Exercice II_3:

Que va-t-il se passer lors de l'exécution du programme suivant, si l'utilisateur saisit 67?

#include <stdio.h>
#include <conio.h>
void main()
{
char c;
printf("ENTRER UN CARACTERE: ");
scanf("%c",&c);
printf("VOICI SON CODE ASCII: %d\n",c);
printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();
}
NOTION DE FLUX D'ENTREE



Lorsque l'on saisit au clavier une suite de caractères terminés par "RETURN" ces caractères sont rangés dans un tampon (ou buffer) de type FIFO (First In/First Out), le dernier caractère rangé dans le tampon est LF (code ASCII 0x0A).
Cette suite de caractères est appelée flux d'entrée.
La taille du tampon dépend de la machine et du compilateur utilisés. Sur un PC et en TURBOC, la taille du tampon est de 127 caractères.

Une compilation du programme vide le tampon.


LA FONCTION SCANF
DEUXIEME APPROCHE



La fonction scanf ne se comporte pas tout à fait comme décrit plus haut. Si le tampon est vide, tout se passe comme précédemment décrit.
Au contraire, si le tampon n'est pas vide, la fonction scanf en teste le premier élément, s'il correspond au format de la variable invoquée, le tampon perd cet élément et la variable en prend la valeur.

Tout caractère ou nombre saisi au clavier et non pris en compte par la fonction scanf est rangé dans le tampon.


Exemple et Exercice II-4:


#include <stdio.h>
#include <conio.h>
void main()
{
char c1,c2;
printf("ENTRER UN CARACTERE: ");
scanf("%c",&c1);
printf("VOICI SON CODE ASCII EN HEXADECIMAL: %x\n",c1);
printf("ENTRER UN AUTRE CARACTERE: ");
scanf("%c",&c2);
printf("VOICI SON CODE ASCII EN HEXADECIMAL: %x\n",c2);
printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();
}
Si l'utilisateur saisit K pour c1, le programme donnera l'écran d'exécution suivant:


ENTRER UN CARACTERE: K
VOICI SON CODE ASCII EN HEXADECIMAL: 4b
ENTRER UN AUTRE CARACTERE: VOICI SON CODE ASCII EN HEXADECIMAL: a


Lors de la saisie de K, le caractere LF est rangé dans le tampon. Lors du deuxième appel à scanf, le tampon n'est pas vide, l'utilisateur ne peut effectuer sa saisie clavier, le code ascii de LF est affiché à l'écran.
A l'issue de l'exécution, le tampon est vide.


Exercice II_5: Le programme suivant s'exécute-t-il "correctement" ? Que contient le tampon à l'issue de l'exécution ?

#include <stdio.h>
#include <conio.h>
void main()
{
char c;
int i;
printf("ENTRER UN CARACTERE: ");
scanf("%c",&c);
printf("VOICI SON CODE ASCII EN HEXADECIMAL: %x\n",c);
printf("ENTRER UN NOMBRE: ");
scanf("%d",&i);
printf("VOICI CE NOMBRE EN HEXADECIMAL: %x\n",i);
printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();
}


Exercice II_6: Le programme suivant s'exécute-t-il "correctement" ? Que contient le tampon à l'issue de l'exécution ?

#include <stdio.h>
#include <conio.h>
void main()
{
char c;
int i;
printf("ENTRER UN NOMBRE: ");
scanf("%d",&i);
printf("VOICI CE NOMBRE EN HEXADECIMAL: %x\n",i);
printf("ENTRER UN CARACTERE: ");
scanf("%c",&c);
printf("VOICI SON CODE ASCII EN HEXADECIMAL: %x\n",c);
printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();
}

Exercice II_7: Dans l'exercice II_4 que se passe-t-il si, lors de la première saisie, l'utilisateur tape 67 ?


Remarque: En TURBOC la fonction flushall() permet de vider le tampon d'entrée. En l'invoquant après un appel à scanf, on se débarrasse des problèmes de flux d'entrée.


LA FONCTION GETCHAR



La fonction getchar pemet la saisie d'un caractère (char). Elle appartient à la bibliothèque stdio.h. Les 2 écritures suivantes sont équivalentes:

char c; char c;
printf("ENTRER UN CARACTERE: "); printf("ENTRER UN CARACTERE: ");
scanf("%c",&c); c = getchar();

Non formatée, la fonction getchar est moins gourmande en place mémoire que scanf. Il vaut mieux l'utiliser quand cela est possible; getchar utilise le flux d'entrée exactement comme scanf.


CORRIGE DES EXERCICES



Exercice II_1:

#include <stdio.h>
#include <conio.h>
void main()
{
char c;
printf("ENTRER UN CARACTERE: ");
scanf("%c",&c);
printf("VOICI SON CODE ASCII EN DECIMAL: %d\n",c);
puts("Pour continuer frapper une touche...");
getch();
}
Exercice II_2:

#include <stdio.h>
#include <conio.h>
void main()
{
int nombre;
printf("ENTRER UN NOMBRE ENTIER: ");
scanf("%d",&nombre);
printf("VOICI CE NOMBRE EN HEXADECIMAL: %x\n",nombre);
printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();
}

Exercice II_3: Seul le caractère 6 est pris en compte. L'affichage suivant la saisie donnera 54, c'est à dire le code ASCII de 6.


Exercice II_5: Oui car lors du deuxième appel à scanf, le programme attend un entier(int), alors que le tampon ne contient qu'un caractère (char).
A l'issue de l'exécution le tampon contient les deux caractères LF.


Exercice II_6: Non car à l'issue de la première saisie, le tampon contient le caractère LF qui sera lu lors du deuxième appel à scanf. Apres exécution du programme, le tampon est vide.


Exercice II_7: L'affichage de c1 en hexadécimal donne 36 c'est à dire le code ASCII de 6, l'utilisateur ne peut saisir c2, l'affichage de c2 en hexadécimal donne 37 c'est à dire le code ASCII de 7.
-1
bon, que dire après ce cours... magistral.
En tout cas, tu pourra trouver d'autres exercices (et leurs corrigés) ici : http://tibo.lelore.free.fr/IRIS/
-1
jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008 7
1 oct. 2008 à 22:57
La BIBLE s'appelle :
le langage C (C ansi)
de B.W. Kernigham & D.M. Ritchie

2éme édition
Pentice hall
Masson

on n'a jamais fait mieux.

essayez aussi d'avoir en même temps :

Le système UNIX
de Steve BOURNE
Interéditions

Avec cela vous comprendrez toutes les bases essentielles. Ils les ont créée ! ils les ont écrites !
-1
Salut,

Ca c'est pour le C, hors le sujet parle de C++ ce qui est un autre langage...

Il y à un nouveau vrai cours C++ sur le Web, qui est en fait un livre reconnu, la traduction en Français de cet excellent livre pour le C++ : "Penser en C++" est désormais disponible gratuitement sur le Web, à cette adresse : https://bruce-eckel.developpez.com/livres/cpp/traduction/ticpp2vol1/
0
jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008 7
3 oct. 2008 à 21:46
Homme de peu de fois !
Apprend le C et tu saura le C++
C++ est l'élévation du C qui est l'élévation de l'assembleur

Une vu simpliste de l'univers de la donnée.

Je sais on pourrait considérer ce post du niveau du "café" mais pour moi programmer est une Religion
si tu ne connais pas les bases tu ne peu pas aller au dessus!
ou alors il te manquera toujours quelque chose

éventuellement apprendre le C++ en s'en servant comme le C dans un premier temps, puis passer à des niveaux plus élevés de la programmmation.

La programmation objet requière un certains nombre de consepts souvent mals compris de la part des programmeurs qui ont un une Ferrari à disposition et un permis depuis 18 mois !!!!!!!!!

On peut faire le mieux et surtout le pire. on le disait déjà de C dans les années 80 , j'ai entendus cela pour la C++ dans les années 90........ et rien n'a changé!!!
-1
Salut,

Pour apprendre le C++, donc "apprendre à penser en C++", il ne faut surtout pas commencer par apprendre le C, il faut apprendre directement le C++.

C'est sympa de hanter les forums de CCM pour donner les pires conseils qui soient...
0
jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008 7 > Gouse
4 oct. 2008 à 09:15
Tu as raison il faut toujours essayer de courir avant d'apprendre à marcher comme ça à la première chute on se calme un peu.

Et c'est très révélateur des extraits de codes qu'on lit, des fautes qu'ils contiennent et des erreurs d'interprétation et de compréhension.

Pour apprendre
1- avoir une base mathématique suffisante (pas forcément costaud)
2- apprendre l'algorithmique et l'analyse
3- apprendre les diffrents types de programmation (client serveur, événementielle, ...)
5- s'interesser enfin à un langage ou plusieurs pour appliquer les préceptes précédents

Dire d'apprendre les choses par le début ne me semble pas délirant et ne me semble pas le pires des conseils qu'il soit.

penser en C++ c'est bien, c'est vrai que la POO est une forme de pensée particulière (à peine) mais on peut l'amener avec intelligence.

Même à SUPINFO qui n'est pas la meilleure des écoles de programmation on commence ainsi (j'y ai été prof, aujourd'hui j'enseigne en BTS et en Université, s'il le faut certains d'entre vous m'ont en cours).
0
Cyrix > jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008
4 oct. 2008 à 12:02
Qu'est ce qui te dit qu'il à pas déjà fait son apprentissage d'un langage procédural, comme le Pascal par exemple ?

Pour faire un apprentissage du langage procédural le mieux c'est le Pascal, et surtout pas le C

Donc non il ne faut surtout pas apprendre le C avec le C++, il faut apprendre le C++ directement

Le fait que tu dise travailler à supinfo ca ne va pas relever l'opinion qu'on peu avoir de cette lamentable école...

Tu leur fait une vrai contre publicité en écrivant de telles bétises sur le net

Si tu était vraiment compétent tu serais chef de projet en grande entreprise et pas petit prof dans une école minable.
0
jihelge Messages postés 71 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 4 octobre 2008 7 > Cyrix
4 oct. 2008 à 16:05
Oups il y a eu une inversion de sujet sur deux fenêtres !
désolé effectivement elle à peut être déjà fait son apprentissage procédural.

Nota j'ai été à SUPINFO mais j'en suis parti car pas d'accord avec leurs méthodes (la connâître de l'extérieur est une chose voir de l'intérieur en est une autre).
Attention à la façon dont tu t'exprime, cette école pourrait se trouver offensée de tes propos et je sais que beaucoup d'étudiant de cette école passe dans ce forum.
Ne t'imagine le roi du monde derrière ton clavier. maintenant cher Cyrix quand on a quelque chose à dire ce n'est pas nécessaire d'être insultant. Je ne sais pas qui tu es et je ne fais aucun commentaire sur ta réponse même si je juge à la limite (basse) de la compétence.
Je suis compétentet rien à prouver à personne certainement pas à un jeune coq hurlant qui pense tout connaitre.
J'ai mon entreprise, elle marche très bien merci, la programmation est un passe temps, les cours et l'assistance un loisir. Des gens comme toi j'en embauche mais ne restent généralement pas longtemp, après ils repartent à leur seule compétence : ranger les boites de conserve au supermarché le jour et geek la nuit.

Pour revenir à nos moutons et sans confondre les sujets traités, Est que notre questionneur à fait une première approche des notions de POO ?
si non il faut commencer par là.

0