C# ile proje örneği önerisi

Kod:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char isimler[30];                // Malzeme isimleri
int sayaclar[50];                // Malzeme adetleri
int son_kullanma_tarihi[50];     // Son kullanma tarihleri
int malzeme_sayac ;           // Malzeme sayısı

// Malzeme ekleme fonksiyonu
void malzeme_ekle() {
    char isim;                    // Malzeme ismi
    int sayac, sonkullanmatarihi;

    printf("Malzeme Adi: ");
    scanf(" %s", &isim);  // Malzeme ismini al
    printf("Adet: ");
    scanf("%d", &sayac);  // Adet bilgisini al
    printf("Son Kullanma Tarihi: ");
    scanf("%d", &sonkullanmatarihi);
    int i; // Son kullanma tarihini al

    // Daha önce eklenmiş bir malzeme varsa, adet bilgisini arttır
    for ( i = 0; i < malzeme_sayac; i++) {
        if (isimler[i] == isim) {
            sayaclar[i] += sayac;  // Adet arttırılır
            if (son_kullanma_tarihi[i] < sonkullanmatarihi) {
                son_kullanma_tarihi[i] = sonkullanmatarihi;  // Son kullanma tarihi güncellenir
            }
            printf("Malzeme sayisi degistirildi.\n");
            return;
        }
    }

    // Yeni malzeme ekleme
    isimler[malzeme_sayac] = isim;  // Yeni malzeme ismini kaydederiz
    sayaclar[malzeme_sayac] = sayac;  // Adet eklenir
    son_kullanma_tarihi[malzeme_sayac] = sonkullanmatarihi;  // Son kullanma tarihi eklenir
    malzeme_sayac++;  // Malzeme sayacını arttırır
    printf("Malzeme eklendi.\n");
}

// Malzeme çıkarma fonksiyonu
void malzeme_cikar() {
    char isim;  // Malzeme ismini tutacak değişken
    int sayac;

    printf("Cikarilacak Malzeme: ");
    scanf(" %s", &isim);  // Malzeme ismini al
    printf("Cikarilacak Malzeme Sayisi: ");
    scanf("%d", &sayac);
    int i;  // Çıkarılacak adet

    for ( i = 0; i < malzeme_sayac; i++) {
        if (isimler[i] == isim) {
            if (sayaclar[i] >= sayac) {
                sayaclar[i] -= sayac;  // Adet çıkarılır
                printf("Malzeme sayisi degistirildi.\n");
                int i,j;
                if (sayaclar[i] == 0) {
                    // Malzeme bitmişse, onu listeden çıkar
                    for ( j = i; j < malzeme_sayac - 1; j++) {
                        isimler[j] = isimler[j + 1];  // İsim kaydırılır
                        sayaclar[j] = sayaclar[j + 1];  // Adet kaydırılır
                        son_kullanma_tarihi[j] = son_kullanma_tarihi[j + 1];  // Son kullanma tarihi kaydırılır
                    }
                    malzeme_sayac--;  // Malzeme sayacı azaltılır
                }
            } else {
                printf("Malzeme yeterli degil.\n");
            }
            return;
        }
    }
    printf("Malzeme bulunamadi.\n");
}

// Malzemeleri listeleme fonksiyonu
void malzemeleri_listele() {
    int i;
    for ( i = 0; i < malzeme_sayac; i++) {
        printf("Malzeme İsmi: %s, Adedi: %d, Son Kullanma Tarihi: %d\n",
               isimler[i], sayaclar[i], son_kullanma_tarihi[i]);
    }
}

int main() {
    int sec;
    do {
        printf("*MALZEME YONETIMI*\n");
        printf("1. Malzeme Ekle\n2. Malzeme Cikar\n3. Malzeme Listele\n4. Cikis\nSeciminizi yapiniz (1-4): ");
        scanf("%d", &sec);

        switch (sec) {
            case 1:
                malzeme_ekle();
                break;
            case 2:
                malzeme_cikar();
                break;
            case 3:
                malzemeleri_listele();
                break;
            case 4:
                printf("Cikis\n");
                break;
            default:
                printf("Gecersiz secim.\n");
        }
    } while (sec != 4);

    return 0;
}
Her tarafta yorum satırı görünce artık direkt ai tarafından yazıldığı bariz belli oluyor.
isimler[30] dizisinde problem var. Burada 2 boyutlu array oluşturmak lazım.

Ayrıca verileri ayrı ayrı tutma. Struct oluştur ve max_size belirleyerek bir array oluştur.
C:
int FRIDGE_MAX_ITEM_SIZE = 50;
struct Malzeme {
    char isim[30];
    int adet;
    int son_kullanma_tarihi;
};
struct Malzeme malzemeler[FRIDGE_MAX_ITEM_SIZE];

1. dönem de struct vs görmeniz lazım. 1. sınıf isen daha henüz data structure bilmiyorsun. O sebeple liste kullan vs demicem. Arraylerle çözersin.

Forum arkadaşlarımdan ricam, bence kimse yardım etmesin.
Zorluklarları araştıra araştıra kendin öğren. Kısa yola kaçıp AI tarafından yaptırırsan düşük not alırsın, o senin problemin. Yapay zekayı mentor olarak kullan. Nasıl yaparım de, al şunu yap deme. Gelişimini kötü etkiler. Ayrıca ekip olarak yapılacak bir proje 2-3 kişi bir araya gelin ve bir zahmet kafa patlatın.
 
Her tarafta yorum satırı görünce artık direkt ai tarafından yazıldığı bariz belli oluyor.
isimler[30] dizisinde problem var. Burada 2 boyutlu array oluşturmak lazım.

Ayrıca verileri ayrı ayrı tutma. Struct oluştur ve max_size belirleyerek bir array oluştur.
C:
int FRIDGE_MAX_ITEM_SIZE = 50;
struct Malzeme {
    char isim[30];
    int adet;
    int son_kullanma_tarihi;
};
struct Malzeme malzemeler[FRIDGE_MAX_ITEM_SIZE];

1. dönem de struct vs görmeniz lazım. 1. sınıf isen daha henüz data structure bilmiyorsun. O sebeple liste kullan vs demicem. Arraylerle çözersin.

Forum arkadaşlarımdan ricam, bence kimse yardım etmesin.
Zorluklarları araştıra araştıra kendin öğren. Kısa yola kaçıp AI tarafından yaptırırsan düşük not alırsın, o senin problemin. Yapay zekayı mentor olarak kullan. Nasıl yaparım de, al şunu yap deme. Gelişimini kötü etkiler. Ayrıca ekip olarak yapılacak bir proje 2-3 kişi bir araya gelin ve bir zahmet kafa patlatın.
maalesef struct öğrenmedik ve kullanmamız da yasak
 
Nasıl yani ceng prog. Giriş dersi işte.
Okulunun Bilgisayar Muhendisligi mufredatina baktim. 2. donem Nense Yonelimli Programlama goruyorsunuz. Nesne yonelimli programlamaya girmeden once structurelari gormemis olmaniz ve kullanmanizin yasak olmasi asiri absurt geldi. Emin olamadigimdan sordum.
 

Technopat Haberler

Geri
Yukarı