26. august 2002 - 18:34Der er
20 kommentarer og 1 løsning
Simpel kode
Hejsa
I min skole skal jeg til at lære C++. og vi har fået udleveret en bog vi skal læse, og det har jeg gjodt, og jeg har skrevet følgende kode: /* Opgave 1.1 -- Lav et program som: */ /* a. indlæser en startkapital & en slutkapital.*/ /* b. Beregner og udskriver kapitalens tilvækst i procent */
#include <stdio.h>
void main() { int start, slut, til, tile;
printf("Skriv din startkapital: "); scanf("%f", &start); printf("Skriv din slutkapital: "); scanf("%f", &slut);
til = (((slut - start) * 100) / slut);
printf("Tilvækst: %d", til); }
(i turbo c++)
men den siger Division med nul eller numerisk overløb, hva betyder det ??
Bare om det var fra hans bog ? Hvis du skal igang med c++ kan jeg anbefale Kris Jamsa's bog c++. Den giver ikke den dybe viden men er god(og til at betale) til at starte på.
Alle datatyper er i sidste ende bytes, dvs. nuller og et-taller. Hver datatype er repræsenteret af bytes på sin egen måde, dvs. at hvis man forsøge at læse en variabel af typen float som om den var en int, så opstår der en fejl. Hvis man gerne vil lave en type om til en anden kan man gøre følgende:
Forskellen er at tal ikke nødvendigvis er det samme tal!!!. Der er ingen decimaler i en int. Det er der på en float. Derfor bliver de "gemt" forskelligt. Prøv at læse op på de forskellige datatyper.
int: Denne datatype kan kun repræsentere heltal, dvs. -6, 5, 432,...
float: denne datatype kan repræsentere decimaltal, som man ofte angiver med et f efter tallene. Eks.: 0.0f 46.8f 0.654f
Jeg tror dit problem er at du ser på tallene som om de står på et stykke papir. I det tilfælde er der ikke den store forskel på tallene, men det er der når en computer skal repræsentere dem ved hjælp af bytes. Det bliver vi bare nødt til at leve med ;-)
For at gøre forvirring endnu større, så findes der en type mere til decimaltal. Denne type hedder double og den er mere præcis end float, dvs den kan indeholde flere cifre end float. Compilerens standart type for decimaltal er double, så for at fortælle compileren at vores tal er et float tal er vi nødt til at føje f'et til. Man kunne således fristes til at tro at man så lige så godt altid kan bruge typen double, men her har float en fordel, idet den optager mindre hukommelse. Man skal således selv vælge hvad der er vigtigst, præcision eller at spare hukommelse.
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.