io devo fare questo:

Calcolare la somma dei numeri naturali compresi tra un valore iniziale a e uno finale b.

è ho scritto sto codice:

codice:
// programma che calcola la somma dei numeri naturali 
//compresi fra un valore a e uno b

#include <iostream.h>
#include <conio.h>

int main()
{  
int a,b,n,somma;
 cout << "Inserisci l'intervallo in cui vuoi effettuare la somma dei numeri primi che vi sono all'interno" << endl;
 cin >> a >> b; 
 for (n=a, somma=0; n>=a & n<b; a++ ,somma+= n++)
{
 cout <<" La somma dei numeri primi compresi fra "<< a<<" e"<<b<<"e':"<< n++<<endl;
 }


 getch();
}
Il problema è che non mi visualizza una sola riga con la somma, ma bensi tante righe quanti sono i numeri dell'intervallo con risultato i numeri dispari.
Cosa c'è di sbagliato?