Ascii



  • Das funktioniert ebenfalls nicht.
    Habe es mit dem Wert 112 für p und und so:
    if(auswahl==p)
    versucht.



  • Zeig vollständigen Code, definiere "funktioniert nicht".



  • ich kann das programm nicht debuggen.
    Es kommt die Fehlermeldung, dass p nicht definiert ist.



  • Dulfried schrieb:

    ich kann das programm nicht debuggen.
    Es kommt die Fehlermeldung, dass p nicht definiert ist.

    Dann hast du dein Programm falsch geschrieben. Schreib Code, wir können nicht hellsehen!



  • Nachdem ich beim debuggen p eingebe kommt folgende Fehlermeldung: Ausnahmefehler bei 0x5153BBC2 (msvcr120d.dll) in 12. Umwandlung neu.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000000

    #define _CRT_SECURE_NO_DEPRECATE
    
    #include<stdlib.h>
    #include<stdio.h>
    #include<iostream>
    #include<math.h>
    #include<windows.h>
    
    int main()
    {
    	double x = 0;
    	double y = 0;
    	double r;
    	double w;
    	double bogenmass;
    	char auswahl = 0;
    	int p = 112;
    
    	printf("Wollen Sie in Polarkoordinaten umwandeln oder in kartesische Koordinaten?\n");
    	printf("Polarkoordinate --> p kartesische Koordinaten -->k\n");
    	scanf("%c", auswahl);
    
    	//Umrechnung von Polarkoordinaten in kartesische Koordinaten
    
    	if(auswahl== p){
    
    			printf("Geben Sie den Betrag r ein:\n");
    			scanf("%lf", &r);
    			fflush(stdin);
    
    			printf("Geben Sie den Winkel w an:\n");
    			scanf("%lf", &w);
    			fflush(stdin);
    
    			bogenmass = w / 180 * 3.1415926535;
    
    			x = r*(cos(bogenmass));
    			y = r*(sin(bogenmass));
    
    			printf("x= %lf und y= %lf\n", x, y);
    		}
    
    		//Umrechnung von kartesischen Koordinaten in Polarkoordinaten 
    
    	else{
    		printf("Geben Sie x ein:\n");
    		scanf("%lf", &x);
    		fflush(stdin);
    
    		printf("Geben Sie y ein:\n");
    		scanf("%lf", &y);
    		fflush(stdin);
    
    		r = sqrt((x*x) + (y*y));
    
    		bogenmass = (180 / 3.1415926535)*atan((y / x));
    
    		w = bogenmass * 180 / 3.1415926535;
    
    		printf("r= %lf und w= %lf\n", r, w);
    
    	}
    
    	system("pause");
    	return 0;
    }
    


  • Schau dir an wie scanf funktioniert.



  • opala, danke



  • Haben wir gerade an einer Sozialstudie teilgenommen fürs kundenfreundlichste Forum?



  • Mach fflush(stdin) weg! Das führt zu undefiniertem Verhalten.
    Und wenn #include<iostream> bei dir funktioniert, dann benutzt du wohl keinen C-Compiler.
    Das Mischen von C und C++ wird nicht gerne gesehen



  • Und schau dir mal atan2 an: http://www.cplusplus.com/reference/cmath/atan2/
    Achte auf die Reihenfolge der Parameter.


Anmelden zum Antworten