Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
"gets" identifier is undefined
Bagaimana mengatasi masalah identifier undefined pada "gets" di program saya?
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
void header();
void input();
void tampil();
void indtoing();
void ingtoind();
void hapus();
void keluar();
FILE *kamus, *temp;
struct { char nama[35], telp[35]; }data; //deklarasi struct untuk inisialisasi nama field
char kar;
main()
{
char pil;
do {
system("cls");
header();
puts("\n\n\n *------MENU PILIHAN------*\n");
printf("1. Input Data Telepon.\n");
printf("2. Tampilkan Data Buku Telepon.\n");
printf("3. Cari nama -> telepon.\n");
printf("4. Cari telepon -> nama.\n");
printf("5. Hapus kata dalam kamus.\n");
printf("6. Keluar\n\n");
printf(" Masukan pilihan anda = ");
pil = getche();
puts("");
switch (pil)
{
case '1':
input();
break;
case '2':
tampil();
break;
case '3':
indtoing();
break;
case '4':
ingtoind();
break;
case '5':
hapus();
break;
case '6':
keluar();
break;
}
printf(" Kembali ke menu awal (y/n) => ");
kar = getche();
} while ((kar == 'Y') || (kar == 'y'));
}
void header()
{
puts(" ========================================");
puts(" | |");
puts(" | *BUKU TELEPON * |");
puts(" | Created by : |");
puts(" | 06 achmad sayfudin |");
puts(" ========================================");
}
/*input kata*/
void input()
{
char pil;
do {
system("cls");
if ((kamus = fopen("kamus.txt", "a+")) == NULL)
{
printf("data gagal buka ");
exit(1);
}
header();
puts(" \n\t\t\t-----------------\n");
puts(" \t\t\t INPUT DATA BARU\n");
puts(" \t\t\t-----------------\n");
fflush(stdin);
printf("Nama => ");
gets(data.nama); //untuk input data.nama
printf("No Telepon => ");
gets(data.telp); // untuk input data.telp
fflush(stdin);
fwrite(&data, sizeof(data), 1, kamus);
printf("\n input data lagi (y/n)");
pil = getche();
} while ((pil == 'Y') || (pil == 'y'));
puts("");
}
void tampil()
{
system("cls");
fflush(stdin);
if ((kamus = fopen("kamus.txt", "r")) == NULL)
{
printf("data gagal di baca ");
exit(1);
}
header();
puts(" \n\t\t\t------------------------\n");
puts(" \t\t\tDaftar Data Kontak Telepon\n");
puts(" \t\t\t--------------------------\n");
printf("\n%-30s %-30s", "Nama ", "Telepon ");
printf("\n%-30s %-30s", "-----------", "-----------\n");
while (fread(&data, sizeof(data), 1, kamus) == 1) //membaca data dari file
printf("\n%-30s %-30s", data.nama, data.telp);
puts("\n");
fclose(kamus);
}
void indtoing()
{
char cari[35], op;
int i = 1;
do {
system("cls");
if ((kamus = fopen("kamus.txt", "r")) == NULL)
{
printf("data tidak dapat dibuka ");
exit(1);
}
header();
puts(" \n\t\t\t-----------------\n");
puts(" \t\t\tNAMA - TELEPON\n");
puts(" \t\t\t-----------------\n");
printf("masukan nama => ");
fflush(stdin);
gets(cari);
fflush(stdin);
while (fread(&data, sizeof(data), 1, kamus) == i)
{
if (strcmp(cari, data.nama) == 0)//membandingkan data antara cari dengan data.nama
{
printf("%s = %s ", data.nama, data.telp);
i += 1;
}
}
if (i == 0)
{
printf(" kata \"%s\" tidak ditemukan ", cari);
}
fclose(kamus);
printf("\n\n Ingin Cari lagi (y/n) => ");
op = getche();
} while (op == 'Y' || op == 'y');
puts("\n");
}
void ingtoind()
{
int i = 1;
char cari[35], op;
do {
system("cls");
if ((kamus = fopen("kamus.txt", "r")) == NULL)
{
printf("file tidak dapat dibuka");
exit(1);
}
header();
puts(" \n\t\t\t-----------------\n");
puts(" \t\t\t TELEPON - NAMA \n");
puts(" \t\t\t-------------------\n");
printf("masukkan no Telepon => ");
fflush(stdin);
gets(cari);
fflush(stdin); //untuk menghapus data yang ada di buffer
while (fread(&data, sizeof data, 1, kamus) == 1)
{
if (strcmp(cari, data.telp) == 0)
{
printf("%s = %s", data.nama, data.telp);
i += 1;
}
else if (i == 0)
printf("no telepon \"%s\" tak terdaftar", cari);
}
fclose(kamus);
printf("\n\n Apakah Ingin Mencari lagi (y/n) => ");
op = getche();
} while (op == 'Y' || op == 'y');
puts("\n");
}
void hapus()
{
int i = 1;
char del[35], op;
do {
system("cls");
if ((kamus = fopen("kamus.txt", "r")) == NULL)
{
printf("tidak dapat di hapus");
exit(1);
}
header();
puts(" \n\t\t\t-----------------\n");
puts(" \t\t\t HAPUS DATA \n");
puts(" \t\t\t-------------------\n");
printf("hapus data =>");
fflush(stdin);
gets(del);
fflush(stdin);
while (fread(&data, sizeof(data), 1, kamus) == 1)
{
if (strcmp(del, data.nama) != 0) //jika tidak sama
{
if ((temp = fopen("temp.txt", "a")) == NULL)
{
printf("File tidak bisa diakses");
}
else
{
fwrite(&data, sizeof(data), 1, temp);
}
fclose(temp);
}
else
{
printf("\"%s = %s\"\n berhasil dihapus", data.nama, data.telp);
i += 1;
}
}
if (i == 0)
{
printf("Kata \"%s\" tidak ditemukan", del);
}
fclose(kamus);
remove("kamus.txt");
rename("temp.txt", "kamus.txt");
printf("\n\nhapus lagi (y/n) => ");
op = getche();
} while (op == 'Y' || op == 'y');
puts("\n");
}
void keluar()
{
exit(1);
}
0
Belum ada Jawaban. Jadi yang pertama Jawaban
Login untuk ikut Jawaban