Kommandozeile..Aufgabe
-
Nein. Es ist aber vorstellbar, das andere dies für dich tun, insbesondere, wenn Geld ins Spiel kommt.
-
Ich hab 20 Cent
und diesen Code:
http://www.directupload.net/file/d/4171/qkftvap3_png.htm
Benutze ich die Atof Funktion richtig?
Danke Sepp, bist einfach der Beste
-
Du kannst auch in einer Referenz zu
atof
nachsehen:
http://www.cplusplus.com/reference/cstdlib/atof/?kw=atof
oder
http://en.cppreference.com/w/c/string/byte/atofatof
erwartet einen Zeiger auf einen C-String. Die Elemente vonargv
sind Zeiger auf C-Strings.Du kannst so aber nicht feststellen, ob in dem C-String eine gültige Fließkommazahl steht.
Und kurzen Code kannst du direkt posten, dann aber zwischen Code-Tags.
(je Länger der Code, desto weniger schauen den an)
-
Zeilen 16 und 17 können doch niemals compilieren. So ruft man keine Funktionen auf. Ansonsten ist das doch gar nicht so weit von einem korrekten Ergebnis entfernt. Fehlt nur noch eine Analyse des Rechenzeichens.
-
Kexplx schrieb:
Kexplx schrieb:
Bitte direkt hier schreiben und keine Links auf externe Seiten.
-
Furble Wurble schrieb:
Bitte direkt hier schreiben und keine Links auf externe Seiten.
Hey! Jetzt sehe ich, dass ihm das schon mehrmals gesagt wurde. Dann ist es wohl Zeit, seine Beiträge zu ignorieren, bis er es endlich lernt.
-
Ok habs hinbekommen.
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { double x,y,z; if(argc<4) { printf("Zu wenig Parameter"); } x=atof(argv[1]); y=atof(argv[3]); switch(argv[2][0]){ case '+': z=x+y; break; case '-': z=x-y; break; default: printf("\n Falsche Operationszeichen!"); break; } printf("%s %s %s = %.2f",argv[1],argv[2],argv[3],z); }
Als erstes möchte ich meiner Mutter danken die mich die ganzen Jahre unterstützt hat und natürlich SeppJ, der wie ein Bruder für mich da war. In guten sowie in schlechten Zeiten.
-
Sieht solide aus.
-
Ahhh. Endlich kein verlinktes png mehr...
Wenn Du das Programm verlassen willst, z.B. weil nicht genügend Kommandozeilenargumente übergeben wurde, kannste natürlich schon vorher ein return einbauen.
if(argc<4) { puts("Zu wenig Parameter"); // puts() ist wie printf("%s\n", ...); nur kuerzer return -1; }
Werte !=0 (hier -1) bedeuten üblicherweise "Fehler".
-
Negative Werte als main-Return sind Nonsens.