Exercice
melodie15996
Messages postés
8
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
salut svp j'ai besoin d'aide je n'arrive pas a ecrire ce programme la alors on me demande de'écrire un programme qui lit des caractères entrés au clavier (données d'entrée), et cela jusqu'à ce que les trois caractères 'f', 'i' et 'n' - minuscules - ou 'F', 'I' et 'N' - majuscules - aient été saisis successivement. On n'acceptera pas les mélanges de lettres minuscules et majuscules. (Il n'y a pas de données de sortie).
A voir également:
- Créer exercice à relier word
- Word 2013 - Télécharger - Traitement de texte
- Créer un organigramme sur word - Guide
- Comment créer un groupe whatsapp - Guide
- Tableau word - Guide
- Créer un compte google - Guide
7 réponses
Bonjour,
Que n'arrives-tu pas à faire ?
À écrire l'algorithme ? Ou à le traduire en C ?
N'hésite pas à montrer ce que tu as commencé à faire pour qu'on puisse t'aider.
--
Google is your friend
Que n'arrives-tu pas à faire ?
À écrire l'algorithme ? Ou à le traduire en C ?
N'hésite pas à montrer ce que tu as commencé à faire pour qu'on puisse t'aider.
--
Google is your friend
2 étapes :
1-Lecture de tout ce que l'utilisateur tape au clavier.
Sais-tu déjà comment faire pour lire ce que l'utilisateur tape au clavier ?
Ensuite, il faudra faire une boucle.
2-Condition de fin.
Il faut trouver les conditions à mettre dans la boucle pour qu'elle s'arrête.
1-Lecture de tout ce que l'utilisateur tape au clavier.
Sais-tu déjà comment faire pour lire ce que l'utilisateur tape au clavier ?
Ensuite, il faudra faire une boucle.
2-Condition de fin.
Il faut trouver les conditions à mettre dans la boucle pour qu'elle s'arrête.
Bonjour, il y a de l'idée, mais l'énoncé indique une lecture des caractères un à un. Il faut plutôt utiliser fgetc().
Ce qui nous donne plutôt un code
Ce qui nous donne plutôt un code
#include<stdio.h>
int main()
{
int nb_caracteres_fin = 0; // cette variable vaut 1 après 'f' ou 'F', 2 après 'i' ou 'I' qui suit un 'f', 3 après 'n' ou 'N' qui suit un 'fi'
printf("introduisez des caracteres");
do
{
char car_lu = fgetc(stdin);
// mettre à jour la variable nb_caractere_fin en fonction de car_lu et de nb_caractere_fin
// ....
} while ( nb_caractere_fin < 3 );
return 0;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Le code que j'ai donné en exemple est incomplet, il te faut compléter les lignes manquantes. Tu trouveras ici des explications mais pas une solution toute faite.
Écris nous le code que tu as fait car comme le dis Fiddy nous ne voyons pas ton écran.
Le code que j'ai donné en exemple est incomplet, il te faut compléter les lignes manquantes. Tu trouveras ici des explications mais pas une solution toute faite.
Écris nous le code que tu as fait car comme le dis Fiddy nous ne voyons pas ton écran.
bonjour ,
la résolution de cette question se faite par l'utilisation de quelque fonction des chaine de caractère ,voilla une version avec la fonction getchar() :
la résolution de cette question se faite par l'utilisation de quelque fonction des chaine de caractère ,voilla une version avec la fonction getchar() :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100
void lire_chaine(char *ch)
{
char c=getchar();
int i=0;
while(i<MAX-1)
{
if(c=='f')
{
ch[i]=c;
i++;
c=getchar();
if(c=='i')
{
ch[i]=c;
i++;
c=getchar();
if(c=='n')
{
ch[i]=c;
i++;
break;
}
}
}
if(c=='F')
{
ch[i]=c;
i++;
c=getchar();
if(c=='I')
{
ch[i]=c;
i++;
c=getchar();
if(c=='N')
{
ch[i]=c;
i++;
break;
}
}
}
ch[i]=c;
c=getchar();
i++;
}
ch[i]='\0';
printf("la chaine saisie au clavier est : %s",ch);
}
main()
{
char *ch;
ch = (char*)malloc(MAX*sizeof(char));
lire_chaine(ch);
}
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |