how to delete an element from a struct? : I Would like you to help me in a homework we got from our teacher.
My question is the following: Can you help me in correcting my ddelete method (function)? Oh and please don't mark it  as a duplicate, because don't think that there's a solution out there to my problem. (I'm saying that because last night Insearched a lot for it)


    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <string.h>
    typedef struct{
    	long long unsigned num;
    	char name[20];
    }Telbook;
    using namespace std;
    int be(Telbook*);
    void ki(Telbook[]);
    void search (Telbook[]);
    void ddelete(Telbook[]);
    int count(Telbook[]);
    
    int main(){
    
    
    setlocale(LC_ALL,"");
    printf("\t\t\t  Struktura feladat 1.  \n\n\n");
    Telbook tomb[50];
    int db;
    db=be(tomb);			
    ki(tomb);
    search(tomb);
    ddelete(tomb);
    ki(tomb);
    system("pause");
    }
    int be(Telbook *n){
    	int i=0;
    	printf("Enter phone # and names until the phone # you entered is 0\n");
    	
    	/*printf("Kérek egy nevet: ");
    	scanf("%s",n->name);*/
    	printf("Enter a Phone #: ");
    	scanf("%llu",&n->num);
    		
    	while(n->num){
    		printf("Enter a name: ");
    		scanf("%s",n->name);
    		i++;
    		n++;
    		printf("Enter a phone #: ");
    		scanf("%llu",&n->num);
    					
    	}
    	return i;
    }
    void ki(Telbook n[]){
    	int i=0;
    	while(n[i].num){
    	
    	printf("Name: %s, Phone #: %llu\n",n[i].name,n[i].num);
    	i++;
    	//n++;
    	}
    	
    }
    void search(Telbook n[]){
    	int i=0;
    	int dbb;
    	
    	char nev[20];
    	dbb=count(n);
    	printf("Enter the name you're  searching for: ");
    	scanf("%s",nev);
    	for(i=0;i<dbb;i++){
    		if(strcmp(n[i].name,nev)==0)break;
    		
    		//n++;
    	}
    	if(i==dbb){
    	printf("The name doesn't exist.\n");
    	}
    	else{
    		printf("The name you have searhed for is: %s it's on the %d. index.\n",nev,i+1);
    	}
    }
    int count(Telbook n[]) {
    	int i = 0;
    	while (n[i].num) {
    		
    		i++;
    	}
    	return i;
    }
    
    void ddelete(Telbook n[]){
    	
    	
    	int szam,db=count(n),i=0,adat;
    		
    		printf("Enter a number you want to delete: ");scanf("%d",&szam);	
    		for(i = 0; i < db; i++){
    			if( szam == n[i].num){
    				for (i = 0; i <  db - 1; i++)
                {
                n[i] = n[i + 1];
    
    
               } 
           }		
    	}		
    
    }
Here's my code i written it as understandable as possible.