Prog en c : traduction français vers morse
toma
-
matthieu -
matthieu -
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define TAILLE 200
/*fonction traduction french-mors*/
int main(void)
{
char t[37]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r',
's','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0',
' '},
m[37][6]={{".-"},{"-..."},{"-.-."},{"-.."},{"."},{"..-."},{"--."},{"...."},{".."},
{".---"},{"-.-"},{".-.."},{"--"},{"-."},{"---"},{".--."},{"--.-"},{".-."},
{"..."},{"-"},{"..-"},{"...-"},{".--"},{"-..-"},{"-.--"},{"--.."},{".----"},
{"..---"},{"...--"},{"....-"},{"....."},{"-...."},{"--..."},{"---.."},{"---."},
{"-----"},{"//"}};
int i,l,k;
char phrase[TAILLE];
printf("veuillez entrer une phrase\n");
gets(phrase);
for(i=0;i<200;i++)
{
for(k=0;k<37;k++)
{
if(phrase[i]=t[k])
{
printf("%c",m[k][6]);
i++;
}
else { printf("erreur");}
}
}
voici le prog que g realiser mais g un pb ds ma boucle , pourriez vous me filer un coup de pouce ?
merci d'avance !;-)
#include<conio.h>
#include<string.h>
#define TAILLE 200
/*fonction traduction french-mors*/
int main(void)
{
char t[37]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r',
's','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0',
' '},
m[37][6]={{".-"},{"-..."},{"-.-."},{"-.."},{"."},{"..-."},{"--."},{"...."},{".."},
{".---"},{"-.-"},{".-.."},{"--"},{"-."},{"---"},{".--."},{"--.-"},{".-."},
{"..."},{"-"},{"..-"},{"...-"},{".--"},{"-..-"},{"-.--"},{"--.."},{".----"},
{"..---"},{"...--"},{"....-"},{"....."},{"-...."},{"--..."},{"---.."},{"---."},
{"-----"},{"//"}};
int i,l,k;
char phrase[TAILLE];
printf("veuillez entrer une phrase\n");
gets(phrase);
for(i=0;i<200;i++)
{
for(k=0;k<37;k++)
{
if(phrase[i]=t[k])
{
printf("%c",m[k][6]);
i++;
}
else { printf("erreur");}
}
}
voici le prog que g realiser mais g un pb ds ma boucle , pourriez vous me filer un coup de pouce ?
merci d'avance !;-)
A voir également:
- Prog en c : traduction français vers morse
- Robot prog - Télécharger - Édition & Programmation
- Clear prog - Télécharger - Sécurité
- Prog dvb - Télécharger - Télévision
- Prog DVB ne fonctionne plus ✓ - Forum TV & Vidéo
- Pb advpack.dll lors d'installation de prog - Forum Windows
4 réponses
L'opérateur d'identité du C est "==" !!!
Quand on lui substitue l'opérateur d'affectation "=", on obtient une expression "vraie" avec les conséquences qui peuvent en résulter. Sans erreur de syntaxe.
Que ceux qui n'ont jamais commis cette erreur lèvent le doigt !!!
Quand on lui substitue l'opérateur d'affectation "=", on obtient une expression "vraie" avec les conséquences qui peuvent en résulter. Sans erreur de syntaxe.
Que ceux qui n'ont jamais commis cette erreur lèvent le doigt !!!
De plus le i++ est inutile et dangereux. Il faut l'enlever, ou le remplacer par continue. L'utilisation de gets est fortement déconseillée (pas de contrôle de la longueur de la chaîne entrée), il faudrait la remplacer par fgets(phrase, TAILLE, stdin). Il me semble que le include <conio.h> est superflu (spécifique à un compilateur peut-être ?).
Une fois tout cela effectué, tu auras du code qui marche, mais pas pour autant du code sûr. Il faut toujours contrôler les cas d'erreurs, en particulier lorsque tu travailles avec des entrées de l'utilisateur. Il ne faut pas fuir ces parties là en disant "Ca y'est ça marche à peu près quand l'utilisateur ne se trompe pas, je passe à ce qui m'intéresse." Il est courant, dans ce genre de programme, d'avoir plus de code pour gérer les erreurs que de code réellement utile.
Une fois tout cela effectué, tu auras du code qui marche, mais pas pour autant du code sûr. Il faut toujours contrôler les cas d'erreurs, en particulier lorsque tu travailles avec des entrées de l'utilisateur. Il ne faut pas fuir ces parties là en disant "Ca y'est ça marche à peu près quand l'utilisateur ne se trompe pas, je passe à ce qui m'intéresse." Il est courant, dans ce genre de programme, d'avoir plus de code pour gérer les erreurs que de code réellement utile.