C pierwszy program kalkulator

C pierwszy program kalkulator
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Witam
Mam za zadanie napisać prosty kalkulator na dodawanie w konsoli, mój problem jest taki, ze nie wiem jak zmusić program do liczenia. Udało mi się już zawołać o dwie liczby ale dalej nie wiem jak zrobić żeby je dodał.

Oto do czego doszedłem nie jest tego dużo ale przynajmniej to rozumiem.

Kopiuj
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int liczba1, liczba2;

        printf("Podaj liczbe 1:");
        scanf("%d",&liczba1);
        fflush(stdin);

        printf("Podaj liczbe 2:");
        scanf("%d",&liczba2);
        fflush(stdin);

        return 0;
        system("pause")
}
edytowany 1x, ostatnio: madmike
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:2 minuty
  • Postów:6643
0

system("pause"); po return 0 nie wykona się.

Dodawanie:

Kopiuj
printf("%d\n",liczba1+liczba2);

🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
0

Zrób sobie jeszcze zmienną wynik, potem napisz np tak

wynik = liczba1 + liczba2;

a potem po prostu klasycznie wyświetl tę zmienną wynik.
Dokładnie Ci tego nie napiszę bo ja to bardziej w komendach C++owych się znam,

0

Zielu a po co ta zmienna?

BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Poprawiłem i działa

Kopiuj
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int liczba1, liczba2;

        printf("Podaj liczbe 1:");
        scanf("%d",&liczba1);
        fflush(stdin);

        printf("Podaj liczbe 2:");
        scanf("%d",&liczba2);
        fflush(stdin);

        printf("Wynik to: %d\n",liczba1+liczba2);

        system("pause");

        return 0;

}

I mam jeszcze jedną sprawę, w szkole mieliśmy coś takiego
image jpg 1006-102

moglibyście mi powiedzieć jak się kierować projektując coś takiego oraz co oznacza to T i N

mam takie ćwiczenie zaprojektować kalkulator na 4 działania(-,+,*), a potem oczywiście go napisać.

edytowany 1x, ostatnio: bigos
iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

To coś takiego to schemat blokowy, którego na pewno też mieliście w cholerę. B != 0 to warunek, T to prawda, N to fałsz.

edytowany 4x, ostatnio: iooi
madmike
T i N... :) do fałszu jeszcze nie doszli :]
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Narysuje taki schemat na kalkulator z 4 działaniami i dam tutaj do sprawdzenia, ale to jutro.
Oczywiście jeśli się zgodzicie.

BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Narysowałem ten schemat blokowy na kalkulator z 4 działaniami, możecie ocenić ewentualnie powiedzieć jak poprawić.

image jpg 1007-261

LG
LG
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 5 lat
0

Ściągnij sobie Magiczne Bloczki ;p Schemat wydaje się dobry, jednak zamiast tylu ifów lepiej zainwestować w switch. Ja bym dodatkowo sprawdzał czy został podany znak, a jak nie to bym cofał usera na początek programu.

msm
Administrator
  • Rejestracja:prawie 16 lat
  • Ostatnio:4 miesiące
0

Zamiast warunku znak + Ja bym dał najpierw wczytaj Z a później warunki Z == '+', Z=='-' etc.

@Lukas - w schematach blokowych nie ma switcha, przynajmniej tych klasycznych.

edytowany 2x, ostatnio: msm
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Mógłby by mi ktoś wytłumaczyć jak zrobić taki kalkulator na 4 działania,
wiem że muszę skorzystać z instrukcji if albo switch (najlepiej to jak sie dowiem jak zrobić dla obydwóch)
tylko że niemego tego zajarzyć

I jeszcze jedno wyczytałem że jak zaczynam nawais np. przy printf to moge go skończyć w innej lini, ale jak chce wybór operacji sobie ładnie rozłożyć w słupku to nie idzie

Mniej więcej chce żeby to wyglądało tak ;
podaj liczbe1: 3
podaj liczbe2: 3
wybór operacji: 1
tutaj lista z operacjami
3+3=6

Kopiuj
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
        int liczba1, liczba2;
        int znak;
 
 
        printf("Podaj liczbe 1:");
        scanf("%d",&liczba1);
        fflush(stdin);
 
        printf("Podaj liczbe 2:");
        scanf("%d",&liczba2);
        fflush(stdin);
 
        printf("Operacje:\n 1 Dodawanie \n 2 Odejmowanie \n 3 Mnozenie \n 4 Dzielenie \n");
 
        printf("Wybierz operacje:");
        scanf("%d", &znak);
        fflush(stdin);
 
 
        system("pause");
 
        return 0;
 
}
nerf
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 11 lat
0

