skupi967 Temat założony przez niniejszego użytkownika |
Problem z kompilacja programu, przesiadka z Codeblocks na Visual Studio » 2020-07-04 19:30:44 Witam. Mam problem. Dzis przenioslem sie z IDE Codeblocks na IDE Visual Studio i po wklepaniu kodu z Codeblocks do Visual Studio nie moge go skompilowac bo dostaje bledy. Prosze o pomoc, bede bardzo wdzieczny. Kod zrodlowy programu: #include <iostream> #include <string> #include <map> #include <cmath> #include <fstream> #include <sstream> #include <numeric> #include <limits> #include <utility> #include <vector> #include <algorithm> #include <functional> #include <array> #include <windows.h> #include <conio.h>
using namespace std;
void print( string::size_type n, string const & s ) { if( n == string::npos ) { cout << "not found\n"; } else { cout << "found: " << s.substr( n ) << '\n'; } }
bool check() { char chk; int j; cout << "\n\nPress any key to search another phrase..." << endl << endl << endl; chk = _getch(); j = chk; for( int i = 1; i <= 256; i++ ) if( i == j ) { return true; break; } system( "cls" ); }
map < char, int > make_pythagorean_map() { return { { 'A', 1 }, { 'a', 1 }, { 'B', 2 }, { 'b', 2 }, { 'C', 3 }, { 'c', 3 }, { 'D', 4 }, { 'd', 4 }, { 'E', 5 }, { 'e', 5 }, { 'F', 6 }, { 'f', 6 }, { 'G', 7 }, { 'g', 7 }, { 'H', 8 }, { 'h', 8 }, { 'I', 9 }, { 'i', 9 }, { 'J', 1 }, { 'j', 1 }, { 'K', 2 }, { 'k', 2 }, { 'L', 3 }, { 'l', 3 }, { 'M', 4 }, { 'm', 4 }, { 'N', 5 }, { 'n', 5 }, { 'O', 6 }, { 'o', 6 }, { 'P', 7 }, { 'p', 7 }, { 'Q', 8 }, { 'q', 8 }, { 'R', 9 }, { 'r', 9 }, { 'S', 1 }, { 's', 1 }, { 'T', 2 }, { 't', 2 }, { 'U', 3 }, { 'u', 3 }, { 'V', 4 }, { 'v', 4 }, { 'W', 5 }, { 'w', 5 }, { 'X', 6 }, { 'x', 6 }, { 'Y', 7 }, { 'y', 7 }, { 'Z', 8 }, { 'z', 8 } }; }
map < char, int > make_simpleeng_map() { return { { 'A', 1 }, { 'a', 1 }, { 'B', 2 }, { 'b', 2 }, { 'C', 3 }, { 'c', 3 }, { 'D', 4 }, { 'd', 4 }, { 'E', 5 }, { 'e', 5 }, { 'F', 6 }, { 'f', 6 }, { 'G', 7 }, { 'g', 7 }, { 'H', 8 }, { 'h', 8 }, { 'I', 9 }, { 'i', 9 }, { 'J', 10 }, { 'j', 10 }, { 'K', 11 }, { 'k', 11 }, { 'L', 12 }, { 'l', 12 }, { 'M', 13 }, { 'm', 13 }, { 'N', 14 }, { 'n', 14 }, { 'O', 15 }, { 'o', 15 }, { 'P', 16 }, { 'p', 16 }, { 'Q', 17 }, { 'q', 17 }, { 'R', 18 }, { 'r', 18 }, { 'S', 19 }, { 's', 19 }, { 'T', 20 }, { 't', 20 }, { 'U', 21 }, { 'u', 21 }, { 'V', 22 }, { 'v', 22 }, { 'W', 23 }, { 'w', 23 }, { 'X', 24 }, { 'x', 24 }, { 'Y', 25 }, { 'y', 25 }, { 'Z', 26 }, { 'z', 26 } }; }
map < char, int > make_gfive_map() { return { { 'A', 7 }, { 'a', 7 }, { 'B', 8 }, { 'b', 8 }, { 'C', 1 }, { 'c', 1 }, { 'D', 2 }, { 'd', 2 }, { 'E', 3 }, { 'e', 3 }, { 'F', 4 }, { 'f', 4 }, { 'G', 5 }, { 'g', 5 }, { 'H', 6 }, { 'h', 6 }, { 'I', 7 }, { 'i', 7 }, { 'J', 8 }, { 'j', 8 }, { 'K', 9 }, { 'k', 9 }, { 'L', 1 }, { 'l', 1 }, { 'M', 2 }, { 'm', 2 }, { 'N', 3 }, { 'n', 3 }, { 'O', 4 }, { 'o', 4 }, { 'P', 5 }, { 'p', 5 }, { 'Q', 6 }, { 'q', 6 }, { 'R', 7 }, { 'r', 7 }, { 'S', 8 }, { 's', 8 }, { 'T', 9 }, { 't', 9 }, { 'U', 1 }, { 'u', 1 }, { 'V', 2 }, { 'v', 2 }, { 'W', 3 }, { 'w', 3 }, { 'X', 4 }, { 'x', 4 }, { 'Y', 5 }, { 'y', 5 }, { 'Z', 6 }, { 'z', 6 } }; }
map < char, int > select_map( int choice ) { switch( choice ) { case 1: { return make_pythagorean_map(); } case 2: { return make_simpleeng_map(); } case 3: { return make_gfive_map(); } } }
int main() { int cho = 0, d, help, counter = 1, cnt = 0, choice = 0, chosennum = 0, asd = 0, f = 0, x, tab[ 4 ], b = 0, easy, H = 1, sum; char o, c; bool flag; string phrasetwo, str, phrase, str2; string::size_type G, n; vector < pair < int, string > > Datas; do { while( 1 ) { system( "cls" ); cout << "You want to use: " << endl << "1) Pythagorean Gematria" << endl << "2) English/Simple Gematria" << endl << "3) Extra: " << endl << "Gematria with G = 5 " << endl << endl; cin >> phrasetwo; istringstream asd( phrasetwo ); if( !( asd >> d ) || asd >> o ) { system( "cls" ); cout << "You want to use: " << endl << "1) Pythagorean Gematria" << endl << "2) English/Simple Gematria" << endl << "3) Extra: " << endl << "Gematria with G = 5" << endl << endl; } else { cho = stoi( phrasetwo ); if( cho <= 3 && cho >= 1 ) { break; } } } auto m = select_map( cho ); ifstream input( "words.txt" ); ofstream outputhtml( "Results.html" ); while( 1 ) { system( "cls" ); cout << "You want to check:" << '\n' << "1) Number" << '\n' << "2) Phrase" << endl; cin >> phrase; istringstream s( phrase ); if( !( s >> x ) || s >> c ) { system( "cls" ); cout << "You want to check:" << '\n' << "1) Number" << '\n' << "2) Phrase" << endl; } else { choice = stoi( phrase ); if( choice <= 2 && choice >= 1 ) { break; } } } switch( choice ) { case 1: { cout << "Which number do you want to check?: "; while( 1 ) { cin >> phrase; istringstream s( phrase ); if( !( s >> x ) || s >> c ) { cout << endl << "Which number do you want to check?: "; } else { chosennum = stoi( phrase ); break; } } cout << endl << "All results found: " << endl; break; } case 2: { do { flag = false; cout << "Which phrase do you want to check?: "; cin.ignore( numeric_limits < streamsize >::max(), '\n' ); getline( cin, phrase ); for( int i = 0; i < phrase.length(); i++ ) { if( isdigit( phrase[ i ] ) ) { flag = true; } } cout << endl; } while( flag == true ); for( char charr: phrase ) { chosennum += m[ charr ]; } cout << '\t' << phrase << " in gematria = " << chosennum << endl; cout << endl << "All results found: " << endl; break; } } while( getline( input, str ) ) { sum = 0; n = str.find( ',' ); G = n; if( n != string::npos ) { do { tab[ b ] = n; b++; n = str.find( ',', n + 1 ); } while( n != string::npos ); str2 = str.substr( tab[ 3 ] + 1 ); easy = stoi( str2 ); str.resize( G ); b = 0; } for( int i = 0; i < str.length(); i++ ) { if((( int ) str[ i ] ) > 127 ||(( int ) str[ i ] ) < 0 ) { str.clear(); } } for( char charr: str ) { sum += m[ charr ]; } if( sum == chosennum ) { Datas.emplace_back( easy, str ); help = sum; counter++; } } sort( Datas.begin(), Datas.end(), greater < pair < int, string > >() ); outputhtml << "<!DOCTYPE html>" << '\n' << "<html>" << '\n' << "<head>" << '\n' << "<title>Results</title>" << '\n' << '\n' << "<style>" << '\n' << "div.a {" << '\n' << "font-size: 26px;" << '\n' << "color: red;" << '\n' << "}" << '\n' << '\n' << "div.b {" << '\n' << "font-size: 14px;" << '\n' << "color: red;" << '\n' << "text-align: center;" << '\n' << "}" << '\n' << '\n'; outputhtml << "body {" << '\n' << "background-color: #f5f5f0;" << '\n' << "}" << '\n' << '\n' << ".header {" << '\n' << "background: #000000;" << '\n' << "}" << '\n' << '\n' << "img {" << '\n' << "display: block;" << '\n'; outputhtml << "margin-left: auto;" << '\n' << "margin-right: auto;" << '\n' << "width: 20%;" << '\n' << "height: 20%;" << '\n' << "}" << '\n' << '\n'; outputhtml << "td {" << '\n' << "border: 1px solid black;" << '\n' << "border-collapse: collapse;" << '\n' << "font-size: 22px;" << '\n' << "}" << '\n' << '\n' << "th {" << '\n' << "border: 1px solid black;" << '\n' << "border-collapse: collapse;" << '\n' << "font-size: 22px;color: #1a1aff;" << '\n' << "}" << '\n' << '\n'; outputhtml << "table.center {" << '\n' << "margin-left:auto;" << '\n' << "margin-right:auto;" << '\n' << "text-align: center;" << '\n' << "}" << '\n' << "</style>" << '\n' << "</head>" << '\n' << "<body>" << '\n' << '\n'; outputhtml << "<div class=" << '\"' << "header" << '\"' << ">" << '\n' << "<img src=" << '\"' << "logo/eye.webp" << '\"' << " alt=" << '\"' << "The All Seeing Eye" << '\"' << "/>" << '\n' << "</div>" << '\n' << '\n'; outputhtml << "<table class=" << '\"' << "center" << '\"' << ">" << '\n' << "<thead>" << '\n' << "<tr> <th> Index <th> Phrase <th> Gematria Value <th> Searches" << '\n' << "<tbody>" << '\n'; for( const auto & e: Datas ) { cout << "No[" << H << "]: " << e.second << '\t' << '\t' << '\t' << "Value In Gematria: " << help << '\t' << '\t' << '\t' << "Search Number: " << e.first << '\n'; outputhtml << "<tr> <td>" << H << "<td>" << e.second << "<td>" << help << "<td>" << e.first << '\n'; H++; } H = 1; outputhtml << "</table>" << '\n' << '\n' << "<br>" << '\n' << "<br>" << '\n' << "<div class=" << '\"' << "a" << '\"' << "><b>You have found: " <<( counter - 1 ) << " phrases</b></div>" << '\n' << "</br>" << '\n' << "</br>" << '\n' << "<div class=" << '\"' << "b" << '\"' << "><b>Gematrix Database from May 28th 2020</b><br>Have fun with decoding</br></div>" << "</body>" << '\n' << "</html>"; cout << "\n\n You have found: " <<( counter - 1 ) << " phrases" << '\n'; ShellExecute( NULL, "open", "Results.html", NULL, NULL, SW_SHOWDEFAULT ); } while( check() ); }
A to lista bledow: 1>------ Kompilacja rozpoczęta: Projekt: Gematria Calculator 1, Konfiguracja: Debug Win32 ------ 1>Gematria Calculator 1.cpp 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(329,59): warning C4003: zbyt mało argumentów wywołania makra podobnego do funkcji „max” 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(329,59): error C2589: "(": niedozwolony token po prawej stronie "::" 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(329): error C2144: błąd składniowy: „unknown-type” powinno być poprzedzone „)” 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(329): error C2144: błąd składniowy: „unknown-type” powinno być poprzedzone „;” 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(329,59): error C2059: błąd składniowy: „)” 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(329,70): error C2059: błąd składniowy: „)” 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(332,35): warning C4018: "<": niezgodność typu ze znakiem/bez znaku 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(373,31): warning C4018: "<": niezgodność typu ze znakiem/bez znaku 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(417,78): error C2664: „HINSTANCE ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT)”: nie można dokonać konwersji argumentu 2 z „const char [5]” do „LPCWSTR” 1>C:\Users\Lenovo\Desktop\Gematria Calculator 1\Gematria Calculator 1\Gematria Calculator 1.cpp(417,28): message : Wskazane typy nie są powiązane; konwersja wymaga operatora reinterpret_cast, rzutowania w stylu języka C lub rzutowania w stylu funkcji 1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\shellapi.h(87,22): message : zobacz deklarację „ShellExecuteW” 1>Kompilowanie projektu „Gematria Calculator 1.vcxproj” wykonane — NIEPOWODZENIE. ========== Kompilacja: 0 zakończono powodzeniem, 1 zakończono niepowodzeniem, 0 zaktualizowano, 0 pominięto ==========
Drugi problem jest taki ze gdy chcialem zrobic niekonczace sie dzialanie programu (po tym jak uzytkownik wcisnie jakikolwiek guzik program zaczyna od nowa dzialanie) zaczelo zle liczyc. Cos sie popsulo. Dodalem tylko to na poczatku: do { ...tutaj caly kod programu z funkcji main } while( check() );
...tu koniec programu
O co chodzi? Mam tez pytanie czy zaimplementowalem jakies biblioteki ktorych nie uzywam? |