Variablen bestimmen see declaration of "variablenname"



  • Hallo! Bin hier neu im Forum und habe eine Frage! Und zwar hab ich folgendes Programm geschrieben und möchten gerne wissen was ich falsch gemacht habe! Beim Übersetzen kommen die Fehlermeldungen:

    'double w1' : redefinition
    see declaration of 'w1'
    (die beiden oberen auch mit w2, w3, w4)

    Ist in C programmiert im Visual Studio c. Thx im Vorraus!

    #include <stdio.h>
    #include <conio.h>
    
    void main()
    
    {
    double ww, w1, w2, w3, w4, erg;
    double w1 = (ww/100)*2;
    double w2 = (ww/100)*1.5;
    double w3 = (ww/100)*1;
    double w4 =ww;
    
    printf ("Herzlich Wilkommen beim Versandkostenberechner!\n");
    printf ("Geben Sie bitte den Warenwert Ihrer Bestellung ein!\n");
    scanf ("%d",&ww);
    printf ("Die Artikel, die Sie bestellt haben kosten ohne Versand %d Euro\n", ww);
    _getch();
    
    	if (ww <= 5000)
    	{
    		printf ("Die Versankosten betragen %d", w1);
    	}
    		if (ww >5000&& ww<=10000)
    		{
    			printf ("De Versandkosten betragen %d", w2);
    		}
    			if (ww >10000&& ww <= 15000)
    			{
    				printf ("Die Versandkosten betragen %d", w3);
    			}
    				if (ww >15000)
    				{
    					printf ("Sie bekommen die Versandkosten gratis!");
    				}
    
    _getch();
    
    }
    


  • Hier definierst du deine Variablen:

    double ww, w1, w2, w3, w4, erg;
    

    und hier noch mal

    double w1 = (ww/100)*2;
    double w2 = (ww/100)*1.5;
    double w3 = (ww/100)*1;
    double w4 =ww;
    

    Das double kann im 2. Teil entfallen, da bereits bekannt ist, welchem Datentyp die Variablen zugeordnet sind

    EDIT: im printf verwendest du den Platzhalter %d für double, dies ist allerdings nicht ganz korrekt und könnte zu Datenverlust führen. Nehme hier lieber %f (float) oder %lf (long float / double)



  • Ok! Danke für die Hilfe! Wollte %d nur nehmen damit ich keine zu langen Ergebnise habe! Aber mir ist jetzt wieder eingefallen das ich einfach .2lf schreiben kann.


Anmelden zum Antworten