Najlepsze będzie tutaj switch. Nie wiem jak to wygląda na C ale w c++ coś takiego:

Kopiuj
 int l1,l2,wynik,znak;
cout << "Podaj liczbe 1: ";
cin >> l1;
cout << "Podaj liczbe 2: ";
cin >> l2;
cout << "Dzialanie: 1.+ , 2.- , 3./ , 4.* : ";
cin >> znak;
swtich(znak)
{
case 1: // dodawanie b
break;
case 2: // odejmowanie
break;
case 3: // dzielenie
break;
case 4: // mnożenie
break;
default: // cos tam 
break;
}
cout << wynik << endl;

Poczytaj o instrukcji if i switch. Nie jest do zbyt obszerny temat i trudny do zrozumienia.
Instrukcje sterujące

edytowany 2x, ostatnio: nerf
iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0
Kopiuj
printf("Operacje:\n"
       "1 Dodawanie\n"
       "2 Odejmowanie\n"
       "3 Mnozenie\n"
       "4 Dzielenie\n");

switch (znak) {
    case 1: 
        /* operacja dla dodawania */;
        break;
    case 2:
        /* operacja dla odejmowania */;
        break;
    /* itd... */
 }
 
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

wykombinowałem coś takiego, tylko wyświetla mi jakieś bzdury na końcu

Kopiuj
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int a, b, wynik; /* a-pierwsza liczba, b-druga liczba */
        char znak;


        printf("Podaj pierwsza liczbe:");
        scanf("%d",&a);
        fflush(stdin);

        printf("Podaj druga liczbe:");
        scanf("%d",&b);
        fflush(stdin);

        printf("\n\n Operacje:\n"
               "1 Dodawanie (+)\n"
               "2 Odejmowanie (-)\n"
               "3 Mnozenie (*)\n"
               "4 Dzielenie (/)\n");

        printf("Wybierz numer operacji:");
        scanf("%d", &znak);
        fflush(stdin);

        switch(znak)
        {
                case '1':
                wynik = a + b;
                break;

                case '2':
                wynik = a - b;
                break;

                case '3':
                wynik = a * b;
                break;

                case '4':
                        if(b != 0)
                        {
                                wynik = a / b;
                        }
                        else
                        {
                                printf("ERROR");
                        }
                        break;
        }

        printf("Obliczenia:  %d %c %d = %d", a, znak, b, wynik);

        printf("Koniec programu");

        system("pause");
        return 0;
}
edytowany 3x, ostatnio: bigos
LG
Może przez to, że w wyniku przy dzieleniu wychodzi czasami liczba rzeczywista a masz typ całkowity i obcina ?
Endrju
Dlaczego wciąż robicie te kalkulatory, to takie smutne. :-(
BI
O O TEN KOD MI CHODZI ;d
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

nie oto mi chodzi, tylko wynik jest zawsze 0 a zamiast znaku jakieś symbole ja serce albo jakieś uśmiechnięta gęba

iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

Nie wiem, o co ci chodzi, ale próbujesz wczytać liczbę do znaku.

edytowany 1x, ostatnio: iooi
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0
Kopiuj
 printf("\n\n Operacje:\n"
               "1 Dodawanie (+)\n"
               "2 Odejmowanie (-)\n"
               "3 Mnozenie (*)\n"
               "4 Dzielenie (/)\n")

;

chcę żeby w miejscu znak wyświetlało się to co w nawiasie, a wynik mam zawsze 0 nieważne co wpisze

a wygląda to tak

image jpg 1010-2

jak widać zamiast znaku jakaś gęba

iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

Toć mówię, że do chara wczytujesz inta.

BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

osiągnąłem co chciałem ale jeszcze inaczej, bo w tym pierwszym sposobie, już nie mogę nic wymyślić
mógłbyś powiedzieć jak to zmienić, rozumiem co źle ale nie wiem jak to zrobić żeby działało jak powinno

Kopiuj
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int a, b, wynik, znak; /* a-pierwsza liczba, b-druga liczba */

        printf("Podaj pierwsza liczbe:");
        scanf("%d",&a);
        fflush(stdin);

        printf("Podaj druga liczbe:");
        scanf("%d",&b);
        fflush(stdin);

        printf("\n\n Operacje:\n"
               "1 Dodawanie (+)\n"
               "2 Odejmowanie (-)\n"
               "3 Mnozenie (*)\n"
               "4 Dzielenie (/)\n");

        printf("Wybierz numer operacji:");
        scanf("%d", &znak);
        fflush(stdin);

        switch(znak)
        {
                case 1:
                wynik = a + b;
                printf("%d + %d = %d \n",a,b,wynik);
                break;

                case 2:
                wynik = a - b;
                printf("%d - %d = %d  \n",a,b,wynik);
                break;

                case 3:
                wynik = a * b;
                printf("%d * %d = %d  \n",a,b,wynik);
                break;

                case 4:
                        if(b != 0)
                        {
                                wynik = a / b;
                                printf("%d / %d = %d  \n",a,b,wynik);
                        }
                        else
                        {
                                printf("ERROR  \n");
                        }
                        break;
        }

        printf("Koniec programu  \n");

        system("pause");
        return 0;
}
nerf
a co nie działa?
iooi
Tzn.? Ten kod działa dobrze.
BI
tak, chodzi o ten poprzedni
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

