× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Lire une occurence dans une phraseSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
loulou84
  Posté le 08/03/2010 @ 21:54 
Aller en bas de la page 
Petit astucien

Bonjour,

Voila je dois lire le nombre de e dans une phrase tappe par l'utilisateur :

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
int longeur,i,nbr = 0;

main()
{
char txt[]= "";
e=0;
char var[1] ="e";
int mauvaisephrase = TRUE;
while(mauvaisephrase)
{
mauvaisephrase = TRUE;
printf("Veuillez tapper votre texte \n");
gets(txt);
printf("Votre texte est:\n");
puts(txt);
longeur = strlen(&txt);

if (longeur <= 201)
{ printf("Votre texte est composé de: %d caracteres \n",longeur);
mauvaisephrase = FALSE;

}
}
printf("Nous allons maintenant compter les e");

for(i=0;longeur-1;i++)
{
if( txt[i]== var )
{
nbr=nbr+1;
}
}


}

voici mes erreurs

error C2065: 'e' : identificateur non déclaré
error C2143: erreur de syntaxe : absence de ';' avant 'type'
error C2143: erreur de syntaxe : absence de ';' avant 'type'
error C2065: 'mauvaisephrase' : identificateur non déclaré
error C2065: 'mauvaisephrase' : identificateur non déclaré
warning C4047: 'fonction' : 'const char *' diffère de 'char (*)[1]' dans les niveaux d'indirection

warning C4024: 'strlen' : types différents pour le paramètre formel et réel 1
error C2065: 'mauvaisephrase' : identificateur non déclaré
error C2065: 'var' : identificateur non déclaré

1>Exercice 1 - 7 erreur(s), 2 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========

Si vous pouvez m'aider s'il vous plait

Publicité
breizhbugs
 Posté le 09/03/2010 à 11:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Message original par loulou84

Bonjour,

Voila je dois lire le nombre de e dans une phrase tappe par l'utilisateur :

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
int longeur,i,nbr = 0; // il n'est pas utile d'en faire des variables globales

main()
{
char txt[]= ""; //incorrecte car fixe une taille nulle je crois
e=0; // e n'est pas déclarer (int, char, ...) et inutile pour résoudre l'exercice
char var[1] ="e"; // tu déclares un tableau contenant une chaine de caractere composé de 1 caractere plus le \0 terminal ! plus simple: char letttre = 'e';


int mauvaisephrase = TRUE;
while(mauvaisephrase)
{
mauvaisephrase = TRUE;
printf("Veuillez tapper votre texte \n");
gets(txt);
printf("Votre texte est:\n");
puts(txt);
longeur = strlen(&txt); // tel que tu declares txt c'est deja un pointeur donc ca aurait du etre strlen(txt)

if (longeur <= 201)
{ printf("Votre texte est composé de: %d caracteres \n",longeur);
mauvaisephrase = FALSE;

}
}
printf("Nous allons maintenant compter les e");

for(i=0;longeur-1;i++) // la condition est (i < longeur) ! longeur - 1 est un nombre pas une condition
{
if( txt[i]== var )
{
nbr=nbr+1;
}
}


}

Voici ce que je propose:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0


int main(int agrc, char **argv)
{
char txt[255]; // on alloue un tableau de 254 caracteres pour la phrase (+1 pour le \0 terminal)


char lettre ='e'; // la lettre que l'on cherche a compter

// déclarer ici car non utilisé en dehors de main()
int longueur=0; pour calculer la longueur de la phrase

int nbr = 0; // pour calculer le nombre d'ocurence de 'lettre'


int mauvaisephrase = TRUE;
while(mauvaisephrase)
{
mauvaisephrase = TRUE;
printf("Veuillez tapper votre texte (254 char max!)\n");
gets(txt);
printf("Votre texte est:\n");
puts(txt);
longueur = strlen(txt);
printf("Votre texte est composé de: %d caracteres \n",longueur);

if (longueur <= 201)
{
mauvaisephrase = FALSE;
printf("phrase trop grande!\n");

}
}

for(int i=0;i<longueur;i++)
{
if( txt[i]== lettre)
{
nbr=nbr+1;
}
}
printf("il y a %d '%c'\n", nbr, lettre);


}

loulou84
 Posté le 09/03/2010 à 22:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci a toi pour ce coup de main!

Bonne soirée

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
114,54 €SSD externe portable USB 3.1 SanDisk Extreme 1 To à 114,54 € livré
Valable jusqu'au 25 Novembre

Amazon Allemagne fait une promotion sur le SSD externe portable USB 3.1 SanDisk Extreme 1 To qui passe à 109,91 € (avec la TVA ajustée). Comptez 4,63 € pour la livraison en France soit un total de 114,54 € livré alors qu'on le trouve à 160 € ailleurs. Le disque SSD SanDisk Extreme portable est plus de deux fois plus petit que la taille de votre smartphone et fournit jusqu'à 5 fois la vitesse d'un disque dur portable. Apprenez à travailler en quelques secondes, transférez de grandes bibliothèques de vidéos et de photos à des vitesses pouvant atteindre 550 Mo/s. Vous ne craindrez pas de l'emporter partout avec vous grâce à sa conception robuste et résistante avec un coeur de SSD résistant aux chocs. Le logiciel SanDisk inclu SecureAccess peut crypter vos fichiers personnels. Garantie 3 ans. Résiste à l'eau (IP55). Interface : USB 3.1 Type A et C.

Utilisez votre compte Amazon FR sur Amazon DE. Pas de douane.


> Voir l'offre
7,99 €Hub 4 ports USB 3.0 Sabrent avec commutateurs à 7,99 €
Valable jusqu'au 24 Novembre

Amazon fait une promotion sur le Hub 4 ports USB 3.0 Sabrent à 7,99 €. On le trouve ailleurs autour de 14 €. 4 commutateurs lumineux vous permettront d'activer ou non chaque port USB 3.0.


> Voir l'offre
599,99 €PC portable 17 pouces Lenovo (Core i5, 8 Go de RAM, SSD 512 Go, GeForce GTX 1650) à 599,99 €
Valable jusqu'au 24 Novembre

Fnac fait une vente flash sur le PC portable 17 pouces Lenovo Ideapad L340-17IRH qui passe à 599,99 € alors qu'on le trouve ailleurs autour de 799 €. Ce portable dispose d'un écran de 17 pouces FullHD (1920x1080), d'un processeur Intel Core i5 9300H, de 8 Go de RAM, d'un SSD de 512 Go, d'une carte graphique dédiée NVIDIA GeForce GTX 1650 4 Go, du WiFi et du Bluetooth. Le tout tourne sous Windows 10.


> Voir l'offre

Sujets relatifs
Comment lire un texte dans un zipped fichier
Comment mettre un temps dans un Script
Comment exclure 0 dans une fonction
forcer l'acceptation de localisation dans les paramètres de flash
Existe-t-il une affiliation dans les programmes informatiques ?
Enregistrer telle quelle la valeur d'un JPasswordField dans la BD
syntaxe zone de liste déroulante dans excel 2010
Editer à la chaîne les raccourcis dans un dossier
[ANDROID] Menu déroulant dans un navigation Drawer
lire animation en .LUA
Plus de sujets relatifs à Lire une occurence dans une phrase
 > Tous les forums > Forum Autres langages