CodeBlanks Logo Icon CodeBlanks

Özet - Yapılar

Struct ve vector'ü birleştirerek bir öğrenci veritabanı yazarsın.

Özet: Öğrenci veritabanı

Bu özette struct, fonksiyon ve vector'ü birleştirerek küçük bir öğrenci veritabanı kuracağız. Her öğrenci bir Student yapısı ile temsil edilir; tüm öğrenciler bir vector<Student> içinde tutulur.

Adım şu: önce Student yapısını tanımla, sonra addStudent ve printAll fonksiyonlarını yaz. addStudent yeni bir öğrenci oluşturup vector'e ekler; printAll tüm öğrencileri döngüyle yazdırır. Böylece başlangıç seviyesinin önemli yapı araçlarını tek yerde harmanlamış olursun.

Uygulama Student yapısı ve yazdırma

struct Student { string name; int grade; }; tanımla. vector<Student> students; oluştur. Student s; yapıp s.name = "Ayşe"; ve s.grade = 90; ata, sonra students.push_back(s); ile ekle. Aralık for ile her öğrencinin name ve grade değerlerini cout << st.name << " - " << st.grade << endl; ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;

// Student yapısını tanımla

int main() {
    // bir Student vector'ü tanımla, bir öğrenci ekle, for ile yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;

struct Student {
    string name;
    int grade;
};

int main() {
    vector<Student> students;
    Student s;
    s.name = "Ayşe";
    s.grade = 90;
    students.push_back(s);
    for (Student st : students) {
        cout << st.name << " - " << st.grade << endl;
    }
    return 0;
}

Beklenen çıktı

Ayşe - 90

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Aracı göreviyle eşleştir

Kavram Anlamı
struct Student öğrenci türü
vector<Student> öğrenci listesi
addStudent yeni öğrenci ekler

2 vector<Student> students; tanımından sonra students.size() ne verir?

  • ilk öğeyi
  • son öğeyi
  • yeni öğe ekler
  • uzunluğu Doğru cevap

Açıklama: size() vector'ün öğe sayısını verir.

3 Boşluğu doldur: push_back çağrısı

Soru
Student s;
s.name = "Ali";
students.____(s);
Cevap
Student s;
s.name = "Ali";
students.push_back(s);

Açıklama: push_back vector'e yeni öğe ekler.

Başlangıç bölümündeki tüm dersler