14. juni 2002 - 10:00Der er
16 kommentarer og 1 løsning
hjaelp igen....
Hey eksperten
jeg har et problem med mit program habber vi kan hjaelpe mig...
jeg har lavet en del af programmer men ved ikke helt hvad jeg skal goere nu
her er hvad jeg har lavet:
programmer skal: i starten skal den skrive
1. ´du skal gaette et gal mellem 0 og x (max 1000) 2. hvor mange gaet vil du ha? 3. gaet naar du gaetter skal den sige om det er for stort eller for lille og skrive hvor mange gaet du har tilbage... hvis du ikke gaetter det efter det x antal gaet skal den kommer og sige at... du gaetter ikke tallet tallet var fx 523 vil du proeve igen? og hvis du gaetter tallet foer de x antal skal den sige du gaettet rigtigt du bruget x antal gaet ... vil du proeve igen?
ps. hvios det er for mange point eller hvis der er noget du ikke forstaar saa bare spoerg
# include <conio.h> # include <stdio.h> # include <time.h> # include <dos.h> # include <stdlib.h>
int talgen(); void igen();
void main() { int tal, maal;
do { /* Mindst een gang */ clrscr(); maal = talgen(); printf("Skriv et tal mellem 0 og 1000: "); scanf("%d", &tal); if(tal == maal) printf("Du gaettede rigtigt! :D n"); else if(tal < maal) printf("Tallet er for lille.n"); else printf("Tallet er for stort.n"); } while (igen() == 'm');
return; }
char igen(void) { char ch; printf("Hvis du vil proeve igen, skal du taste: m"); ch = getch(); return ch; }
int talgen() { int a; randomize(); a=random(1000); return a; }
int main(int argc, char* argv[]) { int tal, maxTal, gaet, nbrGaet, maxGaet; char yesNo;
do { clrscr(); cprintf("GÆT ET TAL\r\n"); cprintf("==========\r\n\r\n");
do { cprintf("Indtast øvre grænse (1-1000) : "); cscanf("%i", &maxTal); } while (maxTal < 0 || maxTal > 1000); if (maxTal == 0) break; cprintf("\r\n");
do { cprintf("Indtast maximale antal gæt (1-1000): "); cscanf("%i", &maxGaet); } while (maxGaet < 0 || maxGaet > 1000); if (maxGaet == 0) break; cprintf("\r\n");
tal = 1 + rand() % maxTal; nbrGaet = 0; clrscr(); cprintf("ok - så starter vi ... \r\n"); do { cprintf("Indtast gæt nr. %i: ", ++nbrGaet); cscanf("%i", &gaet);
if (gaet == tal) { cprintf("Tillykke - du gættede tallet %i på %i gæt.\r\n", tal, nbrGaet); break; } else { if (tal < gaet) cprintf("\n\r%i : %i er for HØJT.\r\n", nbrGaet, gaet); else cprintf("\r\n%i : %i er for LAVT.\r\n", nbrGaet, gaet); }; } while (gaet != 0 && nbrGaet < maxGaet); if (gaet == 0) { cprintf("OK - så slutter vi før tid - tallet var %i.\r\n", tal); break; };
cprintf("Vil du prøve igen (J/N) "); while ((yesNo = getch()) != 'n' && yesNo != 'N' && yesNo != 'j' && yesNo != 'J'); } while (yesNo != 'n' && yesNo != 'N');
cprintf("Tryk på en TAST for at afslutte."); getch(); return 0; }
zob >> Sandsynligvis fordi hans compiler ligesom min er til Windows, dvs. bruger ISO9600 tegnsættet, mens DOS-applikationer (on DOS console applications) anvender ASCII - og så kan du ikke paste d.o. kode direkte ind - for æ, ø og å bliver så vist forkert.
1: vaelge minimum tal: xx 2: vaelge maximum tal: xx (max 1000) 3: hvor mange gaet vil du bruge: xx (max 25) (nu siger vi at man vaelger min 0 max 1000 og max gaet 5) 4: du skal gaette et tal mellem 0 og 1000 gaet 1: (skriv dit gaet fx 500) 5: tallet var for hoejt gaet 2: (1) 6:tallet var for lille gaet 3: 300 tallet var for stort OSV. hvis du gaetter tallet skal den self sige DU GAETTET RIGTIGT VIL DU PROEVE IGEN? Y/N og kommer med de tal man har gaettet paa... du gaettet på 500 / 300 / 1 / xxx hvis du ikke gaetter tallet skal programmet sige DU HAR IKKE FLERE GAETTALLET VAR xxx VILDU PROEVE IGEN? Y/N
//Prøv med den her... Hvis jeg har husket det hele, skulle den gøre lige //hvad du vil ha den til //PS!!! Hvis ikke du bruger Windows, kan det godt være du skal fjerne _ //fra funktionerne _flushall og _getch, og jeg ved ikke om system("cls") //overhoved findes på andre platforme, men det var også bare for at //slette indholdet i vinduet hver gang der spilles en omgang
hmm jeg har fundet udaf noget andet men du faar bare point
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.