Ohoh...
Na mal sehen, ob ich Dir hier helfen kann ohne ein Buch zu schreiben.
1. Zunächst einmal würde ich Dir vorschlagen konsequent mit cin und cout zu arbeiten. printf und scanf geht zwar auch, aber das sind eigentlich Überbleibsel aus C.
2. Du kannst nicht "s" eingeben und dann hoffen, daß der Wert der Variablen s verwendet wird. Das mußt Du dem Programm schon mitteilen. Das sieht dann ungefähr so aus (vielleicht geht's auch noch eleganter, doch für's erste sollte es reichen;)):
...
char acEingabe[20];
...
cout << "Gib eine natuerliche Zahl ein oder druecke s...:"
cin >> acEingabe;
if (acEingabe == 's')
a = s;
else
a = atof (acEingabe);
...
Also wie gesagt, ich will hier nicht zuviele Worte machen. Schau's Dir an und dann ließ irgendwo nach was dieser Ausschnitt macht (oder besser andersrum ). Gute C++-Bücher gibt's wie Sand am Meer