romca
Messages postés48Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 avril 2010
-
31 janv. 2005 à 19:19
romca
Messages postés48Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 avril 2010
-
1 févr. 2005 à 23:08
J'etudie le C++. je dois faire un exercice mais je ne comprend pas mon resultat
le sujet: Un utilisateur doit saisir une phrase que je dois mettre sous forme de
tableau "tabsaisie".Ensuite je dois comparer ce tableau de caracteres avec un tableau "tablettre" et si il y a égalité je dois afficher le code morse correspondant qui est dans un autre tableau."tabmorse".Si le caractere ne correspond je dois afficher "?".
Est ce quelqu'un pourrait m'aider, j'y ai déjà passer beaucoup de temps.Merci
Le programme :
#include
#include <conio.h>
#include <stdio.h>
#include <string.h>
/*declaration des tableaux*/
char tabsaisie[50];
char tablettre[]="ABCDEFGHIJKLMNOPKRSTUVWXYZ.0123456789";
char tabmorse[37][7]={".-","-...","-.-.","-..",".","..-.","--.",
"....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.",
"...","-","..-","...-",".--","-..-","-.--","--..",
//le point et les chiffres
".-.-.-","-----",".----","..---","...--","....-",".....",
"-....","--...","---..","----."};
/*saisie*/
void main()
{
//ou printf("Saisissez le message a coder (50 caracteres au max): \n");
cout<<"Saisir la phrase de 50 caracteres au maximum:";
cout<<endl;
gets(tabsaisie);
cout<<endl;
/*comparaison et affichage*/
int i=0;
int j=0;
do
{
do
{
if(tabsaisie[i]==tablettre[j])//comparaison
{
//affichage
cout<<tabmorse[j][0]<<tabmorse[j][1]<<tabmorse[j][2]<<
tabmorse[j][3]<<tabmorse[j][4]<<
tabmorse[j][5]<<tabmorse[j][6]<<endl;
j++;
}
else
{
j++;
}
romca
Messages postés48Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 avril 2010 31 janv. 2005 à 22:09
Je te remercie beaucoup Matt, je crois que j'ai oublié de rajouter une variable et de reinitialiser j à 0...entre autre.
Mais je n'ai pas encore appris la fonction "using namespace std" et je ne comprend pas la valeur "toupper" que tu as rajoutée?
Est-il est possible de pas prendre en compte les minuscules, c'est a dire si on tape
en minuscule on affichera quand même un "?".
Est-il possible de faire ce programme sans rajouter d'autres fonctions?
Merci.
romca
cs_Matt67
Messages postés549Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 6 mars 20103 1 févr. 2005 à 20:20
Bonsoir,
Pas de probleme, si tu veux tu enleves le "toupper" comme ça les minuscules seront remplacées pas "?".
Tu utilisais #include qui, je crois, est obsolete et qu'il faut utiliser
#include et tu utilises le workspace standard (cout,
cin, endl ...) ou alors si tu ne mets pas cette ligne alors devant
chaque fonction (cout, cin...) il faut que tu rajoutes std::
(std::cout, std::cin, ...)