Morseovka do souboru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Morseovka do souboru – C / C++ – Fórum – Programujte.comMorseovka do souboru – C / C++ – Fórum – Programujte.com

 

hejnallukas0
Návštěvník
27. 9. 2010   #1
-
0
-

Zdar lidi ,
mám tady problém. Program mi text přeloží do morseovky ,ale neuloží se morsovka, ale ten text. Co mám dělat ???



#include <iostream>
#include <cstring>

using namespace std;

void prelozeniDoMorseovky(char[50]);

int main()
{
naZacatek:
char textKPrelozeni[50];
cin >> textKPrelozeni;

prelozeniDoMorseovky(textKPrelozeni);
goto naZacatek;
system("PAUSE");
return 0;
}
void prelozeniDoMorseovky(char prelozeny[])
{
int pocetZnaku;
pocetZnaku = strlen(prelozeny);
cout << "\n\a\a";

for (int i = 0 ; i < pocetZnaku; i ++)
{
if (prelozeny[i] == ' ')
cout << " ";
else if (prelozeny[i] == ',')
cout << "--..-- ";
else if (prelozeny[i] == '.')
cout << ".-.-.- ";
else if (prelozeny[i] == '?')
cout << "..--.. ";
else if (prelozeny[i] == '0')
cout << "----- ";
else if (prelozeny[i] == '1')
cout << ".---- ";
else if (prelozeny[i] == '2')
cout << "..--- ";
else if (prelozeny[i] == '3')
cout << "...-- ";
else if (prelozeny[i] == '4')
cout << "....- ";
else if (prelozeny[i] == '5')
cout << "..... ";
else if (prelozeny[i] == '6')
cout << "-.... ";
else if (prelozeny[i] == '7')
cout << "--... ";
else if (prelozeny[i] == '8')
cout << "---.. ";
else if (prelozeny[i] == '9')
cout << "----. ";
else if (prelozeny[i] == 'A' || prelozeny[i] == 'a')
cout << ".- ";
else if (prelozeny[i] == 'B' || prelozeny[i] == 'b')
cout << "-... ";
else if (prelozeny[i] == 'C' || prelozeny[i] == 'c')
cout << "-.-. ";
else if (prelozeny[i] == 'D' || prelozeny[i] == 'd')
cout << "-.. ";
else if (prelozeny[i] == 'E' || prelozeny[i] == 'e')
cout << ". ";
else if (prelozeny[i] == 'F' || prelozeny[i] == 'f')
cout << "..-. ";
else if (prelozeny[i] == 'G' || prelozeny[i] == 'g')
cout << "--. ";
else if (prelozeny[i] == 'H' || prelozeny[i] == 'h')
cout << ".... ";
else if (prelozeny[i] == 'I' || prelozeny[i] == 'i')
cout << ".. ";
else if (prelozeny[i] == 'J' || prelozeny[i] == 'j')
cout << ".--- ";
else if (prelozeny[i] == 'K' || prelozeny[i] == 'k')
cout << "-.- ";
else if (prelozeny[i] == 'L' || prelozeny[i] == 'l')
cout << ".-.. ";
else if (prelozeny[i] == 'M' || prelozeny[i] == 'm')
cout << "-- ";
else if (prelozeny[i] == 'N' || prelozeny[i] == 'n')
cout << "-. ";
else if (prelozeny[i] == 'O' || prelozeny[i] == 'o')
cout << "--- ";
else if (prelozeny[i] == 'P' || prelozeny[i] == 'p')
cout << ".--. ";
else if (prelozeny[i] == 'Q' || prelozeny[i] == 'q')
cout << "--.- ";
else if (prelozeny[i] == 'R' || prelozeny[i] == 'r')
cout << ".-. ";
else if (prelozeny[i] == 'S' || prelozeny[i] == 's')
cout << "... ";
else if (prelozeny[i] == 'T' || prelozeny[i] == 't')
cout << "- ";
else if (prelozeny[i] == 'U' || prelozeny[i] == 'u')
cout << "..- ";
else if (prelozeny[i] == 'V' || prelozeny[i] == 'v')
cout << "...- ";
else if (prelozeny[i] == 'W' || prelozeny[i] == 'w')
cout << ".-- ";
else if (prelozeny[i] == 'X' || prelozeny[i] == 'x')
cout << "-..- ";
else if (prelozeny[i] == 'Y' || prelozeny[i] == 'y')
cout << "-.-- " ;
else if (prelozeny[i] == 'Z' || prelozeny[i] == 'z')
cout << "--.. ";
else
cout << " Spatne zadani \n";
}
cout << " \n";
}

Nahlásit jako SPAM
IP: 80.188.69.–
KIIV
~ Moderátor
+43
God of flame
27. 9. 2010   #2
-
0
-

coze?
kam se ti ma co ulozit?
nic nikam ani naznakem neukladas a ani se nepokousis...

mimochodem GOTO? tady? naprosta zbytecnost.. staci cyklus
a co myslis ze se stane kdyz zadas pro prelozeni:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
hejnallukas0
Návštěvník
27. 9. 2010   #3
-
0
-

To KIIV : sorry ,dal jsem sem špatný kód

Nahlásit jako SPAM
IP: 80.188.69.–
hejnallukas0
Návštěvník
27. 9. 2010   #4
-
0
-

To KIIV : Tady je ten konečný kód



#include <iostream>
#include <cstring>
#include <fstream>

using namespace std;

void prelozeniDoMorseovky(char[50]);

