Detalii evaluare #64714991

Rezumat problemă

Se dau două numere naturale și un simbol pentru una dintre operațiile +, -, *, /. Să se determine rezultatul operației aplicate pentru cele două numere.

Detalii

Problema Calculator Operații I/O tastatură/ecran
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #64714991 Utilizator Darius Hentea (Darius_Hentea)
Fișier calculator.cpp Dimensiune 380 B
Data încărcării 25 Mai 2026, 17:56 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

calculator.cpp: In function ‘int main()’:
calculator.cpp:8:16: error: uninitialized ‘const semn’ [-fpermissive]
    8 |     const char semn;
      |                ^~~~
calculator.cpp:10:8: error: no match for ‘operator>>’ (operand types are ‘std::istream’ {aka ‘std::basic_istream<char>’} and ‘const char’)
   10 |     cin>>semn;
      |     ~~~^~~~~~
      |     |    |
      |     |    const char
      |     std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/13/iostream:42,
                 from calculator.cpp:1:
/usr/include/c++/13/istream:325:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  325 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/13/istream:325:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: invalid conversion from ‘char’ to ‘void*’ [-fpermissive]
   10 |     cin>>semn;
      |          ^~~~
      |          |
      |          char
calculator.cpp:10:10: error: cannot bind rvalue ‘(void*)((long int)((char)semn))’ to ‘void*&’
/usr/include/c++/13/istream:224:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  224 |       operator>>(long double& __f)
      |       ^~~~~~~~
/usr/include/c++/13/istream:224:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘long double&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:220:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  220 |       operator>>(double& __f)
      |       ^~~~~~~~
/usr/include/c++/13/istream:220:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘double&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:216:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  216 |       operator>>(float& __f)
      |       ^~~~~~~~
/usr/include/c++/13/istream:216:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘float&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:201:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  201 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:201:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘long long unsigned int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:197:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  197 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:197:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘long long int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:192:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:192:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘long unsigned int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:188:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:188:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘long int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:184:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:184:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘unsigned int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:181:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]’ (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/13/istream:181:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:177:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:177:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘short unsigned int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:174:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]’ (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/13/istream:174:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘short int&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:170:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/13/istream:170:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: cannot bind non-const lvalue reference of type ‘bool&’ to a value of type ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:122:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__istream_type& (*)(__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  122 |       operator>>(__istream_type& (*__pf)(__istream_type&))
      |       ^~~~~~~~
/usr/include/c++/13/istream:122:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: invalid conversion from ‘char’ to ‘std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)’ {aka ‘std::basic_istream<char>& (*)(std::basic_istream<char>&)’} [-fpermissive]
   10 |     cin>>semn;
      |          ^~~~
      |          |
      |          char
/usr/include/c++/13/istream:126:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>; __ios_type = std::basic_ios<char>]’ (near match)
  126 |       operator>>(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/13/istream:126:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: invalid conversion from ‘char’ to ‘std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)’ {aka ‘std::basic_ios<char>& (*)(std::basic_ios<char>&)’} [-fpermissive]
   10 |     cin>>semn;
      |          ^~~~
      |          |
      |          char
/usr/include/c++/13/istream:133:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
  133 |       operator>>(ios_base& (*__pf)(ios_base&))
      |       ^~~~~~~~
/usr/include/c++/13/istream:133:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: invalid conversion from ‘char’ to ‘std::ios_base& (*)(std::ios_base&)’ [-fpermissive]
   10 |     cin>>semn;
      |          ^~~~
      |          |
      |          char
/usr/include/c++/13/istream:349:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; __streambuf_type = std::basic_streambuf<char>]’ (near match)
  349 |       operator>>(__streambuf_type* __sb);
      |       ^~~~~~~~
/usr/include/c++/13/istream:349:7: note:   conversion of argument 1 would be ill-formed:
calculator.cpp:10:10: error: invalid conversion from ‘char’ to ‘std::basic_istream<char>::__streambuf_type*’ {aka ‘std::basic_streambuf<char>*’} [-fpermissive]
   10 |     cin>>semn;
      |          ^~~~
      |          |
      |          char
calculator.cpp:10:8: note: candidate: ‘operator>>(int, int)’ (built-in)
   10 |     cin>>semn;
      |     ~~~^~~~~~
