Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Gowno gowniane ;x


Rekomendowane odpowiedzi

Opublikowano

Jak zrobic ze gdy jest wprowadzone zle haslo, pokazuje "Złe hasło! Spróbuj ponownie"?

Do nauki ;x

#include <iostream>
#include <conio.h>
#include <string>
void main()
{
	std::string Wprowadzone;
	do
	{
	std::cout << "Wprowadz haslo: ";
	std::cin >> Wprowadzone;
	if (Wprowadzone >= "Wtf");
	std::cout << "Zle haslo, sprobuj ponownie: ";
	} while(Wprowadzone != "Wtf");
	std::cout << "Haslo jest poprawne.";
	getch();
}

 

 

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano
#include <iostream>
#include <conio.h>
#include <string>
void main()
{
	std::string Wprowadzone;
	do
	{
	   std::cout << "Wprowadz haslo: ";
	   std::cin >> Wprowadzone;
	   if (Wprowadzone != "Wtf")
	      std::cout << "Zle haslo, sprobuj ponownie: ";
	} while(Wprowadzone != "Wtf");
	std::cout << "Haslo jest poprawne.";
	getch();
}

Po if nie stawiamy średnika i stringów nie porównuje się przez >=. Jak jeden string może być większy od innego? :D

Opublikowano

 

#include <iostream>
#include <conio.h>
#include <string>
void main()
{
	std::string Wprowadzone;
	do
	{
	   std::cout << "Wprowadz haslo: ";
	   std::cin >> Wprowadzone;
	   if (Wprowadzone != "Wtf")
	      std::cout << "Zle haslo, sprobuj ponownie: ";
	} while(Wprowadzone != "Wtf");
	std::cout << "Haslo jest poprawne.";
	getch();
}

Po if nie stawiamy średnika i stringów nie porównuje się przez >=. Jak jeden string może być większy od innego? :D

haha nie, dalem to tylko dla przykladu bo bylo samo if.. ;d

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano
#include <iostream>
#include <string>
void pass()
{
    std::string wprowadzone;
    do
    {
        std::cout << "Podaj haslo do programu: ";
        std::cin >> wprowadzone;
        if (wprowadzone != "youtube")
        std::cout << "Bledne haslo! Sprobuj ponownie!" << std::endl;
} while(wprowadzone != "youtube");
}
 

a wiesz moze jak tutaj zrobic, ze gdy wpisujesz haslo wyswietla sie zamaskowane? jako " * "

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

Coś takiego zrobiłem:

#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
	string wprowadzone;
	do
	{
		wprowadzone="";
		while(true)
		{		
			char c;
			c = getch();
			if(c == 13) break;
			wprowadzone+=c;
			cout<<"*";
		}
		if(wprowadzone!="youtube") cout<<endl<<"Zle haslo!"<<endl;
	} while(wprowadzone != "youtube");
	cout<<"Haslo przyjete!"<<endl;
	cin.sync();
	cin.get();
	return 0;
}
Opublikowano

 

Coś takiego zrobiłem:

#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
	string wprowadzone;
	do
	{
		wprowadzone="";
		while(true)
		{		
			char c;
			c = getch();
			if(c == 13) break;
			wprowadzone+=c;
			cout<<"*";
		}
		if(wprowadzone!="youtube") cout<<endl<<"Zle haslo!"<<endl;
	} while(wprowadzone != "youtube");
	cout<<"Haslo przyjete!"<<endl;
	cin.sync();
	cin.get();
	return 0;
}

backspace wtedy nie dziala ;x

 

a tak odbiegajac juz od hasla etc., co poradzic na to if?

 

#include <iostream>
#include <conio.h>
#include <string>
#include <ctime>
std::string komenda;
void polecenie()
{
	std::cout << "Podaj komende: ";
	std::cin >> komenda;
}
void main()
{
	std::cout << "Witaj w CMD by Bumek662!\nWpisz /help aby uzyskac liste dostepnych komend!\n";
	polecenie();
	if (komenda != "/help");
	std::cout << "test";
	if (komenda != "/gra");
	std::cout << "gra";
}

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano
Opublikowano

to, żebyś jeszcze raz przeczytał to zdanie.

kuzwa jebany jestem zawsze zapominam ..

 

@edit

 

nadal cos jest zle, po kolei sie wyswietla.

 

#include <iostream>
#include <conio.h>
#include <string>
std::string komenda;
void polecenie()
{
	std::cout << "Podaj komende: ";
	std::cin >> komenda;
}
void main()
{
	std::cout << "Witaj w CMD by Bumek662!\nWpisz /help aby uzyskac liste dostepnych komend!\n";
	polecenie();
	if (komenda != "/help")
	std::cout << "test";
	polecenie();
	if (komenda != "/gra")
	std::cout << "gra";
	polecenie();
}

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

nie wiem co co ci chodzi, ale pewnie masz zły warunek w ifach... W sensie sprawdzasz czy NIE JEST równe

#include <iostream>
#include <conio.h>
#include <string>
	std::string komenda;
