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ť.
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
Vyšla nová verzia rolling-update distribúcie Manjaro, ktorá spája silu Arch Linuxu s jednoduchosťou user-friendly distribúcii. Okrem najnovšieho jadra je k dispozícii pre priaznivcov KDE aj najnovšie rozhranie Plasma 6. Manjaro vychádza vo verziách s KDE, GNOME a XFCE.
Zdroj: Distrowatch
Bola vydaná verzia 0.10 textového editoru neovim. Nová verzia obsahuje množstvo vylepšení LSP protokolu, zvýrazňovania syntaxe pomocou Tree-sitteru a ďalších menších zmien. Kompletný zoznam noviniek je dostupný v oznámení o vydaní.
Zdroj: neovim.io
Retro distribúcia arix prináša prostredie kde 1.1.2 na Debian 13 (trixie).
Zdroj: ariasft.github.io
V Greenie knižnici bola vydaná prvá kniha, ktorá je vytvorená z väčšiny umelou inteligenciou. Pokrýva udalosti Druhej svetovej vojny, vrátane rôznych doplnkových tém. Kniha je v angličtine.
Zdroj: Blog na Denníku N
Retro web poskytuje informácie o starom hardvéri
Zdroj: The Retro Web
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.