Bonjour,
Je suis étudiant en première année de Mesure-Physique et pour cette fin d'année, j'ai, ce que nos profs appellent, un projet en informatique à réaliser.
(Énoncer page 1,page 2)
Pour ceux qui ont la flm d'aller voir l'énoncer : je dois faire un programme qui me traduit des mots en signe représentant un personnage avec des drapeaux, langage de la marine.
Pour le moment voila ce que j'ai fait, avec mes maigres connaissances (il fonctionne pour le moment qu'avec les lettres "a" et "b":
Mon problème est le suivant comme je dois faire apparaître la traduction en signe de telle manière qu'un mot soit afficher sur une ligne, comment puis-je faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 #include <stdio.h> #include <string.h> void saisie(); void traduc (int longueur, char* chaine); main() { saisie(); fflush(stdin); getchar(); } void saisie() { char chaine[256]; printf("Entrez votre chaine a traduire : "); scanf("%s",chaine); traduc(strlen(chaine), chaine); } void traduc (int longueur, char* chaine) { int i,j,k; char tab[2][4][8]= {{" "," () "," /^^| "," <>][] ",}, {" "," _() ","[] ^^| "," ][] "}}; char* lettre = "abcdefghijklmnopqrstuvwxyz"; for (i = 0; i<4; i++) //boucle des colonnes { for (j=0; j<longueur; j++) //chaque lettre de chaine { for (k = 0; k<28; k++) //chaque lettre de lettre { if (chaine[j] == lettre[k]) //k contient l'indice de la lettre a traduire { printf("%s ",tab[k][i]); //on affiche la ligne correspondante break; //on sort de la boucle } } } printf("\n"); } }
En cherchant un peu, j'ai vue qu'il me faudrait remplacer mes scanf par des fgets, pour que les espaces soient reconnus. Mais je ne vois pas comment faire pour que lorsqu'il y ait un espace cela fasse un saut de ligne...
Merci d'avance.
Kermouse
Partager