2012-07-31 1 views
0

Pour mes devoirs, on m'a demandé de prendre mon précédent projet et de le remplacer par <stdio.h> à <iostream>. En cours, j'ai eu pas mal d'erreurs et je suis juste un peu collé sur quelques uns particuliers.Problèmes lors de la conversion de printf scanf au cin cout

En ce qui concerne mes directives préprocesseur vont, j'ai inclus:

#include <iostream> 
#include <iomanip> 
#include <fstream> 

les codes d'erreur que j'ai obtenu indiquent des lignes spécifiques de mon code. L'une des erreurs récurrentes que je reçois est:

error: expected primary-expression before âfloatâ 

Cette erreur est venue de ces lignes:

void PrintAverages(ofstream &output, int tot_employees, float tot_payrate, float tot_reghrs, 
        float tot_ovthrs, float tot_gross, float tot_fed, float tot_state, 
        float tot_ssi, float tot_def, float tot_net) 
{  

    output << reportfile, "\n\nAverages:" << tot_payrate/tot_employees << 
       tot_reghrs/tot_employees << tot_gross/tot_employees << 
       tot_fed/tot_employees << tot_ssi/tot_employees << tot_net/tot_employees << 
       tot_ovthrs/tot_employees << tot_state/tot_employees << tot_def/tot_employees; 
} 

C'est une de mes fonctions externes. Le code d'erreur se produit plusieurs fois avec mes autres fonctions. Je pense que le problème est similaire à celui qui cause celui-ci. Si quelqu'un pouvait m'aider dans la bonne direction, ce serait génial!

-Devin

+2

Non sûr, mais cela a peut-être provoqué le problème: 'reportfile," \ n \ nAugmente: "' – nhahtdh

+0

Ceci n'est pas une réponse mais vous pouvez simplement '#include ' et utiliser 'scanf()' au lieu de changer à 'iostream'. – Rndm

+0

Je dois essayer et coller avec cin/cout – Devin

Répondre

0

De quel type est reportfile? La virgule entre reportfile et la chaîne \n\nAverages: semble étrange - ne devrait-il pas être également un <<?

Vous aurez besoin d'espaces entre vos flotteurs, sinon ils fonctionneront tous ensemble. Utilisez << " " << entre chaque float au lieu de seulement <<.

+0

si possible quelque chose comme ceci: sortie << "\ n \ nMines:" << tot_payrate/tot_employees – Devin

+0

Oh, je vois. apparemment reportfile n'est pas inutile. – Devin

+0

Cela peut générer une erreur sémantique, mais pas une erreur d'analyseur. – Puppy

0

Essayez

std::ofstream 

comme ofstream est déclarée dans namespace std.

La virgule après reportfile doit également être <<.

Questions connexes