Just nu i M3-nätverket
Gå till innehåll

Hjälp tack!


Lulla

Rekommendera Poster

Hej!

Jag sitter med denna korden men jag får inte ut namnen, belopp och arvode när jag kör den. Har suttit med den i en timme nu och kan inte hitta problemet, någon som ser det?

 

#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
using namespace std;
int main ()
{
const float grans=5000.f, pro1=0.1f, pro2=0.15f;
vector<string> namn;
vector<float> tab;
string nn;
float belopp, arvode;

while (cin >> belopp >> ws)
{
	getline(cin ,nn);
	int i;
	for(i=0; i<namn.size() && nn != namn[i]; i++)
	if(i==namn.size())
	{
		namn.push_back(nn);
		tab.push_back(belopp);
	}
	else
		tab[i] += belopp;
}
cout << endl;
cout << "  Belopp  Arvode  Namn" << endl;
cout << "  ======  ======  ====" << endl;

for (int j=0; j<namn.size(); j++)
{
	if(tab[j] <=grans)
		arvode = pro1*tab[j];
	else
		arvode = pro1*grans + pro2*(tab[j]-grans);
	cout << setprecision(0);
	cout << fixed;
	cout << setw(10) << tab[j]; 
	cout << setw(10) << arvode;
	cout << "	" << namn[j] << endl;
}
}

 

Tack i förhand!!

Lulla

Länk till kommentar
Dela på andra webbplatser

Snabb genomtitt säger att den första inre loopen aldrig kommer att köras. "namn.size" är ju noll eftersom du inte stoppat in något i namn när loopen körs. Således kommer namn aldrig fyllas med något och utskrifts-loopen kommer då inte heller köras.

 

for(i=0; i<namn.size() && nn != namn[i]; i++)

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...