Skip to content
Snippets Groups Projects
Commit e3245ab0 authored by Nikolic's avatar Nikolic
Browse files

Regle le problème pour ajouter les chiffres dans la table ASCII + quelques commentaires

parent a9c49a1e
No related branches found
No related tags found
No related merge requests found
......@@ -85,12 +85,11 @@ char recherche(char * morse, tree tree){
}
char * recherche_morse(char letter){
char ** table = loadTableMorse("code-morse.txt");
char * morse = malloc(5 * sizeof(*morse));
morse = strcpy(morse, table[letter - 65]); // permet de convertir une lettre en majuscule
destroyTable(26, table); // 26 = nombres totale de lettres
destroyTable(36, table); // 36 = nombres totale de lettres
return morse;
}
......@@ -117,48 +116,54 @@ void insertChar(char letter, char * morse, tree tree){
tree insertAllMorse(const char * const filename){
tree new_tree;
new_tree = createNode('?'); // Charactère de remplissage
new_tree = createNode('?'); // Charactère de début
char ** table = loadTableMorse(filename);
char letter;
for (int i = 0; i < 26; i++)
{
// Lettres A-Z
for (int i = 0; i < 26; i++) {
letter = 65 + i;
insertChar(letter, table[i], new_tree);
}
destroyTable(26, table);
// Chiffres 0-9
for (int i = 26; i < 36; i++) {
letter = 48 + (i - 26);
insertChar(letter, table[i], new_tree);
}
destroyTable(36, table);
return new_tree;
}
char ** loadTableMorse(const char * const filename){
char ** table;
table = malloc(26 * sizeof(*table));
table = malloc(36 * sizeof(*table)); // on alloue le tableau pour 36 lettre et charactères
FILE *fp = fopen(filename, "r");
char buffer[8];
int i = 0;
while(fgets(buffer , 8, fp) != NULL){
table[i] = malloc(5 * sizeof(*table[i]));
for (int j = 0; j < 4; j++)
table[i] = malloc(6 * sizeof(*table[i])); // Pour chaque charactère ou lettre on alloue 5 chars + 1 charactère de fin
for (int j = 0; j < 5; j++) // On parcours chaque charactère
{
if(buffer[j] != '\0'){
table[i][j] = buffer[j+1];
table[i][j] = buffer[j+1]; // On rajoute le code morse de chaque charactère
}
else{
for (int k = 0; k < (4 - j); k++)
for (int k = 0; k < (5 - j); k++)
{
table[i][j + k] = '0';
}
}
}
table[i][4] = '\0';
table[i][5] = '\0'; // Charactère de fin
i++;
}
fclose(fp);
fclose(fp); // fermeture du fichier
return table;
}
char * convertMessageToMorse(const char * const message){
char * messageMorse = malloc(strlen(message) * 5 * sizeof(*messageMorse));
char * messageMorse = malloc(strlen(message) * 5 * sizeof(*messageMorse)); // on alloue la place pour le message (taille de message * 6 chars pour le code Morse)
messageMorse[0] = '\0';
for (size_t i = 0; i < strlen(message); i++)
{
......
......@@ -24,3 +24,13 @@ W.--
X-..-
Y-.--
Z--..
1.----
2..---
3...--
4....-
5.....
6-....
7--...
8---..
9----.
0-----
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment