Prikaži potpunu verziju : Meni u Turbo C-u...HITNO
Treba mi za skolu da napravim meni za moj program. Dodushe imam takvu profesoricu da je bash briga sta radimo na chasu, a kad je neko nesto pita ona odgovori samo "to je tako". E sad posto je njoj bitniji lepshi interfejs nego korisnost programa, meni programa ce najvishe uticati na nju.
Problem:
Meni treba da ima nekoliko opcija (3-4) koje ce biti ispisane na ekranu, ali one treba da se biraju pomocu strelica. I ona koja je trenutno selektovana da bude druge boje, i kad se stisne 'enter' onda da se udje u taj deo menija.
Ovo nikako ne kontam, jer ne znam kako da koristim strelice. :kreza:
Ako nije nekom problem da mi to napishe, i za opcije da koristi stringove, npr. a, b, c... da bih to mogao da koristim kao funkciju.
Ajte, nije valjda da niko ne zna.:icon_scra
Da moze u nekom drugom prog. jeziku da se uradi ne bi bio problem, ovako tesko...
Mrzi me sad da isprobavam da li je sintaksa ispravna, ali to bi trebalo da izgleda otprilike ovako (ako meni ima npr. 4 opcije), pa ti to "prevedi" na C i stavi odgovarajuæe funkcije iz conio.h koje sam promašio. Na enter se potvrðuje izbor, na 'A' i 'Z' se bira gore i dole.
#include <stdio.h>
#include <conio.h>
int meni() {
int trenutni_izbor = 1; // od 1 do 4
int key; // pritisnut taster
while (1) // odnosno "while true"
{
// ispisuje opcije
GotoXY(5, 5); printf(" Opcija 1");
GotoXY(5, 6); printf(" Opcija 2");
GotoXY(5, 7); printf(" Opcija 3");
GotoXY(5, 8); printf(" Opcija 4");
// ispisuje zvezdicu ispred izabranog izbora
switch (trenutni_izbor) {
case 1: GotoXY(5, 5); printf("*"); break;
case 1: GotoXY(5, 6); printf("*"); break;
case 1: GotoXY(5, 7); printf("*"); break;
case 1: GotoXY(5, 8); printf("*"); break;
}
key = getch();
if (key == 13) break; // ako je pritisnut enter, iskaèe iz petlje
if ((key == 'A') || (key == 'a')) { // ako nije, koriguje trenutni izbor i ide ponovo
if (trenutni_izbor == 1) trenutni_izbor = 4; else trenutni_izbor--;
}
if ((key == 'Z') || (key == 'z')) { // ako nije, koriguje trenutni izbor i ide ponovo
if (trenutni_izbor == 4) trenutni_izbor = 1; else trenutni_izbor++;
}
}
return trenutni_izbor;
}
Onda samo pozoveš funkciju meni iz programa, i èekaš da ti vrati neki rezultat koji je korisnik izabrao, od 1 do 4.
Ako hoæeš strelice umesto A i Z, naði njihove kodove u helpu Turbo C-a. Isto tako, ako hoæeš boju umesto ispisivanja zvezdice ispred izabrane opcije, podesi je pre ispisivanja konkretnog teksta preko funkcije SetColor ili tako nešto (zaboravio sam, nisam radio u Turbo C-u pet godina najmanje).
Crazy Shadow
16.2.2008, 15:44
Evo ti interfejs iz jednog mog programcica.
cout<<"\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»";
cout<<"\n\t\tº V I D E O K L U B M I L I C º";
cout<<"\n\t\tÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº 1. CLANOVI º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº 2. FILMOVI º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº 3.About º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tº º";
cout<<"\n\t\tºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ";
cout<<"\n\t\tº 4. KRAJ RADA º";
cout<<"\n\t\tºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ";
cout<<"\n\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ";
cout<<"\n";
cout<<"\n\t\tÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ";
cout<<"\n\t\t Operator:";cin>>a;
Nisi ga najbolje razumeo... njemu treba interaktivni meni, kao npr. na mobilnom telefonu ili igrama na konzolama.
-> duschan, Borland-ov C kompajler dolazi sa gotovim vizuelnim kontrolama za 16-bitne DOS programe pod nazivom Turbo Vision. Te kontrole omoguæavaju da se prave programi kakav je recimo stari Borland C IDE (BC.EXE) sa sve menijima, prozorima, dugmiæima... i sve to u konzoli pomoæu miša. E sad, problem je što ne znam da li Turbo C dolazi sa ovim kontrolama. Za one koji ne znaju, Turbo C je osakaæena (akademska) verzija Borland C kompajlera i IDE-a. Ako imaš punu verziju Borland C kompajlera sa instaliranim svime što dolazi uz njega, onda potraži primere koji dolaze uz njega jer tamo ima Turbo Vision primera. Neka stara pre Windows verzija Borland C-a, tipa 3.11 ili 4.0, bi ti najbolje došla.
Drugi naèin je da ruèno napraviš nešto pomoæu stvari koje nudi "conio.h", kao u voodoo-ovom primeru.
Treæi naèin je da u asembleru napišeš svoje rutine za baratanje sa konzolskim izlazom.
-> duschan, Borland-ov C kompajler dolazi sa gotovim vizuelnim kontrolama za 16-bitne DOS programe pod nazivom Turbo Vision. Te kontrole omoguæavaju da se prave programi kakav je recimo stari Borland C IDE (BC.EXE) sa sve menijima, prozorima, dugmiæima... i sve to u konzoli pomoæu miša. E sad, problem je što ne znam da li Turbo C dolazi sa ovim kontrolama. Za one koji ne znaju, Turbo C je osakaæena (akademska) verzija Borland C kompajlera i IDE-a. Ako imaš punu verziju Borland C kompajlera sa instaliranim svime što dolazi uz njega, onda potraži primere koji dolaze uz njega jer tamo ima Turbo Vision primera. Neka stara pre Windows verzija Borland C-a, tipa 3.11 ili 4.0, bi ti najbolje došla.
Drugi naèin je da ruèno napraviš nešto pomoæu stvari koje nudi "conio.h", kao u voodoo-ovom primeru.
Treæi naèin je da u asembleru napišeš svoje rutine za baratanje sa konzolskim izlazom.
U TC-u nema Turbo Visiona.
@vodoo
E to mi je trebalo. Napravicu to da menja boje, i to je to. A sto se strelica tiche nema veze, i to cu lako (valjda) napraviti. Hvala josh jednom.
Kratko pitanje:
Kako da me na primer iz sredine programa izbaci na kraj. jel se za to koristi naredba exit(1); ili shta.
Kratko pitanje 2:
Treba da na kraju programa otshtampam ovo:
http://img02.picoodle.com/img/img02/4/2/16/t_kravicam_942e9ae.jpg (http://www.picoodle.com/view.php?img=/4/2/16/f_kravicam_942e9ae.jpg&srv=img02)
Kako da otshtampam znak ".
Konto sam da bih mogao chitavu kravu da stavim u jedan string i da ga onda shtampam red po red, ali jel ima lakshi nachin, ili mora ovako kako sam ja zamislio, i da li to uopste moze da se uradi kako sam ja zamislio.
" -> \"
Ako ti je lakse, "kravu" uvek mozes da drzis u eksternom tekstualnom fajlu ciji bi sadrzaj jednostavno ispisao na konzoli, cisto da ti kod ne bi bio nepregledan.
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.