aus 2 strings jeweils einen buchstaben in einen neuen string kopieren



  • hallo, es geht darum verschiedene wörter aus 2 strings in einen neuen string zu kopieren. jedoch zeichen für zeichen, was in einer while oder auch for schleife geschehen soll. kommt nun eine 0 vor (kommt hinter jedem wort vor, weil es ein structure array ist), soll das 1. wort vom 2. string in den neuen string kopiert werden (wieder nach dem gleichen prinzip wie eben beschrieben). ist das 1. wort von beiden strings nun fertig kopiert, soll in der nächsten zeile wieder beim 2. wort des jew



  • Klingt ein bisschen verworren. Gib mal ein Beispiel.



  • hehe, kann ich nachvollziehen, bin selbst ziemlich verunsichert wie das auszusehen hat.

    also

    ich habe ein structure array für chars, also strings (möchte nicht die string bib benutzen) und in diesem sind 2 strings in denen wörter eingegeben worden sind (das alles wurde schon in die tat umgesetzt).

    in dem einen string sind die deutschen wörter, und in dem anderen string die auf englisch übersetzten wörter.

    nun soll in ein neues string das erste deutsche wort und das erste englische wort, getrennt durch ein LEERZEICHEN, eingefügt werden (das einfügen soll zeichen für zeichen geschehen!)

    ist dies erledigt, soll in der nächsten zeile das 2. wort nach dem gleich prinzip umgesetzt werden.

    hier ein ähnlicher code, nur ist es statt ein deutsch-englisch lexikon eine namensdatenbank mit vor und nachname. die beschriebene funktion soll die funktion ausgabe im quellcode sein.

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAXPERSON 20
    
    typedef struct {char vorname[10], nachname[10];} Person;
    
    void eingabe (Person *liste);
    void ausgabe (Person *liste, int c);
    int main()
    {
     Person liste[MAXPERSON];
     int auswahl, weiter=1, c=0;
    
        while(weiter){
        	printf ("\n\nMenue\n1: Namenseingabe\n2: Namensausgabe\n3: Beenden\n");
    	fflush(stdout);
        	scanf ("%d",&auswahl); 
        	while( getchar()!='\n' );
    
        	switch (auswahl) {
        	case 1:
        		if(c<MAXPERSON-1) eingabe(&liste[c++]);
        		break; 
        	case 2:
        		ausgabe(liste,c);
        		break;
        	case 3:
        		weiter=0;
        		break;
        	}
    	}
    return 0;
    }
    
    	void eingabe(Person *liste){
    		printf("Geben Sie bitte den Vornamen ein.\n");
    		fflush(stdout);
    
    		scanf ("%s",liste->vorname);		
    
    		printf("Geben Sie bitte den Nachnamen ein.\n");
    		fflush(stdout);
    
    		scanf ("%s",liste->nachname);
    		while( getchar()!='\n' );
    
    	}
    
    	void ausgabe(Person *liste,int c){
    
    	}
    


  • Du hast also sowas "Hallo Welt" und "Hello World" und willst "Hallo Hello" und "Welt World" haben?

    Und wo ist dein Problem?


Anmelden zum Antworten