Skocz do zawartości

Porowanie Znakow C++


Puszek

Rekomendowane odpowiedzi

wymyslilem aby porwnac liczby musze je zamienic na kod cyferkowy i tak robie:

 

#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;
                              }    
    }
        
    }
    
    
}

 

 

 

pozniej pisze aby wyswietlilo 'cos tam' [if] jezeli i == i_5 lub wyswietlalo 'cos innego' jezeli wynik bedzie rozny [else]...

 

Efektem jest to ze wyswetla zawsze else nawet jesli porownuje znak "D" z "D"

 

pytanie dlaczego i jak to rozwiazac by dzialalo tak jak chce.

Odnośnik do komentarza
Udostępnij na innych stronach

Poprawiłem. Ogólna zasada ma być taka

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

 

Zauważyłem, że program teraz zawsze "spełnia zależność" między tymi zmiennymi mimo iż np. D = R ( a zależność powinna być spełniona wtedy i tylko wtedy gdy D = D

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...