Menu
Coddy logo textTech

Proje: Kişi Struct'ını Tanımlama

Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 50 / 63.

challenge icon

Görev

Kolay

Struct'ların gerçek dünya uygulamalarında ilgili verileri nasıl organize edebildiğini gösteren basit bir kişi giriş aracı oluşturacaksınız.

İletişim bilgilerini saklamak için bir Contact struct'ı tanımlayan bir C programı oluşturun. Programınız şunları yapmalıdır:

  1. Aşağıdaki üyelere sahip Contact adında bir struct tanımlayın:
    • Kişinin adını saklamak için 50 boyutunda bir karakter dizisi: name
    • Kişinin telefon numarasını saklamak için 20 boyutunda bir karakter dizisi: phone
    • Kişinin e-posta adresini saklamak için 40 boyutunda bir karakter dizisi: email
    • Kişinin yaşını saklamak için bir tam sayı: age
  2. Main fonksiyonu içinde:
    • person adında bir Contact değişkeni oluşturun
    • Aşağıdaki girdi değerlerini okuyun ve nokta operatörünü kullanarak bunları struct üyelerine atayın:
      • İsim için bir dize okuyun ve bunu person.name değişkenine atayın
      • Telefon numarası için bir dize okuyun ve bunu person.phone değişkenine atayın
      • E-posta için bir dize okuyun ve bunu person.email değişkenine atayın
      • Yaş için bir tam sayı okuyun ve bunu person.age değişkenine atayın
    • Tüm değerleri okuduktan sonra aşağıdaki doğrulama kontrollerini gerçekleştirin:
      • Yaş 0'dan küçük veya 120'den büyükse, "Invalid age" yazdırın ve programdan çıkın
      • Telefon numarası uzunluğu 10 karakterden azsa, "Invalid phone number" yazdırın ve programdan çıkın
    • Tüm doğrulamalar geçerse, iletişim bilgilerini tam olarak şu formatta yazdırın:
      • "Contact Information:"
      • "Name: [name]"
      • "Phone: [phone]"
      • "Email: [email]"
      • "Age: [age]"
    • Ek bilgileri hesaplayın ve yazdırın:
      • strlen() kullanarak ismin uzunluğunu şu formatta yazdırın: "Name length: [length]"
      • Yaş kategorisini belirleyin ve yazdırın:
        • Yaş 0 ile 17 arasındaysa: "Category: Minor"
        • Yaş 18 ile 64 arasındaysa: "Category: Adult"
        • Yaş 65 veya üzerindeyse: "Category: Senior"

Bu zorluk; struct tanımı, uygun veri türleri ve boyutlarıyla üye bildirimi, nokta operatörünü kullanarak struct üyelerine erişim, girdi doğrulaması ve struct üyeleriyle strlen() gibi dize fonksiyonlarının kullanımını anlama düzeyinizi test eder. Bir iletişim yönetim sisteminin temeli olabilecek pratik bir veri yapısı oluşturma pratiği yapacaksınız.

Kendin dene

#include <stdio.h>
#include <string.h>

// YAPILACAK: Contact yapısını (struct) burada tanımlayın

int main() {
    // YAPILACAK: person adında bir Contact değişkeni oluşturun
    
    // Giriş değerlerini oku
    scanf("%s", /* YAPILACAK: person.name'e ata */);
    scanf("%s", /* YAPILACAK: person.phone'a ata */);
    scanf("%s", /* YAPILACAK: person.email'e ata */);
    scanf("%d", /* YAPILACAK: person.age'e ata */);
    
    // YAPILACAK: Doğrulama ve çıktı kodunuzu aşağıya yazın
    
    return 0;
}

Logic & Flow bölümündeki tüm dersler