declaration difference error “error conflicting type for ‘itemMenu'” [closed]

this is file dataBarang.c

#include "dataBarang.h"

struct node *head = NULL; // Definisi variabel head
struct node *last = NULL; // Definisi variabel last

bool isEmpty() {
    return head == NULL;
}

char barangMenu() {
    char choice;
    printf("+=============================================+n");
    printf("|           SISTEM MANAJEMEN GUDANG           |n");
    printf("|           PERUSAHAAN KIMIA FARMA            |n");
    printf("+=============================================+n");
    printf("| Tekan(1) Untuk Input Barang Masuk           |n");
    printf("| Tekan(2) Menghapus Data Barang              |n");
    printf("| Tekan(3) Mencetak Data Barang               |n");
    printf("| Tekan(4) Mencari Barang                     |n");
    printf("| Tekan(5) Melihat Total Barang               |n");
    printf("| Tekan(6) Exit                               |n");
    printf("+=============================================+nn");
    printf("Masukkan Menu Pilihan Anda: ");
    scanf(" %c", &choice);
    return choice;
}

void insert(struct Barang barang) {
    struct node *temp = (struct node *)malloc(sizeof(struct node));
    temp->barang = barang;
    temp->next = NULL;

    if (isEmpty()) {
        head = temp;
        last = temp;
    } else {
        last->next = temp;
        last = temp;
    }
}

void displayList() {
    if (isEmpty()) {
        printf("Data kosongn");
    } else {
        printf("+=======================================================================================+n");
        printf("|                               DATA GUDANG KIMIA FARMA                                 |n");
        printf("+=======================================================================================+n");
        printf("|  ID OBAT  |       NAMA OBAT       |   JENIS OBAT   |  STOCK OBAT |     WAKTU          |n");
        printf("+=======================================================================================+n");

        struct node *current = head;
        while (current != NULL) {
            char waktu[30];
            strftime(waktu, 30, "%Y-%m-%d %H:%M:%S", localtime(&(current->barang.waktu)));
            printf("|%10d |%22s |%15s |%12d |%15s |n", current->barang.id, current->barang.nama, current->barang.jenis, current->barang.stock, waktu);
            current = current->next;
        }

        printf("+=======================================================================================+n");
    }
}


bool searchId(int id) {
    struct node *temp = head;
    while (temp != NULL) {
        printf("ID yang dicari: %dn", id);
        printf("ID saat ini: %dn", temp->barang.id);
        if (temp->barang.id == id) {
            printf("Barang dengan ID %d ditemukan.n", id);
            return true;
        }
        temp = temp->next;
    }
    printf("Barang dengan ID %d tidak ditemukan.n", id);
    return false;
}


void deleteBarang(int id) {
    struct node *temp = head;
    struct node *prev = NULL;

    // Cari barang dengan ID yang sesuai
    while (temp != NULL && temp->barang.id != id) {
        prev = temp;
        temp = temp->next;
    }

    // Jika barang ditemukan
    if (temp != NULL) {
        // Jika barang yang akan dihapus adalah barang pertama dalam daftar
        if (temp == head) {
            head = temp->next;
        } else {
            prev->next = temp->next;
        }
        // Jika barang yang akan dihapus adalah barang terakhir dalam daftar
        if (temp == last) {
            last = prev;
        }
        free(temp); // Bebaskan memori yang dialokasikan untuk barang yang dihapus
        printf("Barang dengan ID %d telah dihapus.n", id);
    } else {
        printf("Barang dengan ID %d tidak ditemukan.n", id);
    }
}

void showTotal() {
    struct node *temp = head;
    int total = 0;
    while (temp != NULL) {
        total += 1;
        temp = temp->next;
    }
    printf("Total barang yang ada di gudang: %dn", total);
}

