was meinst du mit verknüpfen?
Neue Antwort erstellen
Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Die letzte Antwort auf dieses Thema liegt mehr als 365 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.
Vorherige Beiträge 14
-
-
das sagt mir jetzt viel *g*
kannst das mal für nen cpp noob verständlich machen? -
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 -
was meinst du mit verknüpfen?
-
erg müsste noch tausende male größer als unsigned long sein
das is ja das prob
hab noch ka wie ich die zahlenwerte verknüpfe
hab mal den bisherigen code als txt angehängt -
falls dus nich jedesmal sehen willst, mach z.b.
if ( i%50 == 0)
cout << "bitte warten" << endl;
müsste klappen
ausserdem müsste grade erg unsigned long sein, so wie ich das sehe -
tjo, habs mittlerweile auch rausgefunden
nun 2 weitere probs, naja, ein neues, das andere ist bekannt
1)
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 -
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:
cout << "Die Fakultät von " << fak << " beträgt: \n" << erg << "\n";
anstatt:
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 -
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
C-Quellcode
- #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
29 E:\DevCPP\Fakultätenrechner\main.cpp
parse error before string constant
help -
also:
Neu -> Quelldatei
#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...