#1303
Se dau două numere naturale și un simbol pentru una dintre operațiile +, -, *, /. Să se determine rezultatul operației aplicate pentru cele două numere.
| 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 | |
| Fișier | calculator.cpp | Dimensiune | 380 B |
| Data încărcării | 25 Mai 2026, 17:56 | Scor/rezultat | Eroare de 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]
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Calculator face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.