ivancea69 lo ha dicho todo.
Para mí que te has liado por tener mal formateado el código. ¿Es feo, verdad?
Sangra (usa sangrías) el código, coloca las instrucciones del mismo nivel en la misma sangría, las de nivel más profundo en un sangrado de mayor nivel.
Mira, tu mismo código con los mismos errores pero bien formateado. ¿A que ahora se ven?
#include <iostream>
using namespace std;
int main() {
cout << "Ingrese valores para contar cuanto ganan los empleado, para finalizar coloque 0" << endl;
int k;
int valor2,valor3,valor4,valor5;
valor2=0;
valor3=0;
valor4=0;
valor5=0;
cin >> k;
while (k!=0) {
if (k>0 && k<2000) {
valor2++;
}
else if (k>=2000 && k<3000) {
valor3++;
}
else if (k>=3000 && k<5000) {
valor4++;
}
else if (k>=5000) {
valor5++;
cin >> k;
}
cout << "Menos de 2000: " << valor2 << endl;
cout << "Entre 2000 y 3000: " << valor3 << endl;
cout << "Entre 4000 y 5000: " << valor4 << endl;
cout << "Mayor a 5000: " << valor5 << endl;
return 0;
}
}