to co przed chwilą napisałem działa, ale chciałbym jeszcze żeby ten poprzedni zadziałał jak należy,
czyli tam gdzie narzekałem ze wynik ciągle zero i nie daje znaku

nerf
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 11 lat
0
Kopiuj
 printf("%d + %d = %d \n",a,b,wynik);

nie powinno być tutaj jakiejś przerwy między podstawieniem zmiennych a stringiem?
Coś typu:

Kopiuj
cout << a << " + " << b << " =  " << a +b << endl; // ?

Czy to działa jak w c#

Kopiuj
console.write("{0} + {1} = {2}",a,b,a+b); // ?
LG
Nie tędy droga. Poczytaj jak działa printf.
iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

Zamiast numeru, mógłbyś tam bezpośrednio wczytywać znak:

Kopiuj
char znak;
scanf("%c", &znak);

switch (znak) {
    case '+':
        wynik = a + b;
        break;
    case '-':
        // itd...
}

printf("Obliczenia:  %d %c %d = %d\n", a, znak, b, wynik);

Ale w tamtym kodzie masz jeszcze jeden błąd - wynik i tak się wypisze przy dzieleniu przez zero.

BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Jak to zrobić podając bezpośrednio znak wiem bo znalazłem cały przykład
Tylko że chciałbym podawać same numery

iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

No to jakoś musisz powiązać numery ze znakami:

Kopiuj
char op;
// ...
switch(znak) {
    case 1:
        wynik = a + b;
        op = '+';
        break;
 
    case 2:
        wynik = a - b;
        op = '-';
        // ...
}
printf("Obliczenia:  %d %c %d = %d\n", a, op, b, wynik);
edytowany 1x, ostatnio: iooi
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

dzięki!!!
wszystko działa teraz tylko muszę poczytać o pętli żeby się nie zamykał po każdej operacji

Kopiuj
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
        int a, b, wynik, znak; /* a-pierwsza liczba, b-druga liczba */
        char x; /* znak wykonywanej operacji */

 
        printf("Podaj pierwsza liczbe:");
        scanf("%d",&a);
        fflush(stdin);

        printf("Podaj druga liczbe:");
        scanf("%d",&b);
        fflush(stdin);
 
        printf("\n\n Operacje:\n"
               "1 Dodawanie (+)\n"
               "2 Odejmowanie (-)\n"
               "3 Mnozenie (*)\n"
               "4 Dzielenie (/)\n");
 
        printf("Wybierz numer operacji:");
        scanf("%d", &znak);
        fflush(stdin);
 
        switch(znak)
        {
                case 1:
                wynik = a + b;
                x = '+';
                break;

                case 2:
                wynik = a - b;
                x = '-';
                break;

                case 3:
                wynik = a * b;
                x = '*';
                break;

                case 4:
                        if(b != 0)
                        {
                                wynik = a / b;
                                x = '/';
                        }
                        else
                        {
                                printf("ERROR");
                        }
                        break;
        }

        printf("Obliczenia:  %d %c %d = %d  \n", a, x, b, wynik);

        printf("Koniec programu \n");

        system("pause");
        return 0;
}
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

a jakbym chciał to zbudować wykorzystując if i else jak by to wyglądało??
zrobiłem tak ale tylko dodaje ;i jak w ostanie linijce obetnę if to wywala błędy

Kopiuj
        if(znak = 1)
        {
                wynik = a + b;
                x = '+';
        }
        else if(znak = 2)
        {
                wynik = a - b;
                x = '-';
        }
        else if(znak = 3)
        {
                wynik = a * b;
                x = '*';
        }
        else if(znak = 4)
        {
                wynik = a / b;
                x = '/';
        }
iooi
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 11 lat
  • Postów:573
0

= jest operatorem przypisania, zamień wszędzie znak = x na znak == x

