Codeur/morse et decodeur/morse

Description

Voila mon premier programme en c. j'ai beaucoup de mal à l'optimiser car dans le debugger je vois qu'il fait beaucoup de calcul pour rien. A vous de juger. Sinon petit probleme que j'arrive pas à regler pour afficher la chaine après qu'elle soit allé dans la fonction decode_morse. Enfin j'en dis pas plus.

Compilé sous Visual C++ faite un add to projet des fichiers econio.h et econio.cpp et tout fontionne :)

Source / Exemple :


//Programme informatique TP 5//
//Auteur: Orius   //
//réalisé le 20/11/2003      //

#include<stdio.h> //déclaration des librairies necessaires
#include<ctype.h>
#include<string.h>

#include<stdlib.h>

#include <time.h> //librairies pour la temporisation
#include <iostream>
using namespace std;

#include"econio.h" //librairie pour simuler la librairie conio.h exclusif au compilateur BORLAND C++
				   //comportant notamment les couleurs de textes et le clear screen.

#define TAILLE 200 //définition d'un constante

////////////////////////////////////////////FONCTION DE TEMPORISATION////////////////////////////////////////////////
void tempo(void)
{
	//Déclaration des variables
    time_t timer1;
    time(&timer1);
    int sec1, min1, hour1, sec2, min2, hour2;
    struct tm *newTime1;

    //Récupération de l'heure systeme
    newTime1=localtime(&timer1);

    //Mise à jour des variables
    hour1=newTime1->tm_hour;
    min1=newTime1->tm_min;
    sec1=newTime1->tm_sec;

	//Temporisation de 3 secondes
    sec2=0;
    sec1 = sec1 +3;
    while(sec2 != sec1)
    {
        time_t timer2;
        time(&timer2);
        struct tm *newTime2;
        newTime2=localtime(&timer2);

        //Mise à jour des variables
        hour2=newTime2->tm_hour;
        min2=newTime2->tm_min;
        sec2=newTime2->tm_sec;
    }

}
////////////////////////////////////////////FIN DE LA FONCTION DE TEMPORISATION//////////////////////////////////////

////////////////////////////////////////////FONCTION QUI CODE EN MORSE UN TEXTE//////////////////////////////////////

//déclaration de la fonction morse qui travaille sur une chaine de caractère pour la renvoyer codée en morse. 
char* morse(char chaine_normale[TAILLE],int k) 
{
	//Déclaration des variables
	int x=0,y=0,compteur=0;
	char chaine_morse[TAILLE];

	//do while permet de remplacer chaque lettre par son équivalent morse
	do								
	{
		//le switch lui regarde la lettre dans la chaine normale et met dans la chaine morse le code morse de la lettre
		switch(chaine_normale[y])  
		{
		case 'A':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 //le \t permet de rendre plus clair la lecture de la chaine morse.
				 chaine_morse[x]='\t'; 
				 compteur++;
				 x++;break;

		case 'B':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'C':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'D':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'E':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'F':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'G':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'H':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'I':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'J':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'K':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'L':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'M':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'N':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'O':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'P':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'Q':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'R':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'S':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'T':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'U':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'V':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'W':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'X':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'Y':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case 'Z':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '0':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '1':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '2':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '3':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '4':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '5':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '6':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '7':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '8':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '9':chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='\t';
				 compteur++;
				 x++;break;

		case '.':chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='.';
				 x++;
				 chaine_morse[x]='-';
				 x++;
				 chaine_morse[x]='\t';
				 x++;break;
		default :break;
		}
		y++;
	}
	while(y!=k);
	
	return chaine_morse;
}

////////////////////////////////////////////FIN DE LA FONCTION QUI CODE EN MORSE UN TEXTE////////////////////////////

////////////////////////////////////////////FONCTION QUI DECODE LE MORSE/////////////////////////////////////////////

