Žádost o pomoct morseovka – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Žádost o pomoct morseovka – C / C++ – Fórum – Programujte.comŽádost o pomoct morseovka – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Morseovka
~ Anonymní uživatel
2 příspěvky
10. 10. 2012   #1
-
0
-

Zdarec,

Chtěl bych se zeptat jak implementuju čísla do morseovky.

Děkuji

Nahlásit jako SPAM
IP: 93.99.183.–
Reklama
Reklama
ingiraxo+15
Grafoman
10. 10. 2012   #2
-
0
-

Hotová app.. 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

typedef struct
{
    char code[6];
    char chr;
} Item;

void addItem(Item* items, int i, char chr, char* code)
{
    Item item;
    item.chr = chr;
    strcpy(item.code, code);
    *(items + i) = item;
}

char* getCode(char chr, Item* items, int count)
{
    int i;
    for (i = 0; i < count; i++)
    {
        if ((items + i)->chr == chr)
            return (items + i)->code;
    }
    return 0;
}

Item* loadItems(int* count)
{
    Item items[64];
    Item* ret = 0;
    int i = 0;

    addItem(items, i++, '0', "-----");
    addItem(items, i++, '1', ".----");
    addItem(items, i++, '2', "..---");
    addItem(items, i++, '3', "...--");
    addItem(items, i++, '4', "....-");
    addItem(items, i++, '5', ".....");
    addItem(items, i++, '6', "-....");
    addItem(items, i++, '7', "--...");
    addItem(items, i++, '8', "---..");
    addItem(items, i++, '9', "----.");
    addItem(items, i++, 'A', ".-");
    addItem(items, i++, 'B', "-...");
    addItem(items, i++, 'C', "-.-.");
    addItem(items, i++, 'D', "-..");
    addItem(items, i++, 'E', ".");
    addItem(items, i++, 'F', "..-.");
    addItem(items, i++, 'G', "--.");
    addItem(items, i++, 'H', "....");
    addItem(items, i++, 'I', "..");
    addItem(items, i++, 'J', ".---");
    addItem(items, i++, 'K', "-.-");
    addItem(items, i++, 'L', ".-..");
    addItem(items, i++, 'M', "--");
    addItem(items, i++, 'N', "-.");
    addItem(items, i++, 'O', "---");
    addItem(items, i++, 'P', ".--.");
    addItem(items, i++, 'Q', "--.-");
    addItem(items, i++, 'R', ".-.");
    addItem(items, i++, 'S', "...");
    addItem(items, i++, 'T', "-");
    addItem(items, i++, 'U', "..-");
    addItem(items, i++, 'V', "...-");
    addItem(items, i++, 'W', ".--");
    addItem(items, i++, 'X', "-..-");
    addItem(items, i++, 'Y', "-.--");
    addItem(items, i++, 'Z', "--..");
    addItem(items, i++, '?', "..--..");
    addItem(items, i++, ',', "--..--");
    addItem(items, i++, '!', "--...-");
    addItem(items, i++, '.', ".-.-.-");
    addItem(items, i++, ';', "-.-.-.");
    addItem(items, i++, '/', "-..-.");
    addItem(items, i++, '=', "-...-");
    addItem(items, i++, '-', "-....-");
    addItem(items, i++, '\t', ".----.");
    addItem(items, i++, '(', "-.--.");
    addItem(items, i++, ')', "-.--.-");
    addItem(items, i++, '"', ".-..-.");
    addItem(items, i++, ':', "---...");
    addItem(items, i++, '_', "..--.-");
    addItem(items, i++, '@', ".--.-.");

    *count = i;
    ret = (Item*)calloc(i, sizeof(Item));
    memcpy(ret, items, sizeof(Item) * *count);
    return ret;
}

int main()
{
    int i, count;
    char buffer[1024];
    Item* items = loadItems(&count);

    printf("Input: ");
    fgets(buffer, sizeof(buffer), stdin);

    for (i = 0; i < sizeof(buffer) && *(buffer + i) != '\n'; i++)
    {
        printf("%s ", getCode(toupper(*(buffer + i)), items, count));
    }
    free(items);
    getchar();
    return 0;
}
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
zlz
~ Anonymní uživatel
634 příspěvků
10. 10. 2012   #3
-
0
-

Hele, kouzlo

typedef struct
{
    char c, *s;
} Item;

Item items[] = {
	{ '0', "-----" }, ..., { '@', ".--.-." }
};

:)

Nahlásit jako SPAM
IP: 80.188.216.–
ingiraxo+15
Grafoman
11. 10. 2012   #4
-
0
-

#3 zlz
no omg, jsem úplně zapoměl, že to jde i takto :D no nevadí, jsem ukázal ten delší zápis

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
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, 168 hostů

Podobná vlákna

Morseovka — založil hejnallukas

Morseovka — založil luk011

Morseovka — založil Keenan

Morseovka v Javě — založil blondyna

Morseovka do souboru — založil hejnallukas

Moderátoři diskuze

 

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