3 svar
269 visningar
Noodleboii 2
Postad: 14 mar 2023 18:03

Skapa array av structs

Hej! 

Jag läser Programmering 1 nu och vi har fått en uppgift att skapa en array av structs. Jag ska göra en telefonbok som innehåller namn, ålder och adress på x antal personer, det ska också gå att söka i den. Jag har fastnat i min uppgift och behöver lite hjälp för att komma vidare, är det nåt som saknas i min array och är det nåt mer jag behöver lägga till? Klistrar in min array så får ni se hur den ser ut för tillfället.

 

#include <iostream>
using namespace std;

struct person {

string name;
int age;
string address;
}

int main () {
}

person myPersons [8] = // Här har jag fyllt i {"namn", ålder, "adress"}; 

cin >> 

Min lärare säger att programmet också behöver någon form av interaktion med användaren och föreslog att jag skulle skriva "cin >>", vad menar han? 

Fermatrix 7841 – Fd. Medlem
Postad: 14 mar 2023 18:18

Din lärare vill att du ska låta användaren ange input som du kan ta emot mha cin. 

Typ, låt användaren skriva in några namn, åldrar och addresser och mappa dessa till en struct i myPersons.

Noodleboii 2
Postad: 14 mar 2023 18:28
Dracaena skrev:

Din lärare vill att du ska låta användaren ange input som du kan ta emot mha cin. 

Typ, låt användaren skriva in några namn, åldrar och addresser och mappa dessa till en struct i myPersons.

I see, men hur gör jag för att få ihop det?

anders_k 237
Postad: 15 mar 2023 08:23

Först behöver du hålla reda på hur många personer du har i din
struct.

Sen behöver du göra funktioner som lägger till och tar bort personer:

void addPerson(person* persons, int& antal)

och t.ex.

bool removePerson(person* persons, string name, int& antal)

för att ta bort en person m.h.a. namnet.

t.ex

int main()
{
  person myPersons[8]{};
  int antal{0};
  

  addPerson(myPersons, antal);


  string name{"Kalle"};
  if (removePerson(myPersons, name, antal))
  {
    cout << name << " togs bort\n";
  }
}

sen i addPerson frågar du användaren efter namn, ålder och adress m.h.a. cin

Svara
Close