1 mot par ligne en C
Fermé
jeff
-
14 déc. 2005 à 01:50
mamiemando Messages postés 33401 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 novembre 2024 - 14 déc. 2005 à 19:52
mamiemando Messages postés 33401 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 novembre 2024 - 14 déc. 2005 à 19:52
A voir également:
- 1 mot par ligne en C
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Aller à la ligne excel - Guide
- Voir mot de passe wifi android - Guide
4 réponses
Salut,
Je crois que c'est l'approche qu'il faut changer.
Exemple sous vc++ :
Ton code cherche la fin de ligne : ((c=getchar()) != EOF)
Sur une saisie au clavier le "Entrée" fait office de EOF.
Utilise plutôt un caractère d'arrêt.
((c=getchar()) != '*')
Lupin
Je crois que c'est l'approche qu'il faut changer.
Exemple sous vc++ :
#include <iostream> // Charge pour les instructions cout,endl #include <conio.h> // Charge pour l'instruction getch() char car=0; char ligne=0; int main() { while ((car = getch()) != '*') { if ( car == ' ') std::cout << "\n"; else std::cout << car; } std::cout << "\nTermine" << std::endl; return 0; }
Ton code cherche la fin de ligne : ((c=getchar()) != EOF)
Sur une saisie au clavier le "Entrée" fait office de EOF.
Utilise plutôt un caractère d'arrêt.
((c=getchar()) != '*')
Lupin
re:
j'avais compris !
mais pas de compilateur pour tester ta syntaxe !
j'avais compris !
mais pas de compilateur pour tester ta syntaxe !
int main(void)
{
int c;
while ((c=getchar()) != '*')
{
if ( c == ' ') putchar( c + '\n' );
else putchar(c);
}
return 0;
}
Lupin
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
14 déc. 2005 à 19:52
14 déc. 2005 à 19:52
De toute façon son code c++ était pas top (variables globales qui n'ont pas lieu d'être, utilisation de conio.h alors que ce n'est pas nécessaire.
Je tiens à signaler qu'en c++ un header ça s'include sans mettre .h (et si c'est un header C, on le met l'include dans un extern "C" { ...})
Ensuite je pense que le putchar( c + '\n' ); ne marchera pas car on ne concatène pas des caractères (là ont fait une somme de deux valeurs, donc un caractère qui n'a rien à voir !).
Il faut à mon avie que tu fasse un fgetc sur stdin et que tu traites s'il s'agit d'un espace, d'un retour chariot etc...
Bonne chance
Je tiens à signaler qu'en c++ un header ça s'include sans mettre .h (et si c'est un header C, on le met l'include dans un extern "C" { ...})
Ensuite je pense que le putchar( c + '\n' ); ne marchera pas car on ne concatène pas des caractères (là ont fait une somme de deux valeurs, donc un caractère qui n'a rien à voir !).
Il faut à mon avie que tu fasse un fgetc sur stdin et que tu traites s'il s'agit d'un espace, d'un retour chariot etc...
Bonne chance