Hej!
Stanąłem zupełnie przy jednej rzeczy, która ma uprzyjemnić poruszanie się po moim menu.
Dokładniej, to chodzi mi o to, żeby po wybraniu np. opcji numer 2 strzałka wskazująca pozostała przy tej opcji, a nie cofała się do początku (na samą górę). A już w ogóle bajką byłoby, gdyby strzałka po kolejnym naciśnięciu "w" lub "s" dalej ruszała się jak przedtem, czyli w górę i w dół.
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
int renderuj(string *tab,int rozmiar)
{
int wyb = 1;
char wybor;
while(true)
{
system(" cls ");
cout << tab[0] << endl;
for(int i=1; i<rozmiar; i++)
{
if(wyb == i) cout << "->>";
cout << tab[i] << endl;
}
wybor = getch();
if(wybor=='w') { if(wyb==1) continue; wyb -= 1;}
else if(wybor=='s') { if(wyb==rozmiar-1) continue; wyb += 1;}
else if(wybor=='d') { return wyb;}
else if(wybor=='e') { wyb += 100; return wyb;}
else if(wybor=='a') { wyb += 200; return wyb;}
}
}
int main()
{
system ("color a");
{
while (true)
{
const int rozmiar = 5;
string tab[rozmiar];
tab[0] = " --------------- WYBIERZ JAK\244\227 OPCJ\250 ---------------\n";
tab[1] = " Fajna opcja";
tab[2] = " Jeszcze fajniejsza opcja";
tab[3] = " Najfajniejsza opcja";
tab[4] = " Wyjd\253 \n\n\n \"w\" i \"s\" - g\242ra / d\242\210\n \"d\" - wyb\242r \n \"e\" - szczeg\242\210y\n\n--------------------------------------------------------------";
int wybor = renderuj(tab,rozmiar);
if (wybor==1) {cout<<"\nWybra\210e\230 opcj\251 1";}
else if (wybor==2) {cout<<"\nWybra\210e\230 opcj\251 2";}
else if (wybor==3) {cout<<"\nWybra\210e\230 opcj\251 3";}
else if (wybor==4) {break;}
else if (wybor==101) {cout<<"\n\n Szczeg\242\210y opcji 1";}
else if (wybor==102) {cout<<"\n\n Szczeg\242\210y opcji 2";}
else if (wybor==103) {cout<<"\n\n Szczeg\242\210y opcji 3";}
else if (wybor==201) {break;}
else if (wybor==301) {break;}
getch();
}
}
return (0);
}