c rechnung
-
(D)Evil schrieb:
std::cout << (10.0f / 3.0f) << std::endl;? Wofür da casten und überhaupt ne Variable anlegen?
Die deklaration der int könnte ja dazu dienen ein Minimalbeispiel zu erstellen während die int im Zielprogramm aus irgendwelchen funktionen zurückgeliefert werden.
-
#include <stdio.h> #include <stdlib.h> int main() { char z = 'C'; printf("Wert : %d ->(ASCII-codiert)->%c\n" ,z,z); system("PAUSE"); return 0; }Könnte hier zu noch eine Erklärung gebrauchen

und zwar warum steht am Ende von printf zweimal ,z,z?
Könnte es mir so erklären weil 2mal nach z verlangt wird, ist dies Richtig?
-
Könnte es mir so erklären weil 2mal nach z verlangt wird, ist dies Richtig?
Ja du willst ja einmal den Dez Wert und einmal den ASCII wert
-
habe noch etwas

Angenommen, ein Autor erhält 5% Honorar pro verkauftes uch, das mit einem Verkaufspreis von 15,95 Euro angesetzt ist. Wie viele Bücher muss er verkaufen, damit er Millionär wird?
Könntet ihr mir dafür bitte den C Code geben der für einen totalen NEULING lesbar ist und ihn vllt noch ein bisschen erklären

Danke
-
Hausaufgabe machen wir eigentlich nicht...
Aber als Anleitung:
Rechne mal 5% von 15,95 aus und dann dividiere 1000000 durch diesen wert...
Ist genau eine zeile Code...Sind geschätzt 1,2 Mio Bücher
-
Na ist doch simple Prozentrechnung ...
-
#include <stdio.h> #include <stdlib.h> int main() { double rechnung, honorar_vb = 5, buch = 15,95; double honorar; honorar = 19,95/100*5; buch = 1000000/honorar printf("Honoraranteil : %f\n", honorar); printf("Wiviele Bücher er verkaufen muss um Millionär zu werden : %lf\n", buch); system("PAUSE"); return 0; }was mach ich denn hier falsch

-
hmm du glaubst das % das selbe ist wie die mathematische Prozentrechnung. % ist ein Modulo-Operator.
#include <stdio.h> #include <stdlib.h> int main() { double honorar = 5 / 100 * 15,95; // p / 100 * G buch = honorar/1000000 printf("Honoraranteil: %f\n", honorar); printf("Wiviele Bücher er verkaufen muss um Millionär zu werden : %lf\n, (1000000 / honorar)); }...
-
#include <stdio.h> #include <stdlib.h> int main() { double honorar = 5 / 100 * 15,95; double buch = honorar/1000000; printf("Honoraranteil : %f\n", honorar); printf("Wiviele Bücher er verkaufen muss um Millionär zu werden : %lf\n", buch); system("PAUSE"); return 0; }double honorar = 5 / 100 * 15,95;
hier soll ein syntaxfehler sein?
-
Hallo !
Michael991 schrieb:
#include <stdio.h> #include <stdlib.h> int main() { double rechnung, honorar_vb = 5, buch = 15,95; // 15.95 -> Punkt statt Komma double honorar; honorar = 19,95/100*5; // Modulo geändert, ok, aber trotzdem Punkt statt Komma buch = 1000000/honorar printf("Honoraranteil : %f\n, honorar); // String-Ende Zeichen, die Gänschefüßchen rechts fehlen. printf("Wiviele Bücher er verkaufen muss um Millionär zu werden : %lf\n", buch); system("PAUSE"); return 0; }was mach ich denn hier falsch

Die Fehler habe ich dir mal kommentiert.
Hast du einen stummen Kompiler der dir die Fehler nicht anzeigt ?
-
Michael991 schrieb:
double honorar = 5 / 100 * 15,95;
hier soll ein syntaxfehler sein?
Bingo !!! Ersetze das Komma durch einen Dezimalpunkt .

Edit: Da hat sich das eine oder andere Posting überschnitten.
-
#include <stdio.h> #include <stdlib.h> int main() { double rechnung, honorar_vb = 5, buch = 15.95; double honorar; honorar = 15.95/100*5; buch = honorar/1000000; printf("Honoraranteil : %lf\n", honorar); printf("Wiviele Buecher er verkaufen muss um Millionaer zu werden : %lf\n", buch); system("PAUSE"); return 0; }ok er führt es aus, aber:
Honoraranteil = 0,797500 (Euro?)
Buecher die er verkaufen muss um Millonaer zu werden: o,ooooo1
Hat das seine Richtigkeit?
-
habe jetzte buch = 1000000/honorar;
statt buch = honorar/1000000;eingegeben.
Jetzt kommt raus: 1253918.495298
Sind aber ne ganze Menge Bücher, wie kann ich denn es so machen das die Zahl aufgerundet ist oder nur 2Stellen nach dem Komma anzeigt?
-
Noch etwas
:#include <stdio.h> #include <stdlib.h> int main() { char z1 = 'W', z2 = 'X', z3 = '66'; printf("z1 = %c z2 = %c z3 = %d \n", z1,z2,z3); system("PAUSE"); return 0; }warum wird mir bei z3 54 angezeigt und nicht 66?
Edit: Hab den Fehler schon ^^
-
Michael991 schrieb:
habe jetzte buch = 1000000/honorar;
statt buch = honorar/1000000;eingegeben.
Jetzt kommt raus: 1253918.495298
Sind aber ne ganze Menge Bücher, wie kann ich denn es so machen das die Zahl aufgerundet ist oder nur 2Stellen nach dem Komma anzeigt?
Ich bin zwar in C nicht so ganz fix aber eines der folgenden könnte das erledigen:
double d; printf("Auf zwei Stellen: %.2f", d);//< warscheinlicher printf("Auf zwei Stellen: %2f", d);//< sonst soprintf() bekommt doch pointer ...
EDIT:// scheinbar nicht ...
-
Hab deine Rechnung nicht kontrolliert ... aber sollte falsch sein

#include <stdio.h> #include <stdlib.h> int main() { double honorar = 5 / 100 * 15.95; // p / 100 * G printf("Honoraranteil: %.2f\n", honorar); printf("Wiviele Bücher er verkaufen muss um Millionär zu werden : %lf\n, (1000000 / honorar)); }wäre wohl korrekt ...
und zum anderen:
#include <stdio.h> #include <stdlib.h> int main() { char z1 = 'W'; char z2 = 'X'; int z3 = 66; printf("z1 = %c z2 = %c z3 = %d \n", z1, z2, z3); printf("z1 = %c z2 = %c z3 = %c \n", z1, z2, z3); }...
-
Danke!
#include <stdio.h> #include <stdlib.h> int main() { char z1 = 'W', z2 = 'X', z3 = 66; printf("z1 = %c z2 = %c z3 = %d \n", z1,z2,z3); system("PAUSE"); return 0; }funktioniert aber auch

-
hmm jap. Ist aber etwas tricky

du weißt halt erst dem char z3 das Zeichen mit dem ASCII-Code 66 zu. Dann gibst du aber mit printf wieder den ASCII-Code aus, da du %d anstelle von %c genommen hast.