void polecenie()
{
	std::cout << "Podaj komende: ";
	std::cin >> komenda;
}
void main()
{
	std::cout << "Witaj w CMD by Bumek662!\nWpisz /help aby uzyskac liste dostepnych komend!\n";
	polecenie();
	if (komenda == "/help")
	std::cout << "test";
	polecenie();
	if (komenda == "/gra")
	std::cout << "gra";
	polecenie();
}

 

a teraz co jest zle?

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

Wszystko jest poprawnie. Tylko nikt nie wie co chcesz uzyskać

po wpisaniu /help wyswietla sie tekst "test" (to narazie tylko test) a po wpisaniu /gra - wyswietla sie tekst "gra" - chyba mam skorzystać z pętli " do ... while" nie?

bo tak to nie idzie

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

Nie chodziło czasem o to?

#include <iostream>
#include <conio.h>
#include <string>
std::string komenda;
void polecenie()
{
	std::cout << "Podaj komende: ";
	std::cin >> komenda;
}
int main()
{
	std::cout << "Witaj w CMD by Bumek662!\nWpisz /help aby uzyskac liste dostepnyc komend!\n";
        while(true)
        {
              polecenie();
              switch(komenda)
              {
                   case "/help": std::cout<<"test"; break;
                   case "/gra": std::cout<<"gra"; break;
              }
        }
        return 0
}

 

No i zamiast

void main()
{
}

 

robimy

int main()
{
     return 0;
}
Opublikowano

tylko ze switch nie dziala w "string" tylko w liczbach. blad wywala ;x

 

@edit

zrobilem:

 

#include <iostream>
#include <conio.h>
#include <string>
	std::string komenda;
void polecenie()
{
	std::cout << "Podaj komende: ";
	std::cin >> komenda;
}
int main()
{
	std::cout << "Witaj w CMD by Bumek662!\nWpisz /pomoc aby uzyskac liste dostepnych komend!\n";
	polecenie();
	do
	{
	if (komenda == "/pomoc")
	{
	std::cout << "/pomoc - wyswietla liste komend\n";
	polecenie();
	}
	if (komenda == "/gra")
	{
	std::cout << "gra";
	polecenie();
	}
	if (komenda != "/pomoc")
	if (komenda != "/gra")
	{
	std::cout << "Komenda nieprawidlowa. Wpisz /pomoc aby uzyskac liste komend." << std::endl;
	polecenie();
	}
	}while(komenda != "q");
	return 0;
}

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

Po if nie stawiamy średnika i stringów nie porównuje się przez >=. Jak jeden string może być większy od innego? :D

Polecam naukę podstaw.
int main(){
char a = 'a';
char b = 'b';
if (b>a) {
printf("char b jest wiekszy od a poniewaz:\n a=%#x \n b=%#x\n", a, ;
}
return 0;
}


 

Opublikowano

 

Polecam naukę podstaw.

int main(){
char a = 'a';
char b = 'b';
if (b>a) {
printf("char b jest wiekszy od a poniewaz:\n a=%#x \n b=%#x\n", a, ;
}
return 0;
}

Ja mówiłem o stringach, nie o char'ach :) W tym wypadku to oczywiste bo char jest zwykłym bajtem.

Opublikowano

eh. zabawne, a czym Twoim zdaniem jest string, jak nie obiektem klasy string, który przechowuje ciąg znaków, które też są bajtami, co chyba logiczne?:

#include <string>

#include <cstdio>

#include <cstdlib>

using namespace std;

 

int main(){

string a = "a";

string b = "b";

string abc = "abc";

string def = "def";

if (b>a) {

printf("b jest wiekszy od a!\n");

}

else{

printf("b jest mniejszy od a!\n");

}

 

if (def>abc){printf("def jest wiekszy od abc!\n");}else{printf("abc jest wiekszy od def!\n");}

return 0;

}


 

Opublikowano

up.

ale nie jest to "pełnoprawne" porównywanie (w sensie porównywanie wartości). To tylko sprawdzenie, który wyraz jest leksykoblablabla pierwszy

Opublikowano

Możesz porównać bajt z bajtem, ale nie string z stringiem (jeżeli jest dłuższy niż 4/8 znaków)*.... W tym wypadku możesz to robić tylko ze względu na przeciążenie operatorów, ale string, bez żadnych klas to po prostu ciąg znaków, których nie mozesz tak po prostu porównać...

Bo czym jest ciąg znaków w c++? Jest to adres tego ciągu znaków i jeżeli użyjesz po prostu == > < itd. to porównywujesz ich adresy w pamięci.

Żeby sprawdzić czy stringi są sobie równe musisz po prostu przejechać po jednym bajcie z każdego z nich i je porównywać.

 

I co ma w takim wypadku robić operator > ? nie jest to oczywiste, może np. sprawdzić ich długość, sume znaków, wszystko zależy od implematacji takiego operatora w tej klasie, wiec nie ma to sensu...

 

*możesz załadować string jako liczbe i to porównać, ale tylko do stringów do 8 znaków (na 64bitach), lub mniej. Lecz to również nie ma sensu,

Pisze boty do gier WWW na zlecenie.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...