hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
TDn°12
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Espace étudiants -> (¯`·._.·[Series TD & TP']·._.·´¯)
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 710
Masculin
Point(s): 5 479
Moyenne de points: 0

Posté le: Dim 24 Jan - 14:56 (2010)    Sujet du message: TDn°12 Répondre en citant

PublicitéSupprimer les publicités ?
Difficulté : ******

Bon j'avoue ce cours était long, et en plus c'est pas fini, j'ai un casse-tête pour vous :
-Essayez de créer un programme qui demande ne nom de la personne, qui lui demande son age et qui affiche : "Bonjours ...., vous avez ... ans". Mais vous devez utiliser la fonction sprintf pour réaliser ce programme. J'insiste, pour que vous progressez vous devez essayer de créer ce programme seul, et ne regardez pas la suite tu TD. Normalement vous n'y arriverais pas, mais je veux que vous voyez les erreurs que le compilateur affiche.

Une fois que vous avez réfléchis au problème vous pouvez regarder la suite :

-Il faut créer 3 variables :
Code:
char chaine[150] = {0};//contiendra une phrase
char nom[50] = {0};//contiendra le nom
int age = 0;contiendra l'age


Si vous avez essayer de faire le programme, vous avez surement constaté que vous n'arrivez pas a afficher le nom avec sprintf... Je vais vous expliquer le fonctionnement de cette fonction^^ :

char chaine[100];
int age = 15;

// On écrit "Tu as 15 ans" dans chaine
sprintf(chaine, "Tu as %d ans !", age);//En fait cette fonction ajoute le texte a la chaine de caractère "chaine", mais elle n'affiche pas cette phrase.
//On ne peut pas ajouter %s", nom dans la variable, c'est pourquoi le compilateur plante ou que le nom ne s'affiche pas.
// C'est grace a la fonction printf que l'on affiche la valeur de chaine.
printf("%s", chaine);

Il faut donc utiliser la ruse et une fonction que l'on a vu précédemment, j'ai nommé... : la fonction strcpy !

Et ouais, on a créer 3 variables dont une variable nom.

On vas commencer par taper ce code :
Code:
puts("Quel est ton nom ?\n");
scanf("%s", &chaine);
puts("Quel age as tu ?\n");
scanf("%ld", &age);

Les valeurs sont entrés. Ensuite on copie chaine dans nom comme ceci :
Code:
strcpy(nom, chaine);//nom = chaine


Après on peut utiliser la fonction sprintf :
Code:
sprintf(chaine, "Bonjours %s, tu as %ld ans\n", nom, age);

On est obliger de créer la chaine nom pour que le nom apparaisse.

Enfin on peut afficher la chaine complète :
Code:
printf("%s\n", chaine);


Bon le TD ne s'arrête pas la, on vas continuer a peu :

On fait un nouveau projet, on vas créer un projet un peu plus complexe.
On vas créer 2 tableaux contenant des caractères, ensuite on vas afficher le nombre de caractères que contiennent ces tableaux :

Code:
const char NULL_C = '\0';//caractère de fin de chaine
//déclaration de 2 chaines :
char cTab1[] = "Cette chaine comporte 35 caractères";
char cTab2[] = "et celle ci fait 30 caracteres";

On a créé notre caractère de fin et 2 tableaux. Ecrivez ce code juste derrière les includes, le tapez pas encore la fonction main, elle viendra après.
On vas calculer la longueur de la chaine 1 :
Code:
//calcul de la longueur de la chaine :
int longueur_chaine1(char cChaine[])
{
   int iLongueur = 0;//compteur
//Tant que l'on arrive pas au caractère de fin, on incrémente :
while(cChaine[iLongueur] != NULL_C) iLongueur++;
//On retourne la longueur de la chaine :
return (iLongueur);
}

Pareille pour la chaine 2 :
Code:
int longueur_chaine2(char *cPointeur_chaine)
{
   int iLongueur = 0;
   while(*cPointeur_chaine != NULL_C)
   {
      iLongueur++;
      //passage au caractère suivant :
      cPointeur_chaine++;
   }
   return(iLongueur);
}

Et c'est ici que l'on vas créer notre fonction main pour afficher le résultat :
Code:
void main()
{
printf("La longueur de iTab1 est %d\n", longueur_chaine1(cTab1));
printf("La longueur de iTab2 est %d\n", longueur_chaine2(cTab2));
getch();
        return 0;
}


 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 17:02 (2016)    Sujet du message: TDn°12

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Espace étudiants -> (¯`·._.·[Series TD & TP']·._.·´¯) Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation