#include <sstream>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
int grupa_1();
{
int podgrupa;
std::string strNapis;
std::cout << "Podaj Pierwszy Znak : ";
std::cin >> strNapis;
int liczba;
std::cout << "Podaj wartosc : ";
std::cin >> liczba;
std::string strNapis_2;
std::cout << "Podaj drugi Znak : ";
std::cin >> strNapis_2;
int liczba_2;
std::cout << "Podaj wartosc : ";
std::cin >> liczba_2;
std::string strNapis_3;
std::cout << "Podaj trzeci Znak : ";
std::cin >> strNapis_3;
int liczba_3;
std::cout << "Podaj wartosc : ";
std::cin >> liczba_3;
std::string strNapis_4;
std::cout << "Podaj czwarty Znak : ";
std::cin >> strNapis_4;
int liczba_4;
std::cout << "Podaj wartosc : ";
std::cin >> liczba_4;
//suma kontrolna
std::cout << strNapis << liczba << strNapis_2 << liczba_2 << strNapis_3 << liczba_3 << strNapis_4 << liczba_4 << std::endl;
int grupa_2();
{
int podgrupa_2;
std::string strNapis_5;
std::cout << "Podaj Pierwszy Znak Drugiej Grupy : ";
std::cin >> strNapis_5;
int liczba_5;
std::cout << "Podaj wartosc : ";
std::cin >> liczba_5;
//suma kontrolna2
std::cout << strNapis << liczba << std::endl;
//zamiana znaku na liczbe
string str = "strNapis";
int i;
istringstream iss(str);
iss >> i;
string str_2 = "strNapis_2";
int i_2;
istringstream iss_2(str_2);
iss_2 >> i_2;
string str_3 = "strNapis_3";
int i_3;
istringstream iss_3(str_3);
iss_3 >> i_3;
string str_4 = "strNapis_4";
int i_4;
istringstream iss_4(str_4);
iss_4 >> i_4;
string str_5 = "strNapis_5";
int i_5;
istringstream iss_5(str_5);
iss_5 >> i_5;
if ( i_5 == i )
{
std::cout << " warunek który powinien być spełniony przy wciśnięciu np. jako strNapis D i jako strNapis_5 D " << std::endl;
}
else
{
std::cout << " jesli warunek nie zostanie spelniony czyli strNapis bedzie rozne od strNapis_5 to wyswietli sie to co tu napisalem" << std::endl;
}
}
}
}
1. Podaję literę np. D
2. Podaję drugą literę D (także D aby spełnić zależność)
3. Konwertuję litery na cyfry którymi są reprezentowane w komputerze
4. Porównuje czy "cyfry D" są takie same jak "cyfry D" z drugiego podpunktu
5 Jeżeli tak to.... dalsza instrukcja np. przy wyświetlaniu, jeżeli nie wyświetl tekst który ustawiłem
Czy to co chcę zrobić w praktyce jest możliwe ?. Jeśli tak to dlaczego zawsze bez względu na to czy D = D czy D = R zawsze wskakuje else
jak powinienem to zrobić ?. Jeżeli int jest 4 bajtowy to rozumiem, że część tych bajtów zostanie obcięta. Tak czy siak przy przy obcięte zostanie i "i" i "i_5" więc jeśli będzie to 2x np. to wynik powinien być sobie równy. Dobrze myślę ?.
gdyby napis składał się np "3938" to zostałby zapisany do int, ale nie zamienisz tak zwykłego stringa na liczbę (wydrukuj na ekran i to zobaczysz tam 0). String przecież jest tablicą (naprawdę kontenterem) liczb 8bitowych. Jeżli instrukcja string1 == string2 porównuje napisy to tak naprawdę podrównuje po kolei wszystkie wartości w kolejnych bajtach. Co zatem chcesz zrobić? Można zrobić hash stringa np. 8 znaków (ale bez polskich) w long long int który jest 8B-towy