José:
Primeiro um warning, que não está causando um problema grave. Quando utilizar variáveis double tente usar %lf no printf, %lf é equivalente a long float, ou seja double. Vc fez assim no primeiro printf.
Depois uma falha que é fácil esquecer no começo. Vc não usou a chave %lf nos dois printf finais, por isso mesmo não houve resultado algum, tente fazer algo mais ou menos assim:
printf("Raiz 1 = %lf\n", q1);
printf("Raiz 2 = %lf\n", q2);
Eu corrigi a falha e funcionou td certinho.
O teste que eu fiz com com a: 1 b: 0 e c: -1
Vc pode tb usar o std::cout pra imprimir a saída:
std::cout << "sqrt(" << r1 << ") = " << r2 << std::endl
e
std::cout << "Raiz 1 = " << q1 << std::endl;
std::cout << "Raiz 2 = " << q2 << std::endl;
Tem gente que gosta de usar printf em C++ no lugar do std::cout por conta da facilidade de formatação de números em ponto flutuante. Na verdade std::cout tem muitas opções de formatação tb, eu recomendo vc dar uma olhada no link abaixo sobre algumas dicas sobre como formatar números com std::cout e iomanip.
Se precisar de mais alguma informação é só perguntar.
Fabio A. Mazzarino
--
Lab C++ - Código, Dicas e Snippets