C++ |
Three of Five
Borg
Dabei seit: 01.06.2002
Beiträge: 4.898
Herkunft: Unimatrix 01
Level: 58 [?]
Erfahrungspunkte: 39.229.028
Nächster Level: 41.283.177
|
|
|
30.09.2002 09:11 |
|
|
badman
gehört zum Inventar
Dabei seit: 23.06.2002
Beiträge: 827
Level: 47 [?]
Erfahrungspunkte: 6.605.125
Nächster Level: 7.172.237
|
|
mmm ich kann auch a bissl c++, aber ich mag mathe und physik mehr als informatik, computer sind mir zu unlogisch und kompliziert
ich benutze (wenn ichs benutze) ms visual c++, hab das mal von meiner praktikumsstelle inner 10 (oder wann das war) bekommen
neulich hab ich mir mal den borland c++ builder gezogen, aber der is nich so leicht verständlich wie das ms prog
__________________ ..Bedenkt deshalb: Ein Blinken in eurer Taskleiste kann das Ende eures Lebens wie ihr es kennt bedeuten...
|
|
30.09.2002 11:11 |
|
|
BWF
Nervensäge
Dabei seit: 01.06.2002
Beiträge: 63
Level: 33 [?]
Erfahrungspunkte: 504.579
Nächster Level: 555.345
|
|
benutz einfach ne while schleife:
long i, h;
i = 1;
h = 1;
while(i <= 1000000)
{
h = h*i;
i++;
}
wie das ganze am schluss mit dieser umgebung dann ausgegeben wird, kann ich dir aber net sagen...
p.s.: oben gennates kann man bei normalem c++ ohne umgebung und beim borland-c++-builder benutzen...
|
|
30.09.2002 19:04 |
|
|
Three of Five
Borg
Dabei seit: 01.06.2002
Beiträge: 4.898
Herkunft: Unimatrix 01
Level: 58 [?]
Erfahrungspunkte: 39.229.028
Nächster Level: 41.283.177
|
|
|
30.09.2002 19:26 |
|
|
BWF
Nervensäge
Dabei seit: 01.06.2002
Beiträge: 63
Level: 33 [?]
Erfahrungspunkte: 504.579
Nächster Level: 555.345
|
|
also:
Neu -> Quelldatei
Zitat: |
#include <iostream>
using namespace std;
int main()
{
double i, h; //variablenvereinbarung (i und h)
i = 1; // i und h wird der wert 1 zugewiesen
h = 1;
while(i <= 1000000) //eine while-schleife, die solange h mit i multipliziert und i um 1
{ //hochzählt, solange i kleiner-gleich einer millionen ist
h = i*h;
i++;
}
cout << h; //ausgabe des endproduktes
return 0; //beendung der funktion main()
}
|
|
und dann strg+F9 zum compilieren, starten allerdings in der eingabeaufforderung, da sich das text-prog net offen hält...
es wird eine fehlermeldung beim ausführen kommen, was damit zusammenhängt, dass die fakultät von 1000000 "etwas" groß is, selbst für double...die "//" kannst du lassen, da damit ein einzeiliges kommentar eingeleitet wird...
das programm ist auch nur ganz grob ohne irgendwelche besonderheiten...ich hoffe aber trotzdem, dir geholfen zu haben...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von BWF: 01.10.2002 15:31.
|
|
01.10.2002 15:30 |
|
|
Three of Five
Borg
Dabei seit: 01.06.2002
Beiträge: 4.898
Herkunft: Unimatrix 01
Level: 58 [?]
Erfahrungspunkte: 39.229.028
Nächster Level: 41.283.177
|
|
ich weiß, ein double wert reicht da net
matti (mod3000) meinte, das prob kann man einem string aus charwerten umgehn
irgendwie muss es zu lösen sein, denn der windoof taschenrechner könnte es
da muss man allerdings alle 2min auf fortsetzen klicken, weil er sich beschwert das die rechnung sehr lange dauert
und ginge es, das er die zahl dann als textdatei ausgibt?
und der name dann Fakultät x.txt
irgendwie müsste das gehn
[edit]
habs erstmal abgetippt und etwas verändert
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
// Begrüßung
cout << "Dies ist ein Programm zur Berechnung beliebiger Fakultäten\n Bitte geben sie eine ganze Zahl ein!\n Die Fakultät von: ";
//variablenvereinbarung (i, fak und erg)
unsigned long int i;
unsigned long int fak;
double erg;
char quit;
// Eingabe von fak
cin >> fak;
// i und erg wird der wert 1 zugewiesen
i = 1;
erg = 1;
//eine while-schleife, die solange h mit i multipliziert und i um 1
//hochzählt, solange i kleiner-gleich fak ist
while(i <= fak)
{
erg = i*erg;
i++;
cout << "Bitte warten - Vorgang läuft\n";
}
// Ergebnis
cout << "Die Fakultät von "fak" beträgt: \n"erg"\n";
cout << "Beliebige Taste zum schließen Tippen";
cin >> quit;
return 0;
}
|
|
bekomm aber den fehler
Zitat: |
29 E:\DevCPP\Fakultätenrechner\main.cpp
parse error before string constant
|
|
help
__________________ We are the Borg!
Resistance is futile!
the hellboard - join the community now!
maddin.org - Full Metal Pictures - Konzertbilder und mehr
|
|
01.10.2002 16:18 |
|
|
BWF
Nervensäge
Dabei seit: 01.06.2002
Beiträge: 63
Level: 33 [?]
Erfahrungspunkte: 504.579
Nächster Level: 555.345
|
|
für was liest du "stdlib.h" ein? brauchst du doch gar net...du kannst außerdem in main() die argumente weglassen, brauchste ja auch net...
zur lösung:
Zitat: |
cout << "Die Fakultät von " << fak << " beträgt: \n" << erg << "\n";
|
|
anstatt:
Zitat: |
cout << "Die Fakultät von "fak" beträgt: \n"erg"\n";
|
|
speichern geht auch, bin aber im buch noch net so weit, müsste mal weitermachen
|
|
01.10.2002 18:13 |
|
|
Three of Five
Borg
Dabei seit: 01.06.2002
Beiträge: 4.898
Herkunft: Unimatrix 01
Level: 58 [?]
Erfahrungspunkte: 39.229.028
Nächster Level: 41.283.177
|
|
tjo, habs mittlerweile auch rausgefunden
nun 2 weitere probs, naja, ein neues, das andere ist bekannt
1)
code: |
1:
2:
3:
4:
5:
6:
|
while(i <= fak)
{
erg = i*erg;
i++;
cout << "Bitte warten - Vorgang laeuft\n";
} |
|
da bräucht ich irgend ne delay funktion
so das das "Bitte warten" nur noch alle, z.B. 10 sekunden kommt
und dann halt ne ahnung, wie ich das mit dem zahlenbereich löse
__________________ We are the Borg!
Resistance is futile!
the hellboard - join the community now!
maddin.org - Full Metal Pictures - Konzertbilder und mehr
|
|
01.10.2002 18:23 |
|
|
Three of Five
Borg
Dabei seit: 01.06.2002
Beiträge: 4.898
Herkunft: Unimatrix 01
Level: 58 [?]
Erfahrungspunkte: 39.229.028
Nächster Level: 41.283.177
|
|
|
01.10.2002 19:06 |
|
|
BWF
Nervensäge
Dabei seit: 01.06.2002
Beiträge: 63
Level: 33 [?]
Erfahrungspunkte: 504.579
Nächster Level: 555.345
|
|
was meinst du mit verknüpfen?
|
|
01.10.2002 19:43 |
|
|
badman
gehört zum Inventar
Dabei seit: 23.06.2002
Beiträge: 827
Level: 47 [?]
Erfahrungspunkte: 6.605.125
Nächster Level: 7.172.237
|
|
mmm ich glaube, um grosse zahlen miteinander zu multiplizieren, muss man die schriftliche division mit chars einsetzen
und vektoren benutzen für die chars
weil man mit dem vorgegeben * nix machn kann
__________________ ..Bedenkt deshalb: Ein Blinken in eurer Taskleiste kann das Ende eures Lebens wie ihr es kennt bedeuten...
|
|
01.10.2002 20:36 |
|
|
Three of Five
Borg
Dabei seit: 01.06.2002
Beiträge: 4.898
Herkunft: Unimatrix 01
Level: 58 [?]
Erfahrungspunkte: 39.229.028
Nächster Level: 41.283.177
|
|
|
01.10.2002 20:52 |
|
|
BWF
Nervensäge
Dabei seit: 01.06.2002
Beiträge: 63
Level: 33 [?]
Erfahrungspunkte: 504.579
Nächster Level: 555.345
|
|
Zitat: |
was meinst du mit verknüpfen?
|
|
|
|
01.10.2002 21:12 |
|
|
|
|