Projet de création de bibliothèque

GrandMaitre9 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
GrandMaitre9 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis débutant en programmation informatique, je prend des cours par correspondance et je suis en train d'apprendre le langage c et je ne connais aucun autre langage de programmation sur ordinateur à ce jour (c++ par exemple) à part le web.



Je remarqué qu'on ne pouvais pas écrire d'accent en c avec printf.

J'ai réussi à contourné le problème en faisant un exécutable pour écrire des accents dans un texte mais le programme se lance mal :


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


int main()
{

char EAigue, EGrave, ECirc, AGrave, ICirc, ITrema, OCirc, UGrave;

printf("Inserer les accents correspondants :\n");

printf("\ne accent aigue : "); scanf("%c", &EAigue);
printf("\ne accent grave : "); scanf("%c", &EGrave); <-- (Il n'y a pas scanf sur l'écran)
printf("\ne accent circonflexe : "); scanf("%c", &ECirc);
printf("\na accent grave : "); scanf("%c", &AGrave); <-- (Il n'y a pas scanf sur l'écran)
printf("\ni accent circonflexe : "); scanf("%c", &ICirc);
printf("\ni accent Trema : "); scanf("%c", &ITrema); <-- (Il n'y a pas scanf sur l'écran)
printf("\nO accent circonflexe : "); scanf("%c", &OCirc);
printf("\nU accent Grave : "); scanf("%c", &UGrave); <-- (Il n'y a pas scanf sur l'écran)


printf("\n\nMauvais accents : être à Hawaï cet été où la mer est calme");
printf("\nBons accents : %ctre %c Hawa%c cet %ct%c o%c la mer est calme\n\n", ECirc, AGrave, ITrema, EAigue, EAigue, UGrave);

system("PAUSE");
return 0;
}

Pourquoi certains scanf ne s'affiche pas ?

Merci de m'éclairer à ce sujet.
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,
Bien sûr que le C permet l'affichage des accents. C'est juste windows qui utilise pour des raisons historiques un autre encodage pour sa console. Mais cela se règle sans problème.
Sinon pour tes scanf, il faut savoir que lorsque tu appuies sur un caractère puos la touche entrée, cela provoque deux caractères à lire ( le caractère et entrée). Utilise un petit getchar () après chaque scanf () et tout rentrera dans l'ordre.

Cdlt
0
GrandMaitre9 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse très rapide.

Et quand tu dis que le C permet l'affichage des accents, tu connaîtrais un code, un exécutable ou une bibliothèque permettant de le faire.

Merci
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
J'ai pas d'exemple de code sous la main, mais la fonction "magique" Windows est : CharToOem() (ou même CharToOemBuff()).
Essaie par exemple :
char *chaineInitiale="hé hé ;-)";
ChaineAAfficher[50];
CharToOemBuff(chaineInitiale, chaineAAfficher, sizeof ChaineAAfficher - 1);
puts(ChaineAAfficher);

N'oublie pas : #include <windows.h>
Et ça devrait marcher :-).
0
GrandMaitre9 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci je ne suis pas encore avancé jusque là mais en tout cas, c'est très sympa de ta part
0