char decod_morse (char* chaine_normale)
{
	//Déclaration des variables
	char decod_morse[TAILLE];
	int x=0,y=0,r=0;
	do
	{
		switch(chaine_normale[x])
		{
		case '.':x++;	switch(chaine_normale[x])
					{
					case '\t':decod_morse[y]='E';y++;break;

					case '-':x++;	switch(chaine_normale[x])
									{
									case '\t':decod_morse[y]='A';y++;break;

									case '-':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='W';y++;break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='J';y++;break;

																	case '-':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='1';y++;break;
																					};
																					break;
																	};
																	break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='P';y++;break;
																	};
																	break;

													};
													break;

									case '.':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='R';y++;break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='L';y++;break;
																	};
																	break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '.':x++;	switch(chaine_normale[x])
																					{
																					case '-':x++;	switch(chaine_normale[x])
																									{				
																									case '\t':decod_morse[y]='.';y++;break;
																									};
																									break;
																					};
																					break;
																	};
																	break;
													
													};
													break;

									};
									break;

					case '.':x++;	switch(chaine_normale[x])
									{
									case '\t':decod_morse[y]='I';y++;break;

									case '-':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='U';y++;break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='F';y++;break;
																	};
																	break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '-':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='2';y++;break;
																					};
																					break;
																	};
													
													};
													break;

									case '.':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='S';y++;break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='H';y++;break;

																	case '.':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='5';y++;break;
																					};
																					break;

																	case '-':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='4';y++;break;
																					};
																					break;
																	};
																	break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='V';y++;break;

																	case '-':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='3';y++;break;
																					};
																					break;
																	};
																	break;
													
													};
													break;
									};
									break;

					};
					break;
	
	case '-':x++;	switch(chaine_normale[x])
					{
					case '\t':decod_morse[y]='T';y++;break;

					case '.':x++;	switch(chaine_normale[x])
									{
									case '\t':decod_morse[y]='N';y++;break;

									case '.':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='D';y++;break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='B';y++;break;

																	case '.':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='6';y++;break;
																					};
																					break;
																	};
																	break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='X';y++;break;
																	};
																	break;

													};
													break;
									

									case '-':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='K';y++;break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='C';y++;break;
																	};
																	break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '\t':decod_morse[y]='Y';y++;break;
																	};
																	break;

													};
													break;
									};
									break;

					case '-':x++;	switch(chaine_normale[x])
									{
									case '\t':decod_morse[y]='M';y++;break;

									case '.':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='G';y++;break;

													case '-':x++;		switch(chaine_normale[x])
																		{
																		case '\t':decod_morse[y]='Q';y++;break;
																		};
																		break;

													case '.':x++;		switch(chaine_normale[x])
																		{
																		case '\t':decod_morse[y]='Z';y++;break;

																		case '.':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='7';y++;break;
																					};
																					break;
																		};
																		break;
													};
													break;

									case '-':x++;	switch(chaine_normale[x])
													{
													case '\t':decod_morse[y]='O';y++;break;

													case '-':x++;	switch(chaine_normale[x])
																	{
																	case '-':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='0';y++;break;
																					};
																					break;

																	case '.':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='9';y++;break;
																					};
																					break;

																	};
																	break;

													case '.':x++;	switch(chaine_normale[x])
																	{
																	case '.':x++;	switch(chaine_normale[x])
																					{
																					case '\t':decod_morse[y]='8';y++;break;
																					};
																					break;
																	};
																	break;
													};
													break;

									};
									break;

					};
					break;
		

		case'\t':x++;break;
		default:decod_morse[y]='.';y++;break;

		}
	}	
	while(y!=30);
	for(r=0;r<y;r++)
	{
	printf("%c",decod_morse[r]);
	}
	printf("\n");
	return decod_morse[TAILLE];
}

////////////////////////////////////////////FIN DE LA FONCTION QUI DECODE LE MORSE///////////////////////////////////

////////////////////////////////////////////FONCTION QUI DECALE LES LETTRES ET QUI LES CONVERTIT EN MAJUSCULE////////

char codage(int valeur_a_dec, char lettre_a_dec)
{
	 //Déclaration des variables
     char lettre_dec;
     if(isalnum(lettre_a_dec))
     {
		 if (isupper(lettre_a_dec))
            {
             if(lettre_a_dec+valeur_a_dec>='Z')
             {
             valeur_a_dec=valeur_a_dec-('Z'-lettre_a_dec);
             lettre_a_dec='A';
             }
			 if(lettre_a_dec+valeur_a_dec<='A')
             {
             valeur_a_dec=valeur_a_dec+(lettre_a_dec-'A');
             lettre_a_dec='Z';
             }
            }
        if (islower(lettre_a_dec))
            {
             if(lettre_a_dec+valeur_a_dec>='z')
             {
             valeur_a_dec=valeur_a_dec-('z'-lettre_a_dec);
             lettre_a_dec='a';
             }
			 if(lettre_a_dec+valeur_a_dec<='a')
             {
             valeur_a_dec=valeur_a_dec+(lettre_a_dec-'a');
             lettre_a_dec='z';
             }
            lettre_a_dec=toupper(lettre_a_dec);
            }
         lettre_dec=lettre_a_dec+valeur_a_dec;
      }
      else
          {
          lettre_dec='.';
          }
          return lettre_dec;
}

////////////////////////////////////////////FIN DE LA FONCTION QUI DECALE LES LETTRES////////////////////////////////

////////////////////////////////////////////FONCTION QUI ENLEVE LE DECALAGE INITIALE/////////////////////////////////

