Wörter als befehl in Konsole eingeben - anfänger



  • Hey,
    ich habe ein Programm geschrieben, dass mir unterschiedliche Rechnungen durchführen kann. Allerdings wähle ich die Rechenoperation mit Zahlen aus, heißt in der Konsole tippe ich 1 für Addition ein und dann die zwei zahlen.
    Nun möchte ich statt dieser 1 add in die Konsole eingeben und dann die zwei Zahlen die er addieren soll weiß aber nicht so genau wie ich das machen soll und würde michs ehr über Hilfe freuen.



  • Ohne Code nix los.
    Du bist hier in einem Programmierforum.



  • Sorry voll vergessen..

    #include <stdio.h>
    #include <math.h>
    
    int menu() {
    
    	    int eingabe;
    		printf("Dieser Rechner akzeptiert folgende Befehle:");
    		printf(">>");
    
    		do{
    		        scanf("%d", &eingabe);
    		} while(eingabe <1 || eingabe >6);
    
    		return eingabe;
    }
    
    		//double 
    
            double add(double a, double b) {
    
    			scanf("%lf %lf", &a, &b);
    			double addieren = a + b;
    			printf("+ >> %lf", addieren);	
    		}
    
    		double sub(double a, double b) {
    			scanf("%lf%lf", &a, &b);
    			double subtrahieren = a - b;
    			printf("- >> %lf", subtrahieren);
    		}
    
    		double mult(double a, double b) {
    
    			scanf("%lf %lf", &a, &b);
    			double multiplik = a * b;
    			printf("* >> %lf", multiplik);
    		}
    
    		double div(double a, double b) {
    
    			scanf("%lf %lf", &a, &b);
    			double division = a / b;
    			printf("/ >> %lf", division);
    		}
    
    		double kreis(double a) {
    
    			scanf("%lf", &a);
    			double durchmesser = a * 2;
    			double flaeche = 
    			printf("Radius: %d"\nDurchmesser, a)
    		}
    
    int primzahltest(int proband) {
    
    	int ist_prim = 1;
    
    	for (int i = 2; i < proband; ++i) {
    		if (proband % i == 0) {
    			ist_prim = 0;
    			break;
    		}
    	}
    	return ist_prim;
    }
    
    int main() {
    
    	     int auswahl = 0;
    		 double a = 0;
    		 double b = 0;
    		 printf("Dieser Rechner akzeptiert folgende Befehle:\nhilfe\nadd Operand1 Operand2\nsub OP1 OP2\nmul OP1 OP2\ndiv OP1 OP2\nprim Min Max\npot2 Wert\nkreis Radius\nstrings String1 String2\nclear\nstopp\n");
    		 do {
    			 printf(">> ");
    			 scanf("%d", &auswahl);
    		 }
    		 while(auswahl < 1|| auswahl > 6);
    
    		 if( auswahl == 1) {
    			 printf("blabla");//return menu();
    		 }
    		 if( auswahl == 2) {
    			 add(a, b);
    		 }
    		 else if (auswahl == 3) {
    			 sub(a, b);
    		 }
    		 else if (auswahl == 4) {
    			 mult(a, b);
    		 }
    		 else if (auswahl == 5) {
    			 div(a, b);
    		 }
    		 else if (auswahl == 6) {
    			 int obergrenze;
    			 int i;
    			 scanf("%i %i", &i, &obergrenze);
    
    			 for (i ; i < obergrenze; ++i) {
    				 int ist_prim = primzahltest(i);
    
    				 if(ist_prim) {
    					 printf("%i ", i);
    				 }
    			 }
    			 printf("\n");
    		 }
    		 else if (auswahl == 7) {
    
    		 }
    
    		 return 0;
    }
    

    Ist viel überflüssiges zur Frage noch drinnen leider. Ich arbeite noch an den anderen Sachen momentan.



  • Wörter bestehen aus Zeichen. Die Werden in Strings abgelegt.
    Strings kann man auch verarbeiten und vergleichen.

    Aber bevor du Stringverarbeitung machst, solltest du dir nochmal die Grundlagen von Funktionen ansehen.

    double add(double a, double b) {
    
                scanf("%lf %lf", &a, &b); //Warum werden die Werte hier eingelesen und nicht die Parameter übernommen
                double addieren = a + b;
                printf("+ >> %lf", addieren);  // Warum ist hier eine Ausgabe?
            } // Wo ist das return-Wert, den die Deklaration eigentlich vorgibt?
    

Anmelden zum Antworten