Exercice C

Fermé
raol - 14 mai 2008 à 22:59
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 24 mai 2008 à 09:23
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..

5 réponses

BloodyAngel Messages postés 1482 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
14 mai 2008 à 23:09
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();
}

0
BloodyAngel Messages postés 1482 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
14 mai 2008 à 23:10
Correction :
while (carac[0] != 'k')

Après ça devrait marcher
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
15 mai 2008 à 00:43
ç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);
}
0
BloodyAngel Messages postés 1482 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
24 mai 2008 à 00:06
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 :)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
24 mai 2008 à 09:22
Salut,

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

0
salut
merci d'abord pour votre aide, mais pourquoi vous avez écrit getchar() après getc() on sait qu'ils ont le meme role
0

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

Posez votre question
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
15 mai 2008 à 22:49
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
0
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.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > raol
24 mai 2008 à 09:23
Salut,

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;
}

0