char decodage(int valeur_cod,char lettre_cod)
{
	char lettre;
	if(isalnum(lettre_cod))
    {
		lettre=lettre_cod-valeur_cod;
	}
	 else
          {
          lettre='.';
          }
	return lettre;
}

////////////////////////////////////////////FIN DE LA FONCTION ENLEVANT LE DECALAGE//////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////DEBUT DE LA FONCTION MAIN////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void main(void)
{
	 //Déclaration des variables
	 char texte[TAILLE],texte_cod[TAILLE],texte_essai_decod[TAILLE];
	 char c[TAILLE];
	 int valeur_dec,valeur_cod,i=0,k,nb_lettres=0;

	 
	 textcolor(YELLOW);
	 printf("\n\n\n\n\n\n\t\t####################################################\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\tLes Studios Flo & Co.\t\t   #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t       Presente\t\t	   #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t####################################################\n\n\n");
	 tempo();
	 clrscr();
	 printf("\n\n\n\n\n\n\t\t####################################################\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#");
	 textcolor(12);
	 printf("    Le transmetteur decaleur/codeur morse v1.0\t");
	 textcolor(YELLOW);
	 printf("   #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t	  &		           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#");
	 textcolor(12);
	 printf("    Le recepteur decodeur morse/decaleur v1.01");
	 textcolor(YELLOW);
	 printf("\t   #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t#\t\t			           #\n");
	 printf("\t\t####################################################\n\n\n");
	 textbackground(DARKGRAY);
	 tempo();
	 clrscr();
		 textcolor(12);
		 printf("\tEtape 1:");
		 textcolor(YELLOW);
		 puts("\n\t\tVeuillez taper le texte que vous souhaitez transmettre.\n\t\t");
		 textcolor(BLACK);
		 gets(texte);
		 textcolor(12);
		 printf("\n\tEtape 2:");
		 textcolor(YELLOW);
		 printf("\n\t\tLes lettres de votre texte vont etre decaler dans l'alphabet.\n\t\tDe combien souhaitez vous les decaler?\n\n");
	     textcolor(BLACK);
		 scanf("%i",&valeur_dec);
	                            do
								{
	                            texte_cod[i]=codage(valeur_dec,texte[i]);
							   	i++;
								}
							    while(texte[i]!='\0');
		k=i;
		i=0;
		printf(" \n\tEtape 2:\n\t\tTERMINEE.\n\t\tMaintenant votre texte est decale.\n\t\tIl est code comme ceci:\n\n");
		for(i=0;i<k;i++)
		{
		printf("%c",texte_cod[i]);
		}
		printf("\n\n\tEtape 3:\n\t\tNous allons maintenant coder votre texte decale en morse.\n\t\tTapez OK pour continuer.\n");
		scanf("%s",&c);
		printf("\n\n\tEtape 3:\n\t\tTERMINEE.\n\t\tCe qui nous donne:\n\n");
		i=0;
		do
		{
		printf("%c",morse(texte_cod,k)[i]);
		i++;
		}
		while(morse(texte_cod,k)[i]=='.'||morse(texte_cod,k)[i]=='-'||morse(texte_cod,k)[i]=='\t');
		printf("\n\n");

		 printf("\n\t\tTRANSMISSION DES DONNEES AU RECEPTEUR......");
		 printf("\n\n\t\tTapez OK pour continuer.");
		 scanf("%s",&c);
		 printf("\n\n\tAu tour du recepteur de travailler.");
		 i=0;
		 printf("\n\n\tEtape 4:\n\t\tLe recepteur a recu le texte.Il va decoder le texte morse\n\t\t en texte alphabetique.\n\n");
		 decod_morse(morse(texte_cod,k));
		 printf("\n\n\tEtape 4:\n\t\tTERMINEE.\n\n");
		 strcpy(texte_essai_decod,texte_cod);
		 printf("\n\n\tEtape 5:\n\t\tEntrez maintenant le decalage que vous avec selectionne\n\t\ta la transmission.\n\t\tATTENTION si vous avez recu ce signal\n\t\tsans connaitre le decalage votre texte sera ilisible.\n");
	     scanf("%i",&valeur_cod);
	                            do
								{
	                            texte_essai_decod[i]=decodage(valeur_cod,texte_essai_decod[i]);
							   	i++;
								}
							    while(k!=i);
		printf("\n\n\tEtape 5:\n\t\tTERMINEE.\n");
		printf("\n\t\tLe texte qui etait code\n\t\tsi l'on considere un decalage de %i est:\n\n",valeur_cod);
		i=0;
		for(i=0;i<k;i++)
		{
		printf("%c",texte_essai_decod[i]);
		}
		printf("\n\n\t\t");
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////FIN DE LA FONCTION MAIN//////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.