Ako obmedzit pisanie znakov v C
Najlepšie tak aby ich uzivateľ nemohol ani zadať a program pri šifrovani použiť, dá sa to nejako nastaviť?
Pre pridávanie komentárov sa musíte prihlásiť.
Pre pridávanie komentárov sa musíte prihlásiť.
Tretí ročník Bratislava OpenCamp sa uskutoční už túto sobotu na FIIT STU. Registrácia účastníkov prebieha online a účasť je bezplatná.
Zdroj: Bratislava OpenCamp
Tablet PineTab-V od spoločnosti Pine64 sa teraz dodáva s vylepšeným hardvérom a operačným systémom založeným na linuxovej distribúcii Debian.
Zdroj: liliputing.com
Zúčastnite sa open sourcovej konferencie v oblasti správy a riadenia identít (identity governance and administration), kde na vás čakajú zaujímavé workshopy, prednášky a networking s industry expertami v rámci komunity.
Vyšlo „paralelné vydanie“ (nie úplná aktualizácia) verzie AV Linux MX Edition.
Zdroj: AV Linux
Priatelia želám Vám do Nového roku 2025 všetko dobré, nech sa Vám vo svete Linuxu darí a z mojej strany ďakujem všetkým, ktorí akýmkoľvek spôsobom prispievajú na tento web. Či sú to už správy o zaujímavých novinkách, komentáre v diskusiách alebo blogy, ktoré niekedy zaberú aj pol dňa klepania na úkor svojho času. O to väčšia vďaka, PF 2025.
3. ročník Bratislava OpenCamp sa uskutoční 5. 4. 2025
Po covidových rokoch a ďalších prekážkach je pred nami tretí ročník, ktorý sa uskutoční v apríli 2025 na FIIT STU v Bratislave. Prvý aj druhý ročník konferencie sa tešil účasti okolo 300 ľudí, veríme že tretí ročník bude ešte lákavejší.
Zdroj: Bratislava OpenCamp
Aj v roku 2025 sa v Bruseli uskutoční podujatie "Free and Open source Software Developers’ European Meeting" (FOSDEM). Viac na jeho stránkach.
Zdroj: https://fosdem.org/2025/
Komerčné riešenie pre virtualizáciu VMware Workstation Pro bolo uvolnené bezodplatne pre osobné použitie približne od mája 2024. Jedná sa o veľmi kvalitný virtualizačný nástroj pre windows aj linux.
Vznikla česká webová stránka venovaná distribúcii EndeavourOS s podporou Arch-Linux.cz. Táto distribúcia je založená na Arch linuxe. Inštalácia je založená na Calamares.
Zdroj: EndeavourOS.cz
V rámci updatov k 1.6.2024 bol vydaný respin MX linuxu pre single board počítač Orange Pi.
Zdroj: Mxlinux org
Po | Ut | St | Št | Pi | So | Ne |
---|---|---|---|---|---|---|
31 | 01 | 02 | 03 | 04 | 05 | 06 |
07 | 08 | 09 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 01 | 02 | 03 | 04 |
Po | Ut | St | Št | Pi | So | Ne |
---|---|---|---|---|---|---|
28 | 29 | 30 | 01 | 02 | 03 | 04 |
05 | 06 | 07 | 08 | 09 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 01 |
Ak sa vám táto stránka páči, môžete nás podporiť tak, že si na vaše stránky umiestnite tento banner.
Náš Twitter tag je #LinuxOSsk
Skus blizsie specifikovat, co si predstavujes pod "zadat" a "pouzit".
made by Armis
#include <stdio.h>
void sifra(int posun); /*Deklaracia a definicia premennych*/
void desifra (int posun);
void program (int posun, int sifrovanie);
int main()
{
char c;
int posun, prem, sifrovanie;
do
{
printf("Zadaj hodnotu posunu: ");
scanf("%d", &prem);
if (prem < 0) printf("Zla hodnota, zadaj nezapornu hodnotu!!!\n");
}while (prem < 0); /*ak premenna je zaporne cislo opakuje cyklus*/
do{
posun = prem; /*do poun prirad premennu. Premenna sluzi na zapametanie zakladnej hodnoty*/
program (posun, sifrovanie); /*Volanie funkcie program*/
printf ("Stlacte bodku pre ukoncenie programu.\n");
c = getchar ();
putchar (c);
}while(c != '.'); /*Program sa spusti od zaciatku ak zadana znak nieje botka*/
return 0;
}
void sifra(int posun)
{
char p;
printf("Zadaj text: ");
p = getchar();
while(p != '\n')
{
if (p == ' ')
putchar(p);
putchar(p + posun);
p = getchar();
}
putchar(p);
}
void desifra(int posun)
{
char p;
printf("Zadaj text: ");
p = getchar();
while(p != '\n')
{
if (p == ' ')
putchar(p);
putchar(p - posun);
p = getchar();
}
putchar(p);
}
void program (int posun, int sifrovanie)
{
do
{
printf("Stlac 1 pre zasifrovanie, 0 pre odsifrovanie: ");
scanf("%d", &sifrovanie);
if (sifrovanie != 0 && sifrovanie !=1)
printf("Zla hodnota.\n");
}while (sifrovanie != 0 && sifrovanie !=1); /*ak zadane udaje niesu 0 alebo 1 opakuje cyklus*/
if(getchar() != '\n');
if (sifrovanie == 1)
sifra(posun); /*Volanie funkice sifrovania*/
else desifra(posun); /*Volanie funkcie desifrovania*/
}
Skus sa pozriet, ako taka ASCII tabulka vyzera. Asi chces osetrit, ked sa dostanes mimo interval tisknutelnych znakov.
Pri mojom prvom pokuse som chcel definovat znaky do pola, nech pouziva len tie co urcim ja a v pripade konca volenych znakov nech zacne odznova (osetrene pointerom).
Lenze vtedy som pouzival na porovnavanie znakov switch a definoval kazdu jednu hodnotu co nebolo najstastnejsie riesenie.
((znak+posun)%('~'-'!'+1))+'!'
Ze budem definovat len tie ktore ma poznat?
A este nez sa k tomu dostaneme ano som sudent, ano je so seminarka, ano chem programovat aj dalej, ibaze moje terajsie vedomosti na to nestacia.
Ten vyraz, co som uviedol vrati ASCII hodnotu vzdy taku, aby dany znak bol od znaku ! po znak ~.
dal som zasifrovat abcdefg
vyplulo to ♫☼►
A v originalnej sifre ostatne znaky nepouzivaly (sice ani cisla ale toto male rozsirenie mi odpustia, hadam.)
este pre kontrolu putchar((znak+posun)%('x'-'a'+1))+'a'; a malo by pouzivat len tieto male pismena?
Lebo som fakt s toho magor. Viem ANSCII ma presne definovanu postupnost znakov, no aj tak mi to vypisuje blbosti.
Celu tabulku som nastudoval, skusil som co viem, co si radil, ale aj tak sa s nim neviem dohodnut. :-/
Mozno ako zaciatok si skus zobrat ceruzku a papier. Na lavu stranu si napis vsupne znaky a na pravu stranu vystupne, tak aby prisluchali. Nakoniec zistis ako to chces prevadzat podla ASCII hodnoty jednotlivych znakov. Ak to chces nejak zbesilo, mozes si definovat napr nejaku tabulku a pomocou znaku do nej indexovat a tak ziskat vysledny znak.
Inac ta tabulka sa vola ASCII.