Programação em c++

Boa tarde;
Preciso ajuda, no programa não aparece o numero que apetece há tabuada e também nao mostra o números pares e impares

#include
#include <math.h>

using namespace std;

int main(int argc, char** argv)
{
int num = 0;
int opcao;

cout<<"-------MENU----------"<<endl;
cout<<"---------------------"<<endl;
cout<<"1 - Divisivel por 1" << endl;
cout<<"2 - Divisivel por 2" << endl;
cout<<"3 - Divisivel por 3" << endl;
cout<<"4 - Divisivel por 4" << endl;
cout<<"5 - Divisivel por 5" << endl;
cout<<"6 - Divisivel por 7" << endl;
cout<<"7 - Divisivel por 7" << endl;
cout<<"8 - Divisivel por 8" << endl;
cout<<"9 - Divisivel por 9" << endl;
cout<<"10 - Divisivel por 10" << endl;
cout<<"11 - Numeros pares" << endl;
cout<<"12 - Numeros impar" << endl<<endl;

cout<<"Escolhe a opcao"<<endl;
cin>>opcao;     
cout<<""<<endl;	

//-----------------------------------------------------------------------------
if(opcao==1){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
}
	
	if(num % 1 == 0){
		cout<<"Sao divisivel por 1: "<< num <<endl;
  }	
}	

//-----------------------------------------------------------------------------
if(opcao==2){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
}
	//
	if(num % 2 == 0){
		cout<<"Sao divisivel por 2: "<< num <<endl;
}
}

//-----------------------------------------------------------------------------
if(opcao==3){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
}

	if(num % 3 == 0){
		cout<<"Sao divisivel por 3: "<< num <<endl;
}
}

//-----------------------------------------------------------------------------
if(opcao==4){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
}
	
	if(num % 4 == 0){
		cout<<"Sao divisivel por 4: "<< num <<endl;
}
}

//-----------------------------------------------------------------------------
if(opcao==5){

	for(num=1;num<=100;num++){
	cout<<num<<endl;
}
	
	if(num % 5 == 0){
		cout<<"Sao divisivel por 5: "<< num <<endl;
}
}

//-----------------------------------------------------------------------------
if(opcao==6){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
	}
	
	if(num % 6 == 0){//
		cout<<"Sao divisivel por 6: "<< num <<endl;
	}	
}

//-----------------------------------------------------------------------------
if(opcao==7){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
}
	
	if(num % 7 == 0){
		cout<<"Sao divisivel por 7: "<< num <<endl;
	}
}

//-----------------------------------------------------------------------------
if(opcao==8){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
	}	
	
	if(num % 8 == 0){
		cout<<"Sao divisivel por 8: "<< num <<endl;
	}	

}
//-----------------------------------------------------------------------------
if(opcao==9){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
	}
	
	if(num % 9 == 0){
		cout<<"Sao divisivel por 9: "<< num <<endl;
	}		
}

//-----------------------------------------------------------------------------
if(opcao==10){
//
for(num=1;num<=100;num++){
cout<<num<<endl;
}

	if(num % 10 == 0){
		cout<<"Sao divisivel por 10: "<< num <<endl;
	}
}

//-----------------------------------------------------------------------------
if(opcao==11){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
	} 
	if(num % 2 == 0){
  	    cout<<"Os numeros pares são:"<<num<<endl;
}
	}	

//-----------------------------------------------------------------------------
if(opcao==12){

	for(num=1;num<=100;num++){
		cout<<num<<endl;
	}
	
	if(num % 2 == 1){
		cout<<"Os numeros impares sao: "<< num <<endl;
	}
}
return 0;

}

Você já tem uma resposta neste tópico.

De qualquer forma, você continua fazendo os testes fora dos laços for, por isso não obtém o resultado esperado.

O teste de número ímpar também está errado.

E você também repetiu código desnecessariamente para verificar se um número e divisível por 1,2,3,4,5,6,7,8, 9 ou 10.
Do 1 ao 10 dá pra usar um único if, veja.

#include <iostream>

using namespace std;

int main(int argc, char** argv) {
    int num = 0;
    int opcao;
    
    cout << "-------MENU----------" << endl;
    cout << "---------------------" << endl;
    cout << "1 - Divisivel por 1" << endl;
    cout << "2 - Divisivel por 2" << endl;
    cout << "3 - Divisivel por 3" << endl;
    cout << "4 - Divisivel por 4" << endl;
    cout << "5 - Divisivel por 5" << endl;
    cout << "6 - Divisivel por 7" << endl;
    cout << "7 - Divisivel por 7" << endl;
    cout << "8 - Divisivel por 8" << endl;
    cout << "9 - Divisivel por 9" << endl;
    cout << "10 - Divisivel por 10" << endl;
    cout << "11 - Numeros pares" << endl;
    cout << "12 - Numeros impar" << endl << endl;
    
    cout << "Escolhe a opcao" << endl;
    cin >> opcao;     
    cout << endl;

    //-----------------------------------------------------------------------------
    if (opcao >= 1 && opcao <= 10) {
        cout << "Divisivel por " << opcao << endl;
    	for (num = 1; num <= 100; num++) {
    		if (num % opcao == 0) {
                cout << num << endl;		
            }	
        }
    }

    //-----------------------------------------------------------------------------
    if (opcao == 11) {
        cout << "Os numeros pares são:" << endl;
    	for (num = 1; num <= 100; num++) {
            if (num % 2 == 0) {
                cout << num << endl;
            } 
        }
	}

    //-----------------------------------------------------------------------------
    if (opcao == 12) {
        cout << "Os numeros impares são:" << endl;
    	for (num = 1; num <= 100; num++) {
            if (num % 2 != 0) {
                cout << num << endl;
            } 
        }
	}
    return 0;
}