C++ nybörjare sitter fast.
Hej, håller på med en uppgift som jag har kommit en bit på. Men nu har jag kommit till ett problem som jag går bet på just nu iallafall.
#include <iostream>
#include <string>
#include <vector>
class Person
{
public:
std::string name; //Vill använda mig av så mycket engelska ord istället för svenska fast jag vet att det står i uppgiften att man skall använda
int age; // namn & alder istället för name & age.
void print(std::string _name, int _age) //Skriver void print istället för void SkrivUt.
{
name = _name;
age = _age;
}
};
int linearsearch(Person p[], int n, int a)
{
for (int i = 0; i < n; i++)
{
if (p[i].age == a)
return i;
}
return -1;
};
void bubblesort(Person p[], int n)
{
int i, j, found = 1, temp;
for (int m = n - 1; m > 0; m--)
{
found = 0;
for (j = 0; j<n - 1; j++)
{
if (p[j].age > p[j + 1].age)
{
temp = p[j].age;
p[j] = p[j + 1];
p[n + 1].age = temp;
}
}
}
}
int main()
{
int age = 0;
Person myList[10];
myList[0].print("Kalle", 22);
myList[1].print("Stig", 42);
myList[2].print("Jenny", 42);
myList[3].print("Pelle", 69);
myList[4].print("Kajsa", 26);
myList[5].print("Stina", 17);
myList[6].print("Emma", 12);
myList[7].print("Karl", 72);
myList[8].print("Erik", 3);
myList[9].print("Oskar", 35);
bubblesort(myList, sizeof(myList));
{
std::cout << myList[10] << std::endl;
std::cout << "enter age to search for./ End with ENTER." << std::endl;
std::cin >> age;
{
linearsearch(myList, sizeof(myList), age);
}
}
std::cin.get();
return 0;
}
Det felmeddelande jag får just nu är.
Code E0349 no operator "<<" matches these operands line 61
Code C2679 binary '<<':no operator found wich takes a right-hand operand of type 'Person' (or there is no acceptable conversion)
och det är raden där jag skrivit
std::cout << myList[10] << std::endl;
Sen finns det säkert fler fel som jag inte hunnit märka eller kommit till än som säkert någon av er mer kunnig ser.
Har försökt kollat vad dessa koder byter men det jag får fram är typ att dom vill att man ska #include <string> och det har jag ju med så jag tror jag säkert skrivit något fel. Jag vill ju försöka använda mig av att skriva std::, för där det behövs men jag antar att jag har missat något sånt å säkert då jag vill försöka undvika att använda using namespace std.
Kommentera gärna om ni ser något som ser galet ut och försök rikta mig i rätt väg vill gärna lära mig. Jag är väl inte den snabbast på att lära mig men viljan finns här och är ganska envis.