int main() {
    char choice;
    struct Barang barang;
    do {
        system("cls");
        choice = barangMenu();
        switch (choice) {
            case '1':
                printf("Masukkan Id Barang: ");
                scanf("%d", &(barang.id));
                printf("Masukkan Nama Barang: ");
                scanf("%s", (barang.nama));
                printf("Masukkan Jenis Barang: ");
                scanf("%s", (barang.jenis));
                printf("Masukkan Stok Barang: ");
                scanf("%d", &(barang.stock));
                barang.waktu = time(NULL); // Waktu saat ini
                insert(barang);
                break;
            case '2': {
                int id;
                printf("Masukkan Id Barang yang akan dihapus: ");
                scanf("%d", &id);
                if (searchId(id)) {
                    deleteBarang(id);
                } else {
                    printf("Barang dengan ID %d tidak ditemukan.n", id);
                }
                break;
            }
            case '3':
                displayList();
                break;
            case '4': {
                int id;
                printf("Masukkan ID barang yang akan dicari: ");
                scanf("%d", &id);
                if (searchId(id)) {
                    printf("Barang dengan ID %d ditemukan.n", id);
                } else {
                    printf("Barang dengan ID %d tidak ditemukan.n", id);
                }
                break;
            }
            case '5':
                showTotal();
                break;
            case '6':
                printf("Exitn");
                break;
            default:
                printf("Input Anda Salahn");
                break;
        }
        printf("Tekan tombol apapun untuk melanjutkan...");
        getch(); // Tunggu sampai pengguna menekan tombol sebelum melanjutkan
    } while (choice != '6');
    return 0;
}

this is file dataBarang.h

#ifndef DATABARANG_H
#define DATABARANG_H

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <conio.h> // Untuk menggunakan fungsi getch() di Windows
#include <time.h> // Untuk bekerja dengan waktu


struct Barang {
    int id;
    char nama[25];
    char jenis[25]; // Menambahkan jenis barang
    int stock; // Menambahkan stok barang
    time_t waktu; // Mengubah tipe data harga menjadi time_t untuk waktu
};

struct node {
    struct Barang barang;
    struct node *next;
};

extern struct node *head; // Tambahkan kata kunci extern
extern struct node *last; // Tambahkan kata kunci extern

bool isEmpty();
char barangMenu();
void insert(struct Barang barang);
void displayList();
bool searchId(int id);
void deleteBarang(int id);
void showTotal();

#endif

this is file dataKargo.c

#include "dataKargo.h"

#include <stdio.h>
#include <stdlib.h>

struct QUEUE antrian; // Definisi variabel antrian

// Implementasi fungsi-fungsi untuk queue

void Create() {
    antrian.head = antrian.tail = -1;
}

// Fungsi mengecek apakah queue kosong
int IsEmpty() {
    if (antrian.tail == -1) {
        return 1;
    } else {
        return 0;
    }
}

// Fungsi mengecek apakah queue penuh
int IsFull() {
    if (antrian.tail == 15 - 1) {
        return 1;
    } else {
        return 0;
    }
}

// Menambah data pada queue
void Enqueue(long data) {
    if (IsEmpty() == 1) {
        antrian.head = antrian.tail = 0;
        antrian.data[antrian.tail] = data;
    } else if (IsFull() == 0) {
        antrian.tail++;
        antrian.data[antrian.tail] = data;
    }
}

// Mengeluarkan data dari queue
int Dequeue() {
    int i;
    int e = antrian.data[antrian.head];
    for (i = antrian.head; i <= antrian.tail - 1; i++) {
        antrian.data[i] = antrian.data[i + 1];
    }
    antrian.tail--;
    return e;
}

