15. august 2003 - 09:25
Der er
16 kommentarer og 1 løsning
Skal lave en lodret bar i tekstmode
Jeg skal lave en lodret bar i tekstmode som skal stige og falde afhængig af en bestemt variabel Den skal gå fra bund til top i højre side af skærmen. Har kun arbejdet lidt med C/C++ så det er lidt sort for mig.
Annonceindlæg fra FPT Software
15. august 2003 - 09:34
#1
Er i gang med at lave den... håber jeg... hehe....
15. august 2003 - 09:46
#2
Hvordan ser koden ud til den anden du har?? den i vandret??
15. august 2003 - 10:06
#3
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include <graphics.h> void TEGN(int tal); void main(void) { clrscr(); TEGN(100/10); // % / 10 getch(); textbackground(BLACK); } void TEGN(int tal) { if(tal >= 1) { for(int j=0;j<4;j++) { gotoxy(75+j,44); textcolor(GREEN); cprintf("x"); } cprintf("\n\r"); } if(tal >= 2) { for(int j=0;j<4;j++) { gotoxy(75+j,43); textcolor(GREEN); cprintf("x"); } cprintf("\n\r"); } if(tal >= 3) { for(int j=0;j<4;j++) { gotoxy(75+j,42); textcolor(GREEN); cprintf("x"); } cprintf("\n\r"); } if(tal >= 4) { for(int j=0;j<4;j++) { gotoxy(75+j,41); textcolor(GREEN); cprintf("x"); } cprintf("\n\r"); } if(tal >= 5) { for(int j=0;j<4;j++) { gotoxy(75+j,40); textcolor(GREEN); cprintf("x"); } cprintf("\n\r"); } if(tal >= 6) { for(int j=0;j<4;j++) { gotoxy(75+j,39); textcolor(YELLOW); cprintf("x"); } cprintf("\n\r"); } if(tal >= 7) { for(int j=0;j<4;j++) { gotoxy(75+j,38); textcolor(YELLOW); cprintf("x"); } cprintf("\n\r"); } if(tal >= 8) { for(int j=0;j<4;j++) { gotoxy(75+j,37); textcolor(RED); cprintf("x"); } cprintf("\n\r"); } if(tal >= 9) { for(int j=0;j<4;j++) { gotoxy(75+j,36); textcolor(RED); cprintf("x"); } cprintf("\n\r"); } if(tal >= 10) { for(int j=0;j<4;j++) { gotoxy(75+j,35); textcolor(RED); cprintf("x"); } cprintf("\n\r"); } }
15. august 2003 - 10:13
#4
Hvor har du egentlig klasseværelse?? har lige været oppe på øverste sal, var ihvertfald ikke der vi var dengang....
15. august 2003 - 10:19
#5
vi er i 326 bygning c. har en ide med at opbygge det hele i en case. sidder lige og eksperimenterer lidt med det.
15. august 2003 - 10:23
#6
en noget nemmere og mindre kode: #include <stdlib.h> #include <conio.h> void TEGN(int tal); void main(void) { clrscr(); TEGN(100); getch(); } void TEGN(int tal) { tal = tal/10; for(int i=0;i<tal;i++) { for(int j=0;j<4;j++) { gotoxy(75+j,44-i); if(i <= 4) textcolor(GREEN); if(i > 4 && i <= 7) textcolor(YELLOW); if(i >= 8) textcolor(RED); cprintf("x"); } } }
15. august 2003 - 10:30
#7
bygning c?? er det ikke der HTX er?? hvad sal er det så på?
15. august 2003 - 10:31
#8
øverst oppe i lokale 326.
15. august 2003 - 10:32
#9
sorry bygning E..
15. august 2003 - 11:25
#10
Det her burde være mere kompatibelt, alt afhængig af om skærmen er 80*25 eller 80*50, bare ændre MAXY.. #include <stdlib.h> #include <conio.h> #include <stdio.h> void TEGN(int tal); void main(void) { clrscr(); TEGN(100); getch(); } void TEGN(int tal) { int MAXX = 80; float MAXY = 25; // S‘t til 25 ell 50 alt afh‘ngig af sk‘rmst›rrelse tal = (tal/10); float g = (tal*(MAXY/10)); for(int i=0;i< g ;i++) { for(int j=0;j<4;j++) { gotoxy(75+j,MAXY-i); if(i <= (MAXY-15)) textcolor(GREEN); if(i > (MAXY-14) && i <= (MAXY-5)) textcolor(YELLOW); if(i >= (MAXY-4)) textcolor(RED); cprintf("²"); } } }
15. august 2003 - 11:25
#11
bare spørg videre hvis du vil have hjælp :o)
15. august 2003 - 12:41
#12
Her er en noget ændret udgave af programmet: #include <stdlib.h> #include <conio.h> #include <stdio.h> #define MAXX 80 #define MAXY 25 void tegn(int tal[3]) { int i,sum; int x,y; float frac[3]; sum=0; for(i=0;i<3;i++) sum+=tal[i]; for(i=0;i<3;i++) frac[i]=((double)tal[i])/sum+((i>0)?frac[i-1]:0.0); for(x=MAXX-4;x<=MAXX;x++) { for(y=1;y<=MAXY;y++) { gotoxy(x,y); if(y<frac[0]*MAXY) textbackground(GREEN); else if(y<frac[1]*MAXY) textbackground(YELLOW); else if(y<frac[2]*MAXY) textbackground(RED); cprintf(" "); } } } int main() { int tal[3] = { 5, 10, 15 }; clrscr(); tegn(tal); getch(); }
15. august 2003 - 14:37
#13
hehe, blærerøv :o).... Meen, når der står han ikke kender så meget til C++, så ville det måske være smart med noget nemt, især da hans lærer også skal se det...
15. august 2003 - 14:38
#14
hvad er det helt de 3 tal i tal[3] bliver brugt til?? hehe
15. august 2003 - 14:38
#15
er det ikke nemmere at man skriver TEGN(97); hvor det så er i % ??
15. august 2003 - 14:48
#16
tal er bare en fordeling som i frac bliver omregnet til andel. Og det var kun for at illustrere forskellige ting: - background og space til at tegne med - #define - lidt anden måde at håndtere X,Y koordinaterne på
21. august 2003 - 09:36
#17
Kan ikke lige følge med i arne's forklaring men forstår din mcgoat....
Kurser inden for grundlæggende programmering