Exercice C

salut les amis,
vous pouvez me resoudre l'exercice suivant:

Ecrire un programme en C qui fait saisir des caracteres par l'utilisateur tant qu'il n'entre pas le caractere k (il faut calculer le nombre de caractere saisi et l'afficher à la fin).
merci d'avance..
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Hello

    #include <stdio.h>

    main()
    {
    char carac[2];
    int cpt=0;

    clrscr();
    while carac != 'k'
    {
    printf("\n Entrez un caractère : ");
    a=getche()
    cpt++;
    }
    printf ("\n\n Vous avez entré %d caractères",&cpt);
    getch();
    }

    1. Contributeur
      Correction :
      while (carac[0] != 'k')

      Après ça devrait marcher
      1. ça m'etonne que ton programme marche BloodyAngel il y a quelques fautes de syntaxe...
        je te propose ça
        #include<stdio.h>
        
        int main()
        {
        	char c;
        	int nbr=0;
        	while(c!='k')
        	{
        		printf("entre un caractere : \n");
        		c=fgetc(stdin);
        		getchar();
        		nbr++;
        	}
        	printf("nombre de caractere saisi : %d\n",nbr);
        }
        1. Contributeur
          Oui je m'y attendais ;)
          Je l'ai écris sans le tester directement dans CCM à la va-vite juste pour le mettre sur la piste :)
        2. Modérateur
          Salut,

          tu as oublié le return 0;, mais vu l'heure 00:43:06 je comprends ;-))

      2. salut
        merci d'abord pour votre aide, mais pourquoi vous avez écrit getchar() après getc() on sait qu'ils ont le meme role
        1. quand tu tapes le caractere apres tu appuie sur la touche entree on utilise le getchar() pour récupérer le caractere \n de la touche entree pour pas qu'il soit stocké dans la variable c
          1. oui merci,c'etait ça mon probleme lorsque je tape un caractere ensuite j'appuie sur entree il me donne deux message "entre un caractere" successive.
          2. Modérateur
            @raolSalut,

            voici une autre façon de le faire
            #include<stdio.h>
            
            int main()
            {
              int nc=0;
              char c;
              do{
                  printf("Caractere ? ");
                  if((c=getchar())!='\n' && c!='k') ++nc;
                  getchar();
              }while(c!='k');
            
              printf("nombre de caracteres saisis : %d\n",nc);
              return 0;
            }