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

C++, problem z zadaniem Kalkulator 1/Calc

Object Storage Arubacloud
–3 głosów
484 wizyt
pytanie zadane 16 marca 2017 w SPOJ przez Konrad Kurczyński Użytkownik (580 p.)
edycja 17 marca 2017 przez Konrad Kurczyński

string zestawdanych;
float wynik;
cin>>zestawdanych;
if (zestawdanych[0] = "+")
{
 wynik = zestawdanych[2]+zestawdanych[4]
{
(...)
  

Błąd wyskakuje przy powyższym kodzie, adres zadania: http://pl.spoj.com/problems/CALC/ 

2
komentarz 16 marca 2017 przez tangarr Mędrzec (154,860 p.)
i== <-- serio?
komentarz 17 marca 2017 przez Konrad Kurczyński Użytkownik (580 p.)
Dziękuję, wyelminowało to jeden z błędów, literówka...
komentarz 17 marca 2017 przez niezalogowany
Zła kategoria + łamiesz regulamin dotyczący zadań ze SPOJ. Popraw wszystko inaczej będę zmuszony ukryć to pytanie

1 odpowiedź

+1 głos
odpowiedź 16 marca 2017 przez mokrowski Mędrzec (155,460 p.)
Zapisałeś zmienną ilośćprob oraz inne z użyciem znaków spoza ASCII. Język C++ wymaga aby tego typu nazwy nie zawierały znaków narodowych.

Następną sprawą jest to że nie podajesz które zadanie ze SPOJ'a. Ludzie mają zgadywać aby Ci pomóc?
komentarz 17 marca 2017 przez Konrad Kurczyński Użytkownik (580 p.)
edycja 17 marca 2017 przez Konrad Kurczyński
Napisałem Zadanie to kalkulator, poprawiłem to według twoich zaleceń, jednak to nic nie zmienia (w innych programach (pisanych w Xcode) mogłem używać polskich znaków, jeżeli były na spoja to je eliminowałem przed wrzuceniem, aczkolwiek ten jest źle zrobiony na etapie Xcode)
1
komentarz 17 marca 2017 przez mokrowski Mędrzec (155,460 p.)
  1. Podawaj link do zadania. Nikt nie będzie domyślał się "który kalkulator, jaki flamaster jakie liczby pierwsze" (jest to częsty powód dlaczego nikt nie odpowiada).
  2. Każde IDE pracujące w systemie dopuszcza wpisywanie znaków alfabetów spoza ASCII. Robi się to przecież w komentarzach, robi się to w komunikatach wpisywanych. Rodzaj IDE jest nieistotny (ja także pracuję w XCode). Zasada jest prosta. Nie używaj znaków spoza ASCII w nazwach funkcji/klas/zmiennych itp. i się do tego przyzwyczaj.
  3. Popatrz na for. Jak inkrementujesz zmienną i? Na marginesie popraw na : ++i a nie na i++. Dobre nawyki warto wyrabiać.
  4. Popatrz na zestawdanych. w którym miejscu definiujesz że jest tablicą?
  5. Dlaczego stosujesz zmienne globalne?
komentarz 17 marca 2017 przez Evelek Nałogowiec (28,960 p.)

Popatrz na for. Jak inkrementujesz zmienną i? Na marginesie popraw na : ++i a nie na i++. Dobre nawyki warto wyrabiać. - O! I to mnie zastanawia czasami. Czytałem dużo na temat ++i vs. i++, różne fora, komentarze ze Stackoverflow itp. I dużo osób twierdziło, że ++i jest "wydajniejsze" cokolwiek by to miało znaczyć. Różne kody z Assemblera widziałem, gdzie ludzie pokazywali, że niezależnie czy to jest preinkrementacja czy postinkrementacja to kod jest taki sam. Pytanie więc do Ciebie mokrowski, czy można to jakoś uzasadnić i wybrać "lepszą" inkrementację?

komentarz 17 marca 2017 przez mokrowski Mędrzec (155,460 p.)
Standard języka C++ nie definiuje jak ma być generowany kod asemblera. Może być generowany mniej lub bardziej optymalnie. I bywa naprawdę różnie. Za to standard definiuje operator pre/post  oraz pre/post dekrementacji. W przypadku operatorów post, jest tam przesyłany int. Taka jest prawdziwa sygnatura tej funkcji/metody. Dość że budzi to znane kontrowersje. Ale to przyzwyczajenie łatwo zmienić i IMHO (jeszcze) warto.
komentarz 17 marca 2017 przez Konrad Kurczyński Użytkownik (580 p.)
edycja 17 marca 2017 przez Konrad Kurczyński
Dziękuje za odpowiedź, a czy ze zmiennej string nie mogę odczytać jednego znaku(np. wynik = zestawdanych[2] + zestawdanych[4])?  Przecież ona jest jakby tablicą.

Podobne pytania

0 głosów
1 odpowiedź 328 wizyt
pytanie zadane 8 września 2019 w C i C++ przez amelia.cpp Obywatel (1,860 p.)
0 głosów
1 odpowiedź 620 wizyt
pytanie zadane 27 września 2017 w C i C++ przez adam456 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 299 wizyt
pytanie zadane 14 września 2018 w SPOJ przez Nowacx02 Obywatel (1,060 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...