błąd: " no match for 'operator=='in'slowo[1]==q' a ja nie potrafię naprawić

0
using namespace std;
#include <ctime>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <cstdio>
#include <cstdlib>
#include <math.h>


int wylosujwyraz(string &wyraz)
{ 
	int t[15], a;
	srand(time(NULL)); 
	ifstream wej("zwierzeta.txt"); 
	a=(rand()%10); 
	for(int i=0; i<=a; i++) 
	{
	wej>>wyraz;
	}
}

int wylosujwyraz1(string &wyraz)
{ 
	int t[15], a;
	srand(time(NULL)); 
	ifstream wej("informatyka.txt"); 
	a=(rand()%10);
	for(int i=0; i<=a; i++) 
	{
	wej>>wyraz;
	}
}

int wylosujwyraz2(string &wyraz)
{ 
	int t[15], a;
	srand(time(NULL)); 
	ifstream wej("kwiaty.txt"); 
	a=(rand()%10);
	for(int i=0; i<=a; i++) 
	{
	wej>>wyraz;
	}
}

int wylosujwyraz3(string &wyraz)
{ 
	int t[15], a;
	srand(time(NULL)); 
	ifstream wej("zima.txt"); 
	a=(rand()%10);
	for(int i=0; i<=a; i++) 
	{
	wej>>wyraz;
	}
}

int wylosujwyraz4(string &wyraz)
{ 
	int t[15], a;
	srand(time(NULL)); 
	ifstream wej("lato.txt"); 
	a=(rand()%10);
	for(int i=0; i<=a; i++) 
	{
	wej>>wyraz;
	}
}

int wylosujwyraz5(string &wyraz)
{ 
	int t[15], a;
	srand(time(NULL)); 
	ifstream wej("inne.txt"); 
	a=(rand()%10);
	for(int i=0; i<=a; i++) 
	{
	wej>>wyraz;
	}
}

main()
{
  int zwierzeta, informatyka, zima, lato, kwiaty, inne, a;
  string wyraz;
  cout<<"wybierz kategorie (kwiaty, zwierzeta, inne, lato, zima, informatyka):  ";
  cin>>a;
  if(a==zwierzeta)
    { 
    string wyraz;
	wylosujwyraz(wyraz);
	cout<<wyraz;
	return 0;
}
 if(a==informatyka)
   { 
    string wyraz;
	wylosujwyraz1(wyraz);
	cout<<wyraz;
	return 0;
}
if(a==zima)
  { 
    string wyraz;
	wylosujwyraz2(wyraz);
	cout<<wyraz;
	return 0;
}
if(a==lato)
  { 
    string wyraz;
	wylosujwyraz3(wyraz);
	cout<<wyraz;
	return 0;
}
if(a==kwiaty)
  { 
    string wyraz;
	wylosujwyraz4(wyraz);
	cout<<wyraz;
	return 0;
}
if(a==inne)
  { 
    string wyraz;
	wylosujwyraz5(wyraz);
	cout<<wyraz;
	return 0;
}
char slowo[wyraz.size()];
 cin>>wyraz;
for(int j=0; j<=wyraz.size(); j++)
{
cout<<"Podaj litere: ";
string q;
cin>>q;
slowo[1]=a;
slowo[2]=2;
slowo[3]=3;
slowo[4]=4;
slowo[5]=5;
slowo[6]=6;
slowo[7]=7;
slowo[8]=8;
slowo[9]=9;
slowo[10]=10;
if(a==q){
slowo[1]=q;
if(slowo[2]==q)
slowo[2]=q;
if(slowo[3]==q)
slowo[3]=q; 
if(slowo[4]==q)
slowo[4]=q;
if(slowo[5]==q)
slowo[5]=q;
if(slowo[6]==q)
slowo[6]=q;
if(slowo[7]==q)
slowo[7]=q;
if(slowo[8]==q)
slowo[8]=q;
if(slowo[9]==q)
slowo[9]=q;
if(slowo[10]==q)
slowo[10]=q;
else 
cout<<"*"<<endl;
}}
cout<<"WYRAZ TO: ";
cout<<wyraz;
cout<<"KONIEC GRY";
return 0;
system ("pause");

a i zapomniałam wspomnieć, że jest to gra wisielec.. I NIE JESTEM NORMALNYM PROGRAMISTĄ.. dopiero się uczę...

0

A czego się niby spodziewasz? Twoja zmienna a to int a zmienna q to string. Nie da sie ich porównać. Co jest wg ciebie większe 1 czy kot? ;]

0

nie musisz być niemiły... ale dziękuję..

no dobrze, zmieniłam że obie są int, ale teraz mi nie podstawia pod "_ _ _ _ _ " słów

0

No oczywiście że nie, bo do inta nie da sie wpisać słowa. Twój problem polega na tym że nie rozumiesz co sie w tym kodzie dzieje. Niestety ale nikt inny zapewne też nie. Usuń to i napisz jeszcze raz, tym razem myśląc.

1

no dobrze, zmieniłam że obie są int, ale teraz mi nie podstawia pod "_ _ _ _ _ " słów

Włóż trochę serca w opisywanie błędów, bo będziesz dostawał bluzgi a nie tylko "niemiłe odpowiedzi".

2

A ja radzę napisz najpierw CO CHCESZ ZROBIĆ, bo ustalanie tego na podstawie tak źle napisanego kodu jest w zasadzie niemożliwe.
W następnej kolejność opisz dokładnie JAKI MASZ BŁĄD (jeśli błąd kompilatora to copy paste jest dobrym rozwiązaniem).
Na koniec nie bądź taki przewrażliwiony, nikt cię nie potraktował z góry (każdy kiedyś zaczynał), ale swoją nadwrażliwością, zapowiadająca postawę roszczeniową, możesz odstraszyć od siebie społeczność.

1 użytkowników online, w tym zalogowanych: 0, gości: 1