calculator.cpp:10:8: note:   no known conversion for argument 1 from ‘std::istream’ {aka ‘std::basic_istream<char>’} to ‘int’
In file included from /usr/include/c++/13/string:55,
                 from /usr/include/c++/13/bits/locale_classes.h:40,
                 from /usr/include/c++/13/bits/ios_base.h:41,
                 from /usr/include/c++/13/ios:44,
                 from /usr/include/c++/13/ostream:40,
                 from /usr/include/c++/13/iostream:41:
/usr/include/c++/13/bits/basic_string.tcc:827:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
  827 |     operator>>(basic_istream<_CharT, _Traits>& __in,
      |     ^~~~~~~~
/usr/include/c++/13/bits/basic_string.tcc:827:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘const char’
   10 |     cin>>semn;
      |          ^~~~
In file included from /usr/include/c++/13/istream:1106:
/usr/include/c++/13/bits/istream.tcc:975:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, _CharT&)’
  975 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
      |     ^~~~~~~~
/usr/include/c++/13/bits/istream.tcc:975:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘const char’)
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:846:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(basic_istream<char, _Traits>&, unsigned char&)’
  846 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
      |     ^~~~~~~~
/usr/include/c++/13/istream:846:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   cannot convert ‘semn’ (type ‘const char’) to type ‘unsigned char&’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:851:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(basic_istream<char, _Traits>&, signed char&)’
  851 |     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
      |     ^~~~~~~~
/usr/include/c++/13/istream:851:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   cannot convert ‘semn’ (type ‘const char’) to type ‘signed char&’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:893:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, _CharT*)’
  893 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/13/istream:893:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   mismatched types ‘_CharT*’ and ‘char’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:936:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(basic_istream<char, _Traits>&, unsigned char*)’
  936 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/13/istream:936:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   cannot convert ‘semn’ (type ‘const char’) to type ‘unsigned char*’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:942:5: note: candidate: ‘template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(basic_istream<char, _Traits>&, signed char*)’
  942 |     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/13/istream:942:5: note:   template argument deduction/substitution failed:
calculator.cpp:10:10: note:   cannot convert ‘semn’ (type ‘const char’) to type ‘signed char*’
   10 |     cin>>semn;
      |          ^~~~
/usr/include/c++/13/istream:1096:5: note: candidate: ‘template<class _Istream, class _Tp> _Istream&& std::operator>>(_Istream&&, _Tp&&)’
 1096 |     operator>>(_Istream&& __is, _Tp&& __x)
      |     ^~~~~~~~
/usr/include/c++/13/istream:1096:5: note:   template argument deduction/substitution failed:
/usr/include/c++/13/istream: In substitution of ‘template<class _Istream, class _Tp> _Istream&& std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_istream<char>&; _Tp = const char&]’:
calculator.cpp:10:10:   required from here
/usr/include/c++/13/istream:1096:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
calculator.cpp:13:6: error: conversion from ‘const char*’ to ‘int’ in a converted constant expression
   13 | case "+":
      |      ^~~
calculator.cpp:13:6: error: could not convert ‘"+"’ from ‘const char [2]’ to ‘int’
   13 | case "+":
      |      ^~~
      |      |
      |      const char [2]
calculator.cpp:16:6: error: conversion from ‘const char*’ to ‘int’ in a converted constant expression
   16 | case "-":
      |      ^~~
calculator.cpp:16:6: error: could not convert ‘"-"’ from ‘const char [2]’ to ‘int’
   16 | case "-":
      |      ^~~
      |      |
      |      const char [2]
calculator.cpp:19:6: error: conversion from ‘const char*’ to ‘int’ in a converted constant expression
   19 | case "*":
      |      ^~~
calculator.cpp:19:6: error: could not convert ‘"*"’ from ‘const char [2]’ to ‘int’
   19 | case "*":
      |      ^~~
      |      |
      |      const char [2]
calculator.cpp:22:6: error: conversion from ‘const char*’ to ‘int’ in a converted constant expression
   22 | case "/":
      |      ^~~
calculator.cpp:22:6: error: could not convert ‘"/"’ from ‘const char [2]’ to ‘int’
   22 | case "/":
      |      ^~~
      |      |
      |      const char [2]

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Calculator face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!