#include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::ios;
#include<iomanip>
using std::setprecision;
using std::setiosflags;
int main ()
{
int total,
contador,
nota;
double media; // número com ponto decimal para média
// Fase de inicialização ------------------------------------------
total = 0;
contador = 0;
// Fase de processamento ------------------------------------------
cout << "Forneça nota ou -1 para finalizar: ";
cin >> nota;
while ( nota != -1 ) {
total = total + nota;
contador = contador + 1;
cout << "Forneça nota ou -1 para finalizar: ";
cin >> nota;
}
// Fase de término -------------------------------------------
if ( contador != 0 ) {
media = static_cast< double >( total ) / contador;
cout << "A média da turma é: " << setprecision ( 2 )
<< setiosflags ( ios::fixed | ios::showpoint )
<< media << endl;
}
else
cout << "Nenhuma nota foi fornecida." << endl;
return 0;
}
Bom, o programa funfa, o problema está na estrutura else, pois não consigo fazer com que o string Nenhuma nota foi fornecida. seja impresso, sendo que se eu digitasse algo diferente de um inteiro qualquer ou -1, este texto deveria aparecer! 8O Alguma luz????