News Ticker

Menu

Série 3 Exercices Langage C

Série 3  Exercices Langage C

Exercice1
Ecrire un programme en langage C qui lit un verbe régulier en "er" au clavier et qui en affiche la conjugaison au présent de l'indicatif de ce verbe. Contrôlez s'il s'agit bien d'un verbe en "er" avant de conjuguer. Utiliser les fonctions gets, puts,strcat et strlen.


Exercice2
Écrire les déclarations d'une variable "unEtud" de type "Etudiant" pour la gestion de ses notes.
Exercice3
Écrire un programme permettant de saisir un entier positif et d'afficher la somme des chiffres du nombre lu. Le calcul de   cette somme se fait de 2 manières différentes :
                 1. avec 1 fonction récursive
                 2. avec une fonction "itérative"
Exercice4
Écrire une fonction et deux appels de cette fonction pour  afficher à l'écran :
         - la taille moyenne
         - le poids  moyen
      des personnes d'une liste linéaire des personnes.
Exercice5
Écrire une fonction permettant de créer un fichier binaire des personnes  à partir d'une liste linéaire des personnes.
Exercice6
Ecrire un programme en langage C qui demande l'introduction du nom et du prénom de l'utilisateur et qui affiche alors la longueur totale du nom sans compter les espaces. Employer la fonction strlen.

Correction


Exercice1
#include <stdio.h>
#include <string.h>
main()
{
/* Déclarations */
char VERB[20]; /* chaîne contenant le verbe */
char AFFI[30]; /* chaîne pour l'affichage   */
int L;         /* longueur de la chaîne     */

/* Saisie des données */
printf("Verbe : ");
gets(VERB);

/* Contrôler s'il s'agit d'un verbe en 'er' */
L=strlen(VERB);
if ((VERB[L-2]!='e') || (VERB[L-1]!='r'))
puts("\aCe n'est pas un verbe du premier groupe.!");
else
{
/* Couper la terminaison 'er'. */
VERB[L-2]='\0';
/* Conjuguer ... */
AFFI[0]='\0';
strcat(AFFI, "je ");
strcat(AFFI, VERB);
strcat(AFFI, "e");
puts(AFFI);

. . .

AFFI[0]='\0';
strcat(AFFI, "ils ");
strcat(AFFI, VERB);
strcat(AFFI, "ent");
puts(AFFI);
}
return 0;
}

Exercice2
#define LONG_NP   30   /* 30 caractères pour le nom et le prénom  */
#define NB_NOTES   7   /*  7 notes */
#define LONG_CODE  2   /*  2 caractères pour le code littéral "B+" ...*/

typedef struct
{      char  nomPre [LONG_NP +1] ;
int   numIns              ;

float note[NB_NOTES]       ;

char  code[LONG_CODE+1]    ;
}
Etudiant ;

Etudiant unEtud ;

Exercice3
#include <stdio.h>


/* fonction récursive */
int somChif ( int n )
{
if ( n < 10 )
return n     ;
else
return (n % 10) + somChif (n / 10) ;
}




/* processus itératif (avec boucle, ici while) */
int Somme2 (int n )
{  int somChiffres = 0 ;

while ( n )
{ somChiffres += n % 10 ;
n /= 10;
}
return somChiffres;
}

void main()
{  int valeur  ;
printf("Entrez un entier positif ");
scanf("%d", &valeur);

printf("\n %d (avec la récursivité)\n", somChif(valeur));
printf("\n %d (sans récursivité)\n", somme2(valeur));
}


Exercice4
float moyenne ( Pointeur liste, char codeVoulu )
{ float somme = 0.0 ;
int   n     =  0  ;

while (liste)
{ n++ ;
if (codeVoulu == 'T')
somme += liste->pers.taille ;
else
somme += liste->pers.poids  ;

liste = liste->suivant ;
}
return somme / n ;
}
Appels :

printf("La taille moyenne : %6.2f mètre\n", moyenne(liste, 'T'));
printf("Le poids  moyen   : %6.2f kgs\n", moyenne(liste, 'P'));

Exercice5
void creer (char * nomACreer, Pointeur liste)
{
FILE * aCreer = fopen(nomACreer, "wb");

int nbOctets = sizeof(personne);

while (liste)
{
fwrite(&(liste->pers), nbOctets, 1, aCreer);
liste = liste->suivant;
}
fclose(aCreer);
}

Appel :

Creer ("personne.Bin", liste);

Exercice6
#include <stdio.h>
#include <string.h>
main()
{
char NOM[40], PRENOM[40];
printf("Introduisez votre nom et votre prénom: \n");
scanf("%s %s", NOM, PRENOM);
printf("\nBonjour %s %s !\n", NOM, PRENOM);
printf("Votre nom est composé de %d lettres.\n",
strlen(NOM) + strlen(PRENOM));
/* ou bien
printf("Votre nom est composé de %d lettres.\n",
strlen(strcat(NOM,PRENOM)));
*/
return 0;
}




Share This:

Post Tags:

  • To add an Emoticons Show Icons
  • To add code Use [pre]code here[/pre]
  • To add an Image Use [img]IMAGE-URL-HERE[/img]
  • To add Youtube video just paste a video link like http://www.youtube.com/watch?v=0x_gnfpL3RM