edytowany 1x, ostatnio: iooi
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

Poprawiłem i teraz wykorzystuje same if i else.
I jedno pytanko
czy jak pisze

if ( ... )
{
.......
}

i nie dam na końcu else to jest to jakiś błąd??

Kopiuj
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
        int a, b, wynik, znak; /* a-pierwsza liczba, b-druga liczba */
        char x; /* znak wykonywanej operacji */

 
        printf("Podaj pierwsza liczbe:");
        scanf("%d",&a);
        fflush(stdin);

        printf("Podaj druga liczbe:");
        scanf("%d",&b);
        fflush(stdin);
 
        printf("\n\n Operacje:\n"
               "1 Dodawanie (+)\n"
               "2 Odejmowanie (-)\n"
               "3 Mnozenie (*)\n"
               "4 Dzielenie (/)\n\n");

        printf("Wybierz numer operacji:");
        scanf("%d", &znak);
        fflush(stdin);
 
       if(znak == 1)
        {
                wynik = a + b;
                x = '+';
        }
        else if(znak == 2)
        {
                wynik = a - b;
                x = '-';
        }
        else if(znak == 3)
        {
                wynik = a * b;
                x = '*';
        }
        else if(znak == 4)
        {
                if(b != 0)
                {
                        wynik = a / b;
                        x = '/';
                }
                else
                {
                        printf("\n Ty tluku, nigdy nie dzieli sie przez zero \n\n");
                }
        }

        if(b != 0)
        {
                printf("\n Obliczenia:  %d %c %d = %d  \n\n", a, x, b, wynik);
        }

        printf("Koniec programu \n\n");

        system("pause");
        return 0;
}
LG
LG
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 5 lat
0

Nie. Dodatkowo nie musisz wcale pisać np.

Kopiuj
if(a!=b)
{
   a=b;
}

tylko można zrobić to tak

Kopiuj
if(a!=b)
   a=b;
Patryk27
Przyjmując, że w if'ie chcesz wykonać jedną operację, a nie więcej ;)
LG
A widzisz, żebym napisał więcej instrukcji ?
BI
Rozumiem, biorę się teraz za pętle dzięki za pomoc
Patryk27
@lukas_gab: tak tylko dopisałem. Znam ludzi, którzy potrafią zrobić takie coś: if (a==b) wykonajA(); wykonajB() i dziwią się, że niezależnie od warunku wykonuje się "wykonajB()"
BI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:52
0

udało mi się zrobić pętle ;D

Kopiuj
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int a, b, wynik, znak, koniec; /* a-pierwsza liczba, b-druga liczbau */
        char x, z; /* x-znak wykonywanej operacji, z-zapytanie o koniec program */

        do
        {
                printf("Podaj pierwsza liczbe:");
                scanf("%d",&a);
                fflush(stdin);

                printf("Podaj druga liczbe:");
                scanf("%d",&b);
                fflush(stdin);

                printf("\n\n Operacje:\n"
                        "1 Dodawanie (+)\n"
                        "2 Odejmowanie (-)\n"
                        "3 Mnozenie (*)\n"
                        "4 Dzielenie (/)\n");

                printf("Wybierz numer operacji:");
                scanf("%d", &znak);
                fflush(stdin);

                switch(znak)
                {
                        case 1:
                        wynik = a + b;
                        x = '+';
                        break;

                        case 2:
                        wynik = a - b;
                        x = '-';
                        break;

                        case 3:
                        wynik = a * b;
                        x = '*';
                        break;

                        case 4:
                                if(b != 0)
                                {
                                        wynik = a / b;
                                        x = '/';
                                }
                                else
                                {
                                        printf("ERROR");
                                }
                                break;
                }


                printf("Obliczenia:  %d %c %d = %d  \n", a, x, b, wynik);

                printf("Koniec programu, czy chcesz zakaczyc?  y / n \n");
                scanf("%c",&z);
                fflush(stdin);
         }
         while (z !='y');



        return 0;


}
Sarrus
Co to jest 'y'? Istnieje wyraz na y w języku polskim? :P
somekind
Istnieje, "yeti".
BI
jak w w pytaniu "czy chcesz zakaczyc? y / n", daje y to sie zamyka a jak n to leci dalej, w zasadzie co bym nie wybrał to się zamyka. A gdzieś czytałem ze w pętli nie powinienem używać !=
Azarien
ygrek :-) ale większym WTF jest słowo „zakaczyc”. nie powinno być „zahaczyć”?
somekind
Miałem wykładowcę, który mówił właśnie "ygrek" zamiast "igrek". Cholernie bolały uszy po jego wykładach. :/
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)