int main()
{
naZacatek:
char textKPrelozeni[50];
cin >> textKPrelozeni;

prelozeniDoMorseovky(textKPrelozeni);
goto naZacatek;
system("PAUSE");
return 0;
}
void prelozeniDoMorseovky(char prelozeny[])
{
int pocetZnaku;
pocetZnaku = strlen(prelozeny);
cout << "\n\a\a";

for (int i = 0 ; i < pocetZnaku; i ++)
{
if (prelozeny[i] == ' ')
cout << " ";
else if (prelozeny[i] == ',')
cout << "--..-- ";
else if (prelozeny[i] == '.')
cout << ".-.-.- ";
else if (prelozeny[i] == '?')
cout << "..--.. ";
else if (prelozeny[i] == '0')
cout << "----- ";
else if (prelozeny[i] == '1')
cout << ".---- ";
else if (prelozeny[i] == '2')
cout << "..--- ";
else if (prelozeny[i] == '3')
cout << "...-- ";
else if (prelozeny[i] == '4')
cout << "....- ";
else if (prelozeny[i] == '5')
cout << "..... ";
else if (prelozeny[i] == '6')
cout << "-.... ";
else if (prelozeny[i] == '7')
cout << "--... ";
else if (prelozeny[i] == '8')
cout << "---.. ";
else if (prelozeny[i] == '9')
cout << "----. ";
else if (prelozeny[i] == 'A' || prelozeny[i] == 'a')
cout << ".- ";
else if (prelozeny[i] == 'B' || prelozeny[i] == 'b')
cout << "-... ";
else if (prelozeny[i] == 'C' || prelozeny[i] == 'c')
cout << "-.-. ";
else if (prelozeny[i] == 'D' || prelozeny[i] == 'd')
cout << "-.. ";
else if (prelozeny[i] == 'E' || prelozeny[i] == 'e')
cout << ". ";
else if (prelozeny[i] == 'F' || prelozeny[i] == 'f')
cout << "..-. ";
else if (prelozeny[i] == 'G' || prelozeny[i] == 'g')
cout << "--. ";
else if (prelozeny[i] == 'H' || prelozeny[i] == 'h')
cout << ".... ";
else if (prelozeny[i] == 'I' || prelozeny[i] == 'i')
cout << ".. ";
else if (prelozeny[i] == 'J' || prelozeny[i] == 'j')
cout << ".--- ";
else if (prelozeny[i] == 'K' || prelozeny[i] == 'k')
cout << "-.- ";
else if (prelozeny[i] == 'L' || prelozeny[i] == 'l')
cout << ".-.. ";
else if (prelozeny[i] == 'M' || prelozeny[i] == 'm')
cout << "-- ";
else if (prelozeny[i] == 'N' || prelozeny[i] == 'n')
cout << "-. ";
else if (prelozeny[i] == 'O' || prelozeny[i] == 'o')
cout << "--- ";
else if (prelozeny[i] == 'P' || prelozeny[i] == 'p')
cout << ".--. ";
else if (prelozeny[i] == 'Q' || prelozeny[i] == 'q')
cout << "--.- ";
else if (prelozeny[i] == 'R' || prelozeny[i] == 'r')
cout << ".-. ";
else if (prelozeny[i] == 'S' || prelozeny[i] == 's')
cout << "... ";
else if (prelozeny[i] == 'T' || prelozeny[i] == 't')
cout << "- ";
else if (prelozeny[i] == 'U' || prelozeny[i] == 'u')
cout << "..- ";
else if (prelozeny[i] == 'V' || prelozeny[i] == 'v')
cout << "...- ";
else if (prelozeny[i] == 'W' || prelozeny[i] == 'w')
cout << ".-- ";
else if (prelozeny[i] == 'X' || prelozeny[i] == 'x')
cout << "-..- ";
else if (prelozeny[i] == 'Y' || prelozeny[i] == 'y')
cout << "-.-- " ;
else if (prelozeny[i] == 'Z' || prelozeny[i] == 'z')
cout << "--.. ";
else
cout << " Spatne zadani \n";
}
cout << " \n";
ofstream soubor1;
soubor1.open("morseo.txt", ios::app);
soubor1 << prelozeny;
soubor1.close();
}


Nahlásit jako SPAM
IP: 80.188.69.–
DooFy930
Stálý člen
27. 9. 2010   #5
-
0
-

Protože do souboru ukládáš proměnnou prelozeny. Což je ta, kterou předáváš funkci a která obsahuje zadané znaky. Do souboru musíš ukládat ten řetězec, který určíš v podmínkách.

Např. když bude znak 'a', tak do proměnné v podmínkce uložíš řetězec ".-" a ten pak zapíšeš do souboru.

EDIT: A to goto je vážně prasárna. Raděj použij cyklus.

Nahlásit jako SPAM
IP: 212.80.64.–
LJ10240
Stálý člen
27. 9. 2010   #6
-
0
-

A čemu se divíš?

soubor1 << prelozeny;


zapíše do souboru obsah proměnné "prelozeny" - vzhledem k tomu, že jsi tuto proměnnou při volání fce nastavil na text, který uživatel zadal jako vstup, logicky to uloží ten vstup...

Pokud bys to chtěl vypisovat do souboru, doporučuji napsat tuhle část kódu
ofstream soubor1;

soubor1.open("morseo.txt", ios::app);

na začátek fce "prelozeniDoMorseovky" a misto napr.
cout << ".- ";
psat
soubor << ".- ";



EDIT: DooFy93 mě předběhl...

Nahlásit jako SPAM
IP: 217.30.64.–
hejnallukas0
Návštěvník
27. 9. 2010   #7
-
0
-

Dík všem už to funguje

Nahlásit jako SPAM
IP: 80.188.69.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 122 hostů

Podobná vlákna

Morseovka — založil Keenan

Morseovka — založil luk011

Morseovka — založil hejnallukas

Morseovka v Javě — založil blondyna

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý