Jeszcze wczoraj program działał, a teraz jak już go skończyłem dziwne napisy wyświetla i nie spełnia swojego zadania. Nagrałem film z tym problemem obejrzcie go: KLIK
Macie jeszcze screenshot ostrzeżeń KLIK
I kod:
// Ta aplikacja wyznaczy tajny kod według twojego imienia lub jakiegoś wyrazu :)
#include "stdafx.h"
#include <iostream>
#include <locale>
#include <cstdio>
#include <windows.h>
#include <cstdlib>
#include <conio.h>
#include <algorithm>
#include <iomanip>
using namespace std;
void changecol(int numofcol)
{
HANDLE Kolor;
Kolor = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(Kolor, numofcol);
}
int polecenie;
int main()
{
SetConsoleTitleA("Kod Imienia Lub Wyrazu");
setlocale(LC_ALL, "polish"); //Ustawienie polskich znaków
cout << setprecision(1000);
for (;;)
{
system("cls");
polecenie = 0;
changecol(3);
cout << " Ten program wyznaczy tajny kod dla twojego imienia!" << endl;
changecol(15);
cout << "======================================MENU======================================";
changecol(10);
cout << "1. Start Programu" << endl;
cout << "2. Zasada działania" << endl;
cout << "3. Zamknij program" << endl;
changecol(15);
cout << "================================================================================";
cout << " Wpisz numer polecenia: ";
cin >> polecenie;
if (polecenie == 1)
{
const int tabD = 27;
char tab[tabD] = { ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
changecol(10);
system("cls");
cout << "===========================Wpisz swoje imię lub wyraz===========================";
string imie;
cout << endl << endl << endl;
cin.ignore();
getline(cin, imie);
int dlugosc = imie.length();
if (dlugosc > 20)
{
changecol(4);
cout << "Twój wyraz: " << "ma " << dlugosc << "/20 znaków. Niestety trzeba zamknąć program :(";
Sleep(5000);
exit(0);
}
else
{
transform(imie.begin(), imie.end(), imie.begin(), ::toupper);
int i3;
int i2;
long double liczba[20];
int razy;
cout << endl << endl;
for (razy = 0; razy < 40; razy++)
{
liczba[razy] = 50;
}
for (i2 = 0; i2 < dlugosc; i2++)
{
for (i3 = 0; i3 < tabD; i3++)
{
if (imie[i2] == tab[i3]) liczba[i2] = i3;
}
}
for (int i6 = 0; i6 < dlugosc; i6++)
{
if (liczba[i6] == 50)
{
changecol(4);
cout << "No, w konsoli trudno jest zamienić polskie znaki na zwykłe, więc lepiej wpisz" << endl << "bez polskich znaków" << endl << endl << "Niestety trzeba wyłączyć program, bo napotkał krytyczny błąd";
cout << endl << endl << "Dane wyjściowe: "; changecol(4); cout << imie;
Sleep(7000);
exit(0);
}
}
cout << "Wprowadzony wyraz: " << imie << endl << endl << "Naciśnij dowolny klawisz, aby obliczyć kod..." << endl;
_getch();
long double mnoznik = 0.1;
for (int i7 = 0; i7 < dlugosc; i7++)
{
mnoznik = mnoznik * 10;
liczba[i7] = liczba[i7] * mnoznik;
cout << liczba[i7] << endl;
}
long double kod;
for (int skl = dlugosc; skl < 20; skl++)
{
liczba[skl] = 0;
}
kod = liczba[0] + liczba[1] + liczba[2] + liczba[3] + liczba[4] + liczba[5] + liczba[6] + liczba[7] + liczba[8] + liczba[9] + liczba[10] + liczba[11] + liczba[12] + liczba[13] + liczba[14] + liczba[15] + liczba[16] + liczba[17] + liczba[18] + liczba[19];
cout << kod;
_getch();
}
}
else if (polecenie == 2)
{
cout << "Narazie ten program nie działa :(";
_getch();
}
else if (polecenie == 3)
{
changecol(7);
system("cls");
cout << "Zamykanie...";
Sleep(500);
exit(0);
}
else if (cin.fail())
{
cout << "Ktoś tu chyba nie umie wpisać polecenia :(((";
Sleep(2000);
cin.clear();
cin.sync();
continue;
}
else
{
cout << "Ktoś tu chyba nie umie wpisać polecenia :(((";
Sleep(2000);
}
}
return(0);
}