Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[New Curses] Podstawy

Ostatnio zmodyfikowano 2011-10-13 15:24
Autor Wiadomość
reddragon
Temat założony przez niniejszego użytkownika
[New Curses] Podstawy
» 2011-10-13 14:15:51
Od razu napiszę, że jestem początujący. Próbuję stworzyć program z menu na strzałki. To jeszcze nie jest koniec.
Kod programu na razie wygląda tak:

C/C++
#include<curses.h>
#include<iostream>
using namespace std;
int main()
{
    int opcja;
    float liczba1, liczba2, suma, roznica;
    initscr();
    printw( "Wybierz dzialanie: \n" );
    printw( "1....Dodawanie. \n" );
    printw( "2....Odejmowanie. \n" );
    opcja = getch();
    switch( opcja )
    {
    case 1: printw( "Podaj liczba1: " );
        liczba1 = getch();
        printw( "Podaj liczba2: " );
        liczba2 = getch();
        suma = liczba1 + liczba2;
        printw( "Wynik to: " ); printw( "%f", suma );
        break;
    case 2: printw( "Podaj liczba1: " );
        liczba1 = getch();
        printw( "Podaj liczba2: " );
        liczba2 = getch();
        roznica = liczba1 - liczba2;
        printw( "Wynik to: " ); printw( "%f", roznica );
        break;
        default: getch();
        break;
    }
    getch();
    return 0;
}

Wynik działania jest taki, że pierwsze trzy funkcje printw działają dobrze, wpisuję np. 1 i program przestaje działać.
P-42022
DejaVu
» 2011-10-13 14:27:47
'1' => kod ASCII 49 => liczba 49
1 => kod ASCII 1 => liczba 1
P-42023
reddragon
Temat założony przez niniejszego użytkownika
» 2011-10-13 14:39:31
Bardzo dziękuję za podpowiedź, sam bym nie wpadł, żeby w case'a wpisać kod ascii, a próbowałem wpisywać program.
P-42025
reddragon
Temat założony przez niniejszego użytkownika
» 2011-10-13 14:59:45
Mam jeszcze takie pytanie: dlaczego w casie:1 po wpisaniu np 4 i 5 otrzymuje wynik równy sumie ich kodów ascii?
Funkcja printw ma taką postać:    printw ("%d", suma);  Dwie liczby które dodaję także są jako int.
Dodam jeszcze, że dla odejmowania jest wszystko ok.
P-42027
DejaVu
» 2011-10-13 15:02:08
Używasz funkcji getch, która zwraca znak, a dokładniej kod znaku. Dokumentacja Twoim przyjacielem.
P-42029
reddragon
Temat założony przez niniejszego użytkownika
» 2011-10-13 15:22:11
W takim razie jakiej funkcji powinienem użyć?
P-42031
DejaVu
» 2011-10-13 15:24:43
Bleh... gdzie Ty tam sumę dostajesz... weź przemyśl to co napisałem w pierwszym swoim poście, zastosuj to do programu, przetestuj czy działa, a potem zadawaj ewentualne dodatkowe pytania. W programowaniu nie ma drogi na skróty.
P-42032
« 1 »
  Strona 1 z 1