Felder mit Buchstabenkombinationen?!



  • Hi, ich habe das Problem das ich nicht weiss wie ich die Währungseinheiten bei diesem Programm dahinter schreibe, ich hoffe ihr könnt mir helfen! Weil im Moment krieg ich immer ne Fehlermeldung, er akzeptiert die buchstaben nicht bei wae[]. Jetzt suche ich andere Möglichkeiten die dahinter zu packen! Ich bin noch C-Anfänger also schwere Dinge kann ich nicht realisieren 🙂

    Danke, Ingode

    # include <stdio.h>
    # include <stdlib.h>
    
    void main()
    {
    	int aw, zw, b;
    	float e, i, tab[11]; 
    	char	wae[11];
    
        tab[1] = 1;
        tab[2] = 1.95583;
        tab[3] = 40.3399;
        tab[4] = 1936.27;
        tab[5] = 2.20371;
        tab[6] = 6.55957;
        tab[7] = 13.7603;
        tab[8] = 166.386;
        tab[9] = 0.787564;
        tab[10] = 200.482;
    
    	wae[1] = EUR;
    	wae[2] = DEM;
    	wae[3] = BEF/LUF;
    	wae[4] = ITL;
    	wae[5] = NLG;
        wae[6] = FRF;
    	wae[7] = ATS;
    	wae[8] = ESP;
    	wae[9] = IEP;
    	wae[10] = PTE;
    
    	printf("  1  EUR Euro\n");
    	printf("  2  DEM Deutsche Mark\n");
    	printf("  3  BEF/LUF Belgischer/Lux Franc\n");
    	printf("  4  ITL Italienische Lira\n");
    	printf("  5  NLG Hollaendischer Gulden\n");
    	printf("  6  FRF Franzoesischer Franc\n");
    	printf("  7  ATS Oesterr. Schilling\n");
    	printf("  8  ESP Spanische Peseta\n");
    	printf("  9  IEP Irisches Pfund\n");
    	printf(" 10  PTE Portugiesischer Escudo\n");
    	printf("  0  Ende\n\n\n");
    
        printf("Bitte geben Sie die Ausganswaehrung ein:");
    	scanf("%i", & aw);
    
    	printf("Bitte geben Sie die Zielwaehrung ein:");
    	scanf("%i", & zw);
    
    	printf("Bitte geben Sie den Betrag ein:");
    	scanf("%i", & b);
    
    	printf("%i %f entsprechen %6.2f %f\n", b, wae[aw], tab[zw]/tab[aw]*b, wae[zw]);
    
    }
    


  • Indizes von Arrays z.B. array [10] laufen von 0 bis 9!
    Um eine Zeichenkette in einem String zu speichern, verwende strcpy!

    char wae[4]; // 3 Zeichen + '\0'
    
    strcpy(wae,"EUR");
    

    Baue nach jedem scanf() ein

    while(getchar()!='\n');
    

    ein



  • Hmm schonmal danke für die Hilfe, aber ich versteh das noch nicht so ganz, kannst du das wenn du nen Moment Zeit hast etwas ausführlicher schreiben?! Ich weiss noch nicht wie das dann geht wenn die Ausgangswährung 1 ist, also EUR, dass die dann auch in der Ausgabe erscheint (letzte Zeile).
    Danke



  • char* wae[]={"EUR","DEM","BEF/LUF",...};

    printf("Sie haben %.2f %s.\n",betrag,wae[wnum]);



  • CStoll schrieb:

    char* wae[]={"EUR","DEM","BEF/LUF",...};

    printf("Sie haben %.2f %s.\n",betrag,wae[wnum]);

    Danke!
    Das hat mir viel geholfen!
    Was bedeutet eigentlich das Sternchen hinter char?



  • dass die variable ein zeiger auf einen speicherbereich(adresse) ist und nicht auf einen wert
    http://www.pronix.de/pronix-623.html



  • Genauer gesagt, ist "wae" ein Array von Zeigern auf char.


Anmelden zum Antworten