Programme télégramme

Fermé
yacm55 Messages postés 3 Date d'inscription mercredi 8 avril 2015 Statut Membre Dernière intervention 14 avril 2015 - Modifié par yacm55 le 9/04/2015 à 19:14
salut j'ai besoin d'aide svp

soit G un fichier de caractères contenant une suite de télégrammes .chaque télégramme est constitué d'une suite de mots séparés par un ou plusieurs blancs. le télégramme se termine par le mot 'FINTEL'.
écrire un programme en c qui permet pour chaque télégramme d'afficher le texte en respectant les conventions suivantes :

- les mots afficher seront séparé par un seul blanc
- les mots ne peuvent pas dépasser 12 caractères sinon ils seront tronqués a droite
- le texte de chaque télégramme est suivi de l'indication du nombre total de mots (tronqués ou non) et le nombre de mots tronqués.
    • je veux afficher chaque télégramme ( fini par FINTEL ) avec ses nombres de mot et mot tronquée

j'ai essayé un programme mais il affiche tout les télégramme a la fois .

voici mon code :


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE*G; char Y; int nbt,nbm,J;

char ch[100];
G=fopen("partie2.txt","r");
nbm=0; nbt=0;

while( Y != EOF) {Y= fgetc(G); J=1;
while(Y != ' ' && J<12 && Y != EOF) { J++; printf("%c",Y);
Y = fgetc(G);}
if(Y != EOF) {printf(" ");
if(Y==' '){ nbm++;
while(Y==' ' && Y != EOF){Y = fgetc(G);}printf("%c",Y); }
else {while(Y != ' ' && Y != EOF){Y = fgetc(G);}nbt++;
if(Y != EOF) {nbm++;
while(Y == ' '){Y= fgetc(G);printf("%c",Y);}}}}}
fclose(G);
printf(" *** le nombre de mots de ce telegramme est: %d *** \n",nbm);
printf(" *** le nombre de mots tronquées de ce telegramme est: %d *** \n",nbt);

system("PAUSE");
return 0;
}