Ich benötige Hilfe



  • Ich hab erst angefangen mit c++ doch meine Frage ist jetzt warum diese Bruchrechnung in meiner Console so gemischt wie ein Salat auf einmal aussieht weiß jemand was der Fehler ist ?

    #include "stdafx.h"
    #include <iostream>
    #include "gotoxy.h"
    using namespace std;

    void main()
    {
    int auswahl;

    //char Addition[8];
    //char Subtraktion[11];
    //char Multiplikation[14];
    //char Division[8];
    
    
    
    //printf("Mit diesem Programm können sie eine Addition,Subtraktion,Multiplikation und Divison mit Brüchen durchführen");
    //printf("Wählen Sie nun eine von diesen vier Möglichkeiten aus indem sie Addition,Subtraktion,Multiplikation oder Division eingeben");
    //printf("Geben Sie nun an wie sie ihren Bruch rechnen möchten");
    //scanf_s("%s")
    
    cout << "Geben Sie nun an wie sie ihren Bruch rechnen möchten:\n"
    	"1 - Addition\n"
    	"2 - Subtraktion\n"
    	"3 - Multiplikation\n"
    	"4 - Division\n";
    
    cin >> auswahl;
    
    if (auswahl == 1)
    {
    
    	//Bruch 1
    	float Zaehler1;
    	float Nenner1;
    
    	//Bruch 2
    	float Zaehler2;
    	float Nenner2;
    
    	//Bruch 3
    	float Zaehler_e;
    	float Nenner_e;
    
    	//Überschrift
    	printf("**************************************************************\n");
    	printf("Addition von Bruchzahlen\n");
    	printf("**************************************************************\n");
    
    	// Bruch 1 Eingabe
    	printf("Gebe nun den ersten Zaehler ein:");
    	scanf_s("%g", &Zaehler1);
    	printf("Gebe nun den ersten Nenner ein:");
    	scanf_s("%g", &Nenner1);
    
    	//Bruch 2 Eingabe	
    	printf("Gebe nun den zweiten Zaehler ein:");
    	scanf_s("%g", &Zaehler2);
    	printf("Gebe nun den zweiten Nenner ein:");
    	scanf_s("%g", &Nenner2);
    
    	// Deko
    	printf("**************************************************************\n");
    
    	//Rechnung Bruch erweitern
    	Zaehler_e = (Zaehler1 * Nenner2) + (Nenner1 * Zaehler2);
    	Nenner_e = (Nenner1*Nenner2);
    	printf("\n");
    
    	//Bruch 1 Ausgabe 
    	gotoxy(4, 8);
    	printf("%g\n", Zaehler1);
    	gotoxy(2, 9);
    	printf("-----");
    	gotoxy(4, 10);
    	printf("%g\n", Nenner1);
    
    	// Ausgabe "+" Symbol 
    	gotoxy(8, 9);
    	printf("+");
    
    	//Bruch 2 Ausgabe 
    	gotoxy(12, 8);
    	printf("%g\n", Zaehler2);
    	gotoxy(10, 9);
    	printf("-----");
    	gotoxy(12, 10);
    	printf("%g\n", Nenner2);
    
    	//Ausgabe "=" Symbol
    	gotoxy(16, 9);
    	printf("=");
    
    	//Bruch 3 Ausgabe
    	gotoxy(20, 8);
    	printf("%g\n", Zaehler_e);
    	gotoxy(18, 9);
    	printf("-----");
    	gotoxy(20, 10);
    	printf("%g", Nenner_e);
    
    	//Deko
    	printf("\n**************************************************************\n");
    
    	system("pause");




  • Woher hast du denn %g für printf and scanf? Bei floats ist es %f.

    Und du solltest dich entscheiden, welche Sprache du lernen möchtest. Du sschreibst zwar von C++, benutzt auch oben cin und cout aber dann auch wieder printf/scanf und postest im C-Forum.
    Das Mischen solltest du sein lassen.
    Es gibt aber auch noch ein paar andere Sachen wie void main, die Variablendeklaration am Anfang des Scopes (nicht nötig sowohl bei C++ als auch bei C99) den system-Aufruf und generell die Struktur des Programms. Aber fang erst einmal richtig an, das wird schon.



  • @yahendrik sagte in Ich benötige Hilfe:

    Woher hast du denn %g für printf and scanf?

    Wahrscheinlich aus einem Lehrbuch oder einer man-Page zu scanf, bzw printf.

    Bei floats ist es %f

    Und %e und %g
    Während es bei scanf keine Rolle spielt, welcher der drei Spceifier benutz wird, gibt es bei printf jedoch große Auswirkungen.

    Man sollte aber auch nicht von scanf auf printf schließen und umgekehrt. Das sind zwei völlig verschiedene Funktionen.

    Bei double braucht scanfdas lbeim Specifier (%lf), wähjrend bei printfdas %f für double und float gilt.



  • Ja ich hab das in der Schule so beigebracht bekommen und dann dachte ich mir warum kopierst du nicht diese Bruchrechnung und hängst dann noch was davor . Wollte nämlich bisschen was ausprobieren also hab ich im Internet danach geschaut da kam das mit dem cout und dann dachte ich mir ok das nimmst mal klatscht es davor und fertig . Meine Idee war halt Addition,Subtraktion,Division und Multiplikation von Brüchen in eine Datei zu machen und dann wird am Anfang gefragt was man nutzen möchte und dann springt er zum jeweiligen Part aber ich weiß nicht wie ich das machen soll.



  • Aber in C++ cout und cin mit printfund scanf zu mischen ist nicht sinnvoll.
    Benutze in C++ besser nur cout und cin!

    PS: Daher ist dies auch das falsche Unterforum (und einen aussagekräftigeren Titel solltest du auch wählen)!



  • @bubimasterxd sagte in Ich benötige Hilfe:

    warum diese Bruchrechnung in meiner Console so gemischt wie ein Salat auf einmal aussieht weiß jemand was der Fehler ist ?

    Weil du mit dem gotoxy wild auf dem Bildschirm rumschreibst.
    WEnndu normal Text auf ein Blatt schreibst und dann anfängst an irgendeiner Stelle weiter zu schreiben, sieht es ähnlich aus


  • Mod

    @th69 sagte in Ich benötige Hilfe:

    PS: Daher ist dies auch das falsche Unterforum (und einen aussagekräftigeren Titel solltest du auch wählen)!

    Das war durchaus in C++ gefragt, aber ich habe es nach C verschoben, weil der Fragesteller eindeutig C gelernt hat (und vielleicht versehentlich irgendwo ein paar Zeilen C++ aufgeschnappt hat).


Log in to reply