// Fungsi menu kargo
void menuContainer() {
    long input;
    int pilih, i;
    Create();
    do {
        system("cls"); // Membersihkan layar
        printf("   +=============================================+n");
        printf("   |      SISTEM INFORMASI MANAJEMEN GUDANG      |n");
        printf("   |           PERUSAHAAN KIMIA FARMA            |n");
        printf("   |         ( MENU ANTRIAN CONTAINER )          |n");
        printf("   +=============================================+n");
        printf("   | Tekan(1) Memasukkan ID Container            |n");
        printf("   | Tekan(2) Menghapus Data Antrian             |n");
        printf("   | Tekan(3) Melihat Data Antrian               |n");
        printf("   | Tekan(4) Keluar                             |n");
        printf("   +=============================================+n");
        printf("nMasukkan Pilihan Anda : ");
        scanf("%d", &pilih);
        switch (pilih) {
            case 1: {
                if (IsFull() == 1) {
                    printf("Antrian Penuh !");
                } else {
                    printf("Masukkan ID Container : ");
                    scanf("%ld", &input);
                    Enqueue(input);
                }
                printf("n");
                break;
            }
            case 2: {
                if (IsEmpty() == 1) {
                    printf("Antrian Kosong !");
                } else {
                    printf("Data Yang Dikeluarkan : ");
                    printf("%d", Dequeue());
                    printf("n");
                }
                printf("n");
                break;
            }
            case 3: {
                if (IsEmpty() == 1) {
                    printf("Antrian Kosong !n");
                } else {
                    for (i = antrian.head; i <= antrian.tail; i++) {
                        printf("%d. ", i + 1);
                        printf("%ldn", antrian.data[i]);
                    }
                }
                printf("n");
                break;
            }
            case 4: {
                printf("Terima kasihn");
                return; // Langsung keluar dari fungsi admin() dan kembali ke menu utama
            }
            default: {
                printf("Tidak ada dalam Pilihann");
            }
        }
        getchar(); // Mengonsumsi karakter newline ('n') yang tersisa di buffer stdin
        printf("Tekan Enter untuk melanjutkan...");
        getchar(); // Menunggu pengguna menekan Enter sebelum melanjutkan
    } while (pilih >= 1 && pilih <= 4);
}

this is file dataKargo.h

#ifndef DATAKARGO_H
#define DATAKARGO_H

#include<stdio.h>

// Deklarasi queue dengan struct dan array
struct QUEUE {
    long data[15];
    int head;
    int tail;
};

// Deklarasi variabel antrian dari struct
extern struct QUEUE antrian;

// Deklarasi fungsi queue
void Create();
int IsEmpty();
int IsFull();
void Enqueue(long data);
int Dequeue();
void menuContainer();
void menuUtama();

#endif

this is file main.c

#include "dataKargo.h"
#include "dataBarang.h"

// Deklarasi fungsi menuContainer dan menu
void menuContainer();
void barangMenu();

// Fungsi untuk menampilkan menu utama dan meminta input dari pengguna
void menuUtama() {
    int pil;
    do {
        printf(" +============================================+n");
        printf(" |     SISTEM INFORMASI MANAJEMEN GUDANG      |n");
        printf(" |         PERUSAHAAN KIMIA FARMA             |n");
        printf(" +============================================+n");
        printf(" | Tekan(1) Masuk ke Menu Data Kargo          |n");
        printf(" | Tekan(2) Masuk ke Menu Manajemen Gudang    |n");
        printf(" | Tekan(3) Keluar Dari Program               |n");
        printf(" +============================================+n");
        printf(" Masukkan Pilihan Anda : ");
        scanf("%d", &pil);

        switch (pil) {
            case 1:
                menuContainer();
                break;
            case 2:
                barangMenu();
                break;
            case 3:
                printf("Terima kasihn");
                break; // Keluar dari program setelah memberi ucapan terima kasih
            default:
                printf("Pilihan tidak valid. Silakan masukkan nomor yang sesuai.n");
                break;
        }
    } while (pil != 3); // Melakukan loop sampai pengguna memilih untuk keluar
}

int main() {
    menuUtama(); // Memanggil fungsi menuUtama untuk menjalankan program
    return 0;
}

there was an error: conflicting types for ‘menuBarang’ that I got. The error “conflicting types for ‘menuBarang'” occurred because there were differences in the declaration or definition of the menuBarang() function in various parts of the program code but in my program I couldn’t find any declarations with different data types , I declared ‘menuBarang’ as char.

I want to know the justification for my code and suggestions so that my code runs well

New contributor

muhammad aly is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

1

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật