Fehler: LNK2001; sowie Fehler: LNK1120



  • /******************************************************************************
    Projekt: PW- Überprüfung

    Aufgabenstellung:
    Es ist eine Funktion zu schreiben, die den Passwort String (char) überprüft,
    ob es eine bestimmte Anzahl von Zeichen hat.

    a) Anzahl der Ziffern (0, 1, 2, ..., 9) --> 0x30 < x < 0x39
    b) Anzahl der Großbuchstaben (A, B, C, ..., Z) --> 0x41 < x < 0x5A
    c) Anzahl der Kleinbuchstaben (a, b, c, ..., z) --> 0x61 < x < 0x7A

    ******************************************************************************/

    #include<stdio.h>
    int iZahlZif=0, iZahlGB=0,iZahlKB=0;
    char PWEingabe[];

    int main()
    { int i;
    printf("\tWELCOME!\nGeben Sie bitte Ihr Passowrt ein: %s", PWEingabe);
    fgets(PWEingabe,10,stdin);

    for(i=0; i<10;i++)
    {
    if((PWEingabe[i]>0x30)&&(PWEingabe[i]<0x39))
    iZahlZif++;
    if((PWEingabe[i]>0x41)&&(PWEingabe[i]<0x5A))
    iZahlGB++;
    if((PWEingabe[i]>0x61)&&(PWEingabe[i]<0x7A))
    iZahlKB++;
    }
    printf("%d %d %d",iZahlGB, iZahlKB, iZahlZif);
    return 0;
    }

    ------------------------------------------------------------------------

    Ich weiß leider echt nicht weiter und würde euch bitten mir ein paar tipps zu geben was ich am Programm ändern muss das es lauffähig wird.
    Wir haben leider erst angefangen mit C in Windows zu programmieren und da tu ich mir grad etwas schwer.
    Vielen Dank für eure Hilfe 🙂



  • Beginner_of_C schrieb:

    /******************************************************************************
    Projekt:	PW- Überprüfung
    
    Aufgabenstellung:
    Es ist eine Funktion zu schreiben, die den Passwort String (char) überprüft, 
    ob es eine bestimmte Anzahl von Zeichen hat.
    
    a) Anzahl der Ziffern              (0, 1, 2, ..., 9) --> 0x30 < x < 0x39
    b) Anzahl der Großbuchstaben	(A, B, C, ..., Z) --> 0x41 < x < 0x5A
    c) Anzahl der Kleinbuchstaben	(a, b, c, ..., z) --> 0x61 < x < 0x7A
    
    ******************************************************************************/
    
    #include<stdio.h>
    int iZahlZif=0, iZahlGB=0,iZahlKB=0;
    char PWEingabe[];
    
    int main()
    {	int i;
    	printf("\tWELCOME!\nGeben Sie bitte Ihr Passowrt ein: %s", PWEingabe);
    	fgets(PWEingabe,10,stdin);
    	
    	for(i=0; i<10;i++)
    	{
    		if((PWEingabe[i]>0x30)&&(PWEingabe[i]<0x39))
    			iZahlZif++;
    		if((PWEingabe[i]>0x41)&&(PWEingabe[i]<0x5A))
    			iZahlGB++;
    		if((PWEingabe[i]>0x61)&&(PWEingabe[i]<0x7A))
    			iZahlKB++;
    	}
    	printf("%d %d %d",iZahlGB, iZahlKB, iZahlZif);
    	return 0;
    }
    

    Mit den cpp-Tags sieht das ganze doch schon mal hübscher aus.*

    Wo ist jetzt dein Problem?. Was läuft nicht?

    In Zeile 16 solltest du auch eine Arraygröße mit angeben.
    Was ist wenn du weniger als 10 Zeichen eingibst?

    Und globale Variablen sind doch gar nicht nötig.

    * Code markieren und den C/C++ Button unter den 🙂 😃 anklicken.



  • Fehler 1 error LNK2005: _main ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 2 error LNK2005: _iZahlZif ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 3 error LNK2005: _iZahlGB ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 4 error LNK2005: _iZahlKB ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 5 error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden. C:\Users\Armin\Desktop\aufgabe\001\Debug\001.exe 1 1 001
    Das ist mein Problem ^^, es sind viele fehler die auftauchen beim starten ohne debuggen (beim debuggen auch) und ich weiß nicht ob ich die Aufgabenstellung richtig erfüllt habe, da ich dank den Fehlern ja nicht ausprobieren kann...



  • Beginner_of_C schrieb:

    Fehler 1 error LNK2005: _main ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 2 error LNK2005: _iZahlZif ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 3 error LNK2005: _iZahlGB ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 4 error LNK2005: _iZahlKB ist bereits in arminkarner.obj definiert. C:\Users\Armin\Desktop\aufgabe\001\001\neu.obj 001
    Fehler 5 error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden. C:\Users\Armin\Desktop\aufgabe\001\Debug\001.exe 1 1 001
    Das ist mein Problem ^^, es sind viele fehler die auftauchen beim starten ohne debuggen (beim debuggen auch) und ich weiß nicht ob ich die Aufgabenstellung richtig erfüllt habe, da ich dank den Fehlern ja nicht ausprobieren kann...

    Jetzt habe ich die Zeile 16 geändert auf :
    char PWEingabe[10]={};
    und es ist nur mehr ein Fehler; und zwar:
    Fehler 1 error C2059: Syntaxfehler: '}' c:\users\armin\desktop\aufgabe\homework\homework\arminkarner.c 19 1 001



  • Probier mal

    char PWEingabe[10]={ 0 };
    

    oder

    char PWEingabe[10]="";
    

    oder

    char PWEingabe[10];
    

    Und warum gibst du das leere Passwort in Zeile 20 aus?


  • Mod

    Du hast deine IDE nicht im Griff. Anscheindend hast du deinen Quellcode (oder zumindest Teile davon) zweimal unter unterschiedlichen Namen (arminkarner und neu) im Projekt.


Anmelden zum Antworten