- Beranda
- Komunitas
- Tech
- Programmer Forum
Ada yg bisa Program C menggunakan file DAT ?
TS
wayut1111
Ada yg bisa Program C menggunakan file DAT ?
Permisi agan-agan yg pro tentang programmer C, ane pengen buat aplikasi program yg bisa ngisi data ke database menggunakan file(.dat), nah ane udah ada konsep mw buat program penjualan barang.. menunya ada tambah, tampil,edit,cari,sama hapus.. nah saya sudah bisa tambah,cari sama tampil data lewat file(.dat), nah untuk coding edit sama hapus ga bisa (gtau codingnya), ada yg bisa bantu ?
misalkan ini contohnya :
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
//deklarasi fungsi-fungsi
void buka_file();
void tambah_mahasiswa();
void baca_file();
void tampil_mahasiswa();
void cari_mahasiswa();
//deklarasi struct
typedef struct
{
long int nim;
char nama[30];
float nilai;
char indeks;
}data_mhs;
//deklarasi variable struct
data_mhs mahasiswa;
//deklarasi variable
FILE*pf;
int menu;
char kmbli_menu,jawab;
int i,nomor;
int z;
int tdkketemu;
int main(int argc, char *argv[])
{
do
{
textcolor(LIGHTGREEN);
clrscr();
printf(" Data Mahasiswa \n");
printf(" Menu Pilihan \n");
printf(" =================================== \n\n");
printf(" 1. Tambah Data \n");
printf(" 2. Tampil Data \n");
printf(" 3. Cari Data \n");
printf(" 4. Keluar \n\n");
printf(" =================================== \n\n");
printf(" PILIHAN = ");scanf("%i",&menu);
switch(menu)
{
case 1 : tambah_mahasiswa();break;
case 2 : tampil_mahasiswa();break;
case 3 : cari_mahasiswa();break;
case 4 : exit(1);break;
}
printf("\n\n\n");printf("Tekan M untuk kembali ke menu utama = ");
kmbli_menu=getche();
}
while((kmbli_menu=='M')||(kmbli_menu=='m'));
printf("\n\n");
system("PAUSE");
return 0;
}
void buka_file()
{
//Buka file
if((pf=fopen("mhs.dat","ab")==NULL)
{
clrscr();
printf("Hadoh Kesalahan File Tidak Dapat Dibuka !!\n");
exit(1);
}
}
void tambah_mahasiswa()
{
buka_file();
do
{
clrscr();
printf(" Data Mahasiswa \n");
printf(" Input Data \n");
printf(" =============================== \n\n");
printf("Nim \t = ");scanf("%li",&mahasiswa.nim);
printf("Nama \t = ");fflush(stdin);gets(mahasiswa.nama);
printf("Nilai\t = ");scanf("%f",&mahasiswa.nilai);
if((mahasiswa.nilai>=80)&&(mahasiswa.nilai<=100))
{
mahasiswa.indeks='A';
}
else if((mahasiswa.nilai>=68)&&(mahasiswa.nilai<=79))
{
mahasiswa.indeks='B';
}
else if((mahasiswa.nilai>=56)&&(mahasiswa.nilai<=67))
{
mahasiswa.indeks='C';
}
else if((mahasiswa.nilai>=45)&&(mahasiswa.nilai<=55))
{
mahasiswa.indeks='D';
}
else if((mahasiswa.nilai>=0)&&(mahasiswa.nilai<=44))
{
mahasiswa.indeks='E';
}
/*Masukan data mahasiswa ke file*/
fwrite(&mahasiswa,sizeof(mahasiswa),1,pf);
printf("\n\nMau Memasukan Data Lagi(Y/T)?");
jawab=getche();
}
while(jawab=='Y'||jawab=='y');
/*Tutup File*/
fclose(pf);
}
void baca_file()
{
//Baca file
if((pf=fopen("mhs.dat","rb")==NULL)
{
clrscr();
printf("Hadoh Kesalahan File Tidak Dapat Dibaca Tuch !!\n");
exit(1);
}
}
void tampil_mahasiswa()
{
clrscr();
baca_file();
nomor=0;
printf(" Data Mahasiswa \n");
printf(" Tampil Data Mahasiswa \n");
printf(" ======================================= \n");
printf("--------------------------------------------\n");
printf("No Nim Nama Nilai Indeks\n");
printf("--------------------------------------------\n");
for(;
{
fread(&mahasiswa,sizeof(mahasiswa),1,pf);
if(feof(pf))break;
printf("%-5i %-5li %-20s .2f .c\n",++nomor,mahasiswa.nim,mahasiswa.nama,mahasiswa.nilai,mahasiswa.indeks);
}
printf("---------------------------------------------\n");
/*Tutup File*/
fclose(pf);
}
void cari_mahasiswa()
{
baca_file();
printf("\n\n");
printf(" MASUKKAN NIM : ");scanf("%d",&z);
tdkketemu=1;
while(!feof(pf))
{
if(z==mahasiswa.nim)
{
tdkketemu=0;
clrscr();
printf(" DATA MAHASISWA \n");
printf(" Tampil Data Pencarian Mahasiswa \n");
printf(" ================================== \n");
printf("------------------------------------------------\n");
printf(" Nim Mahasiswa \t= %li \n",z);
printf(" Nama Mahasiswa \t= %s \n",mahasiswa.nama);
printf(" Nilai Mahasiswa \t= %.2f \n",mahasiswa.nilai);
printf(" Indeks Mahasiswa \t= %c \n",mahasiswa.indeks);
printf("------------------------------------------------\n");
break;
}
else
fread(&mahasiswa, sizeof(mahasiswa),1,pf);
}
if(tdkketemu==1)
{
printf(" HUIKZ DATA TIDA DITEMUKAN !!!");
}
/*Tutup file*/
fclose(pf);
}
nah diatas baru bisa tambah, tampil, cari.. ada yg bisa bantu coding edit sama hapus ?? -thanks-
misalkan ini contohnya :
Spoiler for program mahasiswa:
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
//deklarasi fungsi-fungsi
void buka_file();
void tambah_mahasiswa();
void baca_file();
void tampil_mahasiswa();
void cari_mahasiswa();
//deklarasi struct
typedef struct
{
long int nim;
char nama[30];
float nilai;
char indeks;
}data_mhs;
//deklarasi variable struct
data_mhs mahasiswa;
//deklarasi variable
FILE*pf;
int menu;
char kmbli_menu,jawab;
int i,nomor;
int z;
int tdkketemu;
int main(int argc, char *argv[])
{
do
{
textcolor(LIGHTGREEN);
clrscr();
printf(" Data Mahasiswa \n");
printf(" Menu Pilihan \n");
printf(" =================================== \n\n");
printf(" 1. Tambah Data \n");
printf(" 2. Tampil Data \n");
printf(" 3. Cari Data \n");
printf(" 4. Keluar \n\n");
printf(" =================================== \n\n");
printf(" PILIHAN = ");scanf("%i",&menu);
switch(menu)
{
case 1 : tambah_mahasiswa();break;
case 2 : tampil_mahasiswa();break;
case 3 : cari_mahasiswa();break;
case 4 : exit(1);break;
}
printf("\n\n\n");printf("Tekan M untuk kembali ke menu utama = ");
kmbli_menu=getche();
}
while((kmbli_menu=='M')||(kmbli_menu=='m'));
printf("\n\n");
system("PAUSE");
return 0;
}
void buka_file()
{
//Buka file
if((pf=fopen("mhs.dat","ab")==NULL)
{
clrscr();
printf("Hadoh Kesalahan File Tidak Dapat Dibuka !!\n");
exit(1);
}
}
void tambah_mahasiswa()
{
buka_file();
do
{
clrscr();
printf(" Data Mahasiswa \n");
printf(" Input Data \n");
printf(" =============================== \n\n");
printf("Nim \t = ");scanf("%li",&mahasiswa.nim);
printf("Nama \t = ");fflush(stdin);gets(mahasiswa.nama);
printf("Nilai\t = ");scanf("%f",&mahasiswa.nilai);
if((mahasiswa.nilai>=80)&&(mahasiswa.nilai<=100))
{
mahasiswa.indeks='A';
}
else if((mahasiswa.nilai>=68)&&(mahasiswa.nilai<=79))
{
mahasiswa.indeks='B';
}
else if((mahasiswa.nilai>=56)&&(mahasiswa.nilai<=67))
{
mahasiswa.indeks='C';
}
else if((mahasiswa.nilai>=45)&&(mahasiswa.nilai<=55))
{
mahasiswa.indeks='D';
}
else if((mahasiswa.nilai>=0)&&(mahasiswa.nilai<=44))
{
mahasiswa.indeks='E';
}
/*Masukan data mahasiswa ke file*/
fwrite(&mahasiswa,sizeof(mahasiswa),1,pf);
printf("\n\nMau Memasukan Data Lagi(Y/T)?");
jawab=getche();
}
while(jawab=='Y'||jawab=='y');
/*Tutup File*/
fclose(pf);
}
void baca_file()
{
//Baca file
if((pf=fopen("mhs.dat","rb")==NULL)
{
clrscr();
printf("Hadoh Kesalahan File Tidak Dapat Dibaca Tuch !!\n");
exit(1);
}
}
void tampil_mahasiswa()
{
clrscr();
baca_file();
nomor=0;
printf(" Data Mahasiswa \n");
printf(" Tampil Data Mahasiswa \n");
printf(" ======================================= \n");
printf("--------------------------------------------\n");
printf("No Nim Nama Nilai Indeks\n");
printf("--------------------------------------------\n");
for(;
{
fread(&mahasiswa,sizeof(mahasiswa),1,pf);
if(feof(pf))break;
printf("%-5i %-5li %-20s .2f .c\n",++nomor,mahasiswa.nim,mahasiswa.nama,mahasiswa.nilai,mahasiswa.indeks);
}
printf("---------------------------------------------\n");
/*Tutup File*/
fclose(pf);
}
void cari_mahasiswa()
{
baca_file();
printf("\n\n");
printf(" MASUKKAN NIM : ");scanf("%d",&z);
tdkketemu=1;
while(!feof(pf))
{
if(z==mahasiswa.nim)
{
tdkketemu=0;
clrscr();
printf(" DATA MAHASISWA \n");
printf(" Tampil Data Pencarian Mahasiswa \n");
printf(" ================================== \n");
printf("------------------------------------------------\n");
printf(" Nim Mahasiswa \t= %li \n",z);
printf(" Nama Mahasiswa \t= %s \n",mahasiswa.nama);
printf(" Nilai Mahasiswa \t= %.2f \n",mahasiswa.nilai);
printf(" Indeks Mahasiswa \t= %c \n",mahasiswa.indeks);
printf("------------------------------------------------\n");
break;
}
else
fread(&mahasiswa, sizeof(mahasiswa),1,pf);
}
if(tdkketemu==1)
{
printf(" HUIKZ DATA TIDA DITEMUKAN !!!");
}
/*Tutup file*/
fclose(pf);
}
nah diatas baru bisa tambah, tampil, cari.. ada yg bisa bantu coding edit sama hapus ?? -thanks-
0
819
Kutip
0
Balasan
Komentar yang asik ya
Komentar yang asik ya
Komunitas Pilihan