Einlesen einer Zeichenkette und 3 Prüfzeichen fehler



  • Hey Leute,
    ich muss ein c Programm schreiben, welches eine Zeichenkette von max 60 Zeichen einließt, diesen dann nach 3 Zeichen durchsucht und die häufigkeit der zeichen angibt.
    Als erste wollte ich nun erstmal die Prüfzeichen und die Zeichenkette einlesen und ausgeben.
    Hier treffe ich schon auf ein Problem.

    Die Fehlermeldung:
    Fehler 4 error C2664: 'eingabe': Konvertierung des Parameters 1 von 'char (*__w64 )[60]' in 'char *' nicht möglich

    auf die stelle zeigt er dann:

    system("cls");
    		Kopf(); //Aufruf des Kopfes
    		eingabe(&z,&p);
    

    Hier nun mein Quellcode:

    include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    
    int i=0;
    
    void Kopf()	//Definition Funktion Überschrift
    {
    	printf("#########################################################\n");
    	printf("#  Swap ----------------Sortierung----------------      #\n");
    	printf("#########################################################\n");
    }//Ende
    
    void eingabe(char *z,char *p)
    {		// Eingabe einer Zeichenkette und Prüfzeichen
    
    	printf("\nBitte geben Sie eine Zeichenkette ein: ");
    	gets(z);
    	printf("\nBitte geben Sie Ihr erstes Prüfzeichen ein: ");
    	scanf("%s",p[0]);
    	printf("\nBitte geben Sie Ihr zweites Prüfzeichen ein: ");
    	scanf("%s",p[1]);
    }
    
    void ausgabe(char z[],char p[])
    {
    	printf("\nDie Zeichenkette lautet:%s \n",z);
    	printf("\nDas erste Prüfzeichen lautet:%c \n",p[0]);
    	printf("\nDas erste Prüfzeichen lautet:%c \n",p[1]);
    
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    
    	char x[2],z[60],p[2];
    
    	do{
    		system("cls");
    		Kopf(); //Aufruf des Kopfes
    		eingabe(&z,&p);
    
    		ausgabe(&z,&p);
    
    		printf("################################################################################\n");
    		printf("\nWollen Sie das Programm wiederholen fuer ja 'j' \n jede andere eingabe beendet Programm \n\nIhre Auswahl: ");
    		scanf("%s",&x);
    
    	}while(x[0]=='j');
    	return 0;
    }
    


  • hi,
    machma statt
    int _tmain(int argc, _TCHAR* argv[])

    int main()



  • Probier mal

    eingabe(z,p);
    

    statt

    eingabe(&z,&p);
    

    . "z" ist ja schon die Adresse des ersten Elements des Arrays. Mit "&z" würdest du die Adresse der Adresse übergeben.


Anmelden zum Antworten