20. august 2004 - 20:37
Der er
17 kommentarer og 2 løsninger
hvad har ejg gjort galt?
når jeg kører mit program kommer jeg ind i min menu... ved at trykke 2 som leder mig videre ind i Dec - Hex udregning... alle udregninger er rigtige osv... men jeg har et problem... under min udregning i valg2 (case '2') kommer der en række nuller.... og det er jo ikke helt holdbart... har spurgt min programmerings lære men han kan heller ikke finde ud af hvad det er... håber i kan hjælpe. (her er mit program) /* Jonas Rasmussen DFT Uddannelse 2004 */ #include <conio.h> #include <stdio.h> void dectobin(); void dectohex(); void bintodec(); void menuet(); void ramme(); void menuto(); char decibina; int i; int a; int l; int b; int hex; unsigned dec; unsigned bin; unsigned bum; unsigned ciffer; unsigned bit; int main(void) { clrscr(); ramme(); menuet(); menuto(); dectobin(); return 0; } void ramme() { _setcursortype(_NOCURSOR); textbackground(WHITE); textcolor(561); clrscr(); for(int i=21;i<58;i++) { gotoxy(i,5); cprintf("%c",205); } for(int a=6;a<21;a++) { gotoxy(20,a); cprintf("%c",186); } for(int l=21;l<58;l++) { gotoxy(l,21); cprintf("%c",205); } for(int b=5;b<21;b++) { gotoxy(58,b+1); cprintf("%c",186); } gotoxy(20,5); cprintf("%c",201); gotoxy(20,21); cprintf("%c",200); gotoxy(58,5); cprintf("%c",187); gotoxy(58,21); cprintf("%c",188); } void menuet() { gotoxy(22,6); cprintf("Tryk 1 for at regne decimal til bin"); gotoxy(22,7); cprintf("Tryk 2 for at regne decimal til hex"); } void menuto() { decibina=getch(); switch(decibina) { case '1': clrscr(); ramme(); gotoxy(22,6); cprintf("Dec til Bin: "); gotoxy(35,6); cscanf("%u",&dec); gotoxy(22,8); cprintf("Dit tal i Bin: "); dectobin(); break; case '2': clrscr(); ramme(); gotoxy(22,6); cprintf("Dec til Hex: "); cscanf("%u",&hex); gotoxy(35,7); cprintf("Dit tal i Hex: %X",hex); getch(); break; } } void dectobin() { bit=0x8000; gotoxy(36,8); for(bum = 0; bum < 16; bum++) { ciffer = (bit & dec) ?1:0; cprintf("%u",ciffer); bit /= 2; } getch(); }
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
20. august 2004 - 20:44
#1
int main(void) { clrscr(); ramme(); menuet(); menuto(); dectobin(); // <---- her kalder du dectobin uanset valg og den laver nuller return 0; }
20. august 2004 - 20:47
#2
den må du lige uddybe... det er 2. uge jeg programmerer så du må lige tage den langsomt!
20. august 2004 - 20:49
#3
Jeg tror bare at du skal slette den linie !
20. august 2004 - 20:53
#4
ja det gjorde jeg, og satte en getch(); ind... så virkede det optimalt :D mange tak skal du havee! jeg går ud fra at du skal lave et "svar" for at du kan få de point ikke?
20. august 2004 - 20:54
#5
kommer her
20. august 2004 - 20:55
#6
ooh og lige en anden ting... hvad skal jeg gøre for at kunne gå tilbage i main menuen igen? (skal nok betale for det spørgsmål også...) altså helst så man kan fortsætte ud i en uendelighed
20. august 2004 - 20:56
#7
Du skal have en løkke omkring.
20. august 2004 - 20:58
#8
char cont; do { // de linier der skal udføre sflere gange // ... // prompt for fortsætte Y/N cont = getch(); } while((cont=='Y') || (cont=='y'));
20. august 2004 - 20:59
#9
Jeg kan også godt lige merge: int main(void) { char cont; do { clrscr(); ramme(); menuet(); menuto(); cprintf("Vil du fortsætte Y/N: "); cont = getch(); } while((cont=='Y') || (cont=='y')); return 0; }
20. august 2004 - 21:03
#10
øøøv forstår ikke helt hvad du mener.... det jeg har gjort indtil videre ser sådan her ud: char cont; do { decibina=getch(); switch(decibina) { case '1': clrscr(); ramme(); gotoxy(22,6); cprintf("Dec til Bin: "); gotoxy(35,6); cscanf("%u",&dec); gotoxy(22,8); cprintf("Dit tal i Bin: "); dectobin(); break; case '2': clrscr(); ramme(); gotoxy(22,6); cprintf("Dec til Hex: "); cscanf("%u",&hex); gotoxy(22 gotoxy(22,8); cprintf("Dit tal i Hex: %X",hex); getch(); break; cont = getch(); } while((cont=='Y') || (cont=='y')); /* hvad skal der ske ud over dette? :) */
20. august 2004 - 21:10
#11
ok.. accepterer lige igen... mange tak for hjælpen
20. august 2004 - 21:11
#12
hmm kan ikke acceptere igen... forklar mig lige hvordan du så kan få dem
20. august 2004 - 21:16
#13
Du skal markere mit navn så det bliver blåt og så klikke accepter
20. august 2004 - 21:17
#14
Put løkken ude i main som i mit 20:59:47 eksempel
20. august 2004 - 23:05
#15
sorry arne men forstår ikke lige hvordan jeg skal give dig de der point... kan jeg evt. lave en tråd hvor du svarer og jeg giver dig pointene?
20. august 2004 - 23:07
#16
Ja Men lad os lige prøve en sidste gang Jeg ligger et svar igen Du klikker på mit navn ude i combo boxen så det bliver blåt Du klikker accepter
20. august 2004 - 23:21
#17
ok.... har du fået dem nu? :D
20. august 2004 - 23:21
#18
Jeps !
20. august 2004 - 23:36
#19
fint jeg takker mange gange og fortsætter med mit projekt her ;) snakkes
Kurser inden for grundlæggende programmering