• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

kalkulator w c++

Object Storage Arubacloud
0 głosów
1,326 wizyt
pytanie zadane 13 sierpnia 2017 w C i C++ przez gabi_15 Początkujący (370 p.)
edycja 13 sierpnia 2017 przez Eryk Andrzejewski

Cześć,

Pisze taki jakby kalkulator w C++ i niezbyt wiem jak mam zapisać pewną rzecz. Chodzi o liczby dwucyfrowe. Przy wyliczaniu opcji do wybrania 1-13 do 9 jest okej, ale gdy chcę wpisać 10 - obwod prostokąta, włącza mi się 1 opcja - dodawanie i nie mogę dopisać 0. Jak zrobić abym mogła wybrać normalnie liczby 10-13? Jak to zapisać?

kawałek kodu, element o który mi chodzi:

 

#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <conio.h>

using namespace std;

float x, y, z;
char wybor;

int main()

{
    for (;;)
{

 

    cout << "MENU GLOWNE" << endl;
    cout << "-----------------" << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowwanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Pole kwadratu" << endl;
    cout << "6. Pole prostokata" << endl;
    cout << "7. Pole trojkata" << endl;
    cout << "8. Pole walca" << endl;
    cout << "9. Obwod kwadratu" << endl;
    cout << "10. Obwod prostokata" << endl;
    cout << "11. Obwod trojkata" << endl;
    cout << "12. Objetosc walca" << endl;
    cout << "13. Koniec programu" << endl;

    cout<< endl;
    wybor=getch();

 

komentarz 13 sierpnia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Proszę zapoznać się z regulaminem forum i FAQ. Kod źródłowy wstawiamy w bloczek.

4 odpowiedzi

+2 głosów
odpowiedź 13 sierpnia 2017 przez krystian904 Mądrala (6,820 p.)

char wybor; <- jest jeden znak porównuj stringa albo przejdź na litery nie 11 tylko a i tak dalej wink

+1 głos
odpowiedź 4 września 2017 przez madpl1239 Użytkownik (600 p.)
Funkcja getch() zwraca jedną liczbę typu int znaku ASCII wprowadzoną z klawiatury. Więc jeśli twój kod oczekuje na wprowadzenie opcji z klawiatury to po naciśnięciu jednego klawisza na klawiaturze funkcja zwraca kod tego znaku i przekazuje sterowanie do programu. Żeby oprogramować opcje 10, 11, 12, 13 - te liczby są dwucyfrowe a więc dwa znaki z klawiatury więc najlepiej będzie użyć cin lub scanf()  w tym przypadku. Bo getch() getchar() pobierają tylko jeden znak!:)))

pozdrawiam
0 głosów
odpowiedź 4 września 2017 przez Sic Dyskutant (8,510 p.)
Spróbuj użyć warunek wielokrotnego wyboru switch. ;)
komentarz 4 września 2017 przez DragonCoder Nałogowiec (36,500 p.)
Nie zmienia to nic. Wazny jest typ.zmiennej jako zostal uzyty albo jak zostanie napisany case. :) najlatwoej jak kolega wyzej mowil, zostawic char i od 10 , 11, 12, ..., n uzyc liter
–1 głos
odpowiedź 14 sierpnia 2017 przez SimiVoid Pasjonat (19,790 p.)

Zamiast

wybor=getch();

zastosuj

std::cin>>wybor;

i zmień typ zmiennej wybor z char na int i zastosuj pętle switch case

komentarz 14 sierpnia 2017 przez DragonCoder Nałogowiec (36,500 p.)
Ze co?

wybor = getch();, pozwala na natychmiastowa reakcje programu bez wciskania enter,

a std::cin>>wybor; to tylko i wylacznie strumien wejscia, ale nic wiecej...

Podobne pytania

0 głosów
1 odpowiedź 277 wizyt
–1 głos
1 odpowiedź 944 wizyt

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...