Jumat, 25 Juni 2010

source code data mahasiswa dg struct

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"

void TD();
int z,h;
int pilihan;
int a,j;
int x;
struct data
{
int nip;
char nama[20];
char ttl[10];
char alamat[30];
char jk[5];
}data;
struct data dt[1000];
struct data rt[1000];
struct data sm[1000];

void NIP()
{
TD();
}
void name()
{
int u=0;
int i=0;
int q=0;
for(a=0;a<=1000;a++)
{
if(rt[a].nip >= 1)u=u+1;
}
int pos;
for(x=0;x < u-1;x++)
{
pos=x;
for(j=x+1;j < u;j++)
{
do
{
if(rt[pos].nama[i]==rt[j].nama[i])i=i+1;
else
q=1;
}while(q==0);

if(rt[pos].nama[i] > rt[j].nama[i])pos=j;

}
sm[1]=rt[x];
rt[x]=rt[pos];
rt[pos]=sm[1];
}

TD();
}

void ID()
{
char tmbh;
h=1;
printf("NIP max(1000)\t\t=");
scanf("%d",&a);
for(j=0;j<=1000;j++)
{
if(a==dt[j].nip)
{printf("\n\nNomer sudah digunakan\nTekan ENTER untuk kembali ke awal");
getch();
system("cls");
h=5;}
}
if(h==1){
fflush(stdin);
dt[a].nip=a;
printf("\nNama\t\t\t=");
gets(dt[a].nama);
printf("\nTTL(ddmmyy)\t\t=");
gets(dt[a].ttl);
printf("\nAlamat\t\t\t=");
gets(dt[a].alamat);
printf("\nJenis Kelamin(L/P)\t=");
gets(dt[a].jk);
printf("ingin tmbh data(y/n)");
scanf("%s",&tmbh);
system("cls");
if(tmbh=='y') ID();
else h=5;}

}
void UD()
{
h=1;
printf("Masukkan NIP yang akan di rubah=");
scanf("%d",&a);
for(j=0;j<=1000;j++)
{
if(a==dt[j].nip)
{
fflush(stdin);
printf("\nNama\t\t\t=");
gets(dt[a].nama);
printf("\nTTL(ddmmyy)\t\t=");
gets(dt[a].ttl);
printf("\nAlamat\t\t\t=");
gets(dt[a].alamat);
printf("\nJenis Kelamin(L/P)\t=");
gets(dt[a].jk);
printf("tekan ENTER");
getch();
system("cls");
h=5;
}
}
if(h==1)
{
printf("NIP tidak tersedia\nTekan ENTER untuk kembali ke awal");
getch();
system("cls");
}
}

void HD()
{
h=1;
printf("Masukkan NIP yg akan di hapus=");
scanf("%d",&a);
for(j=0;j<=1000;j++)
{
if(dt[j].nip==a)
{
dt[a].nip=0;
printf("Data telah terhapus\n\nTekan ENTER untuk kembali ke awal");
getch();
h=0;
system("cls");
}
}
if(h==1)
{
printf("data tdk ada\ntekan ENTER untuk kembali ke awal");
getch();
system("cls");
}
}

void TD()
{
printf("==========================================================");
printf("\n||NIP\t|Nama\t\t|TTL\t|Alamat\t\t|JK\t||");
printf("\n==========================================================");
for(j=0;j<=1000;j++)
{
if(rt[j].nip>=1)
{ printf("\n||%d\t|%s\t\t|%s\t|%s\t\t|%s\t||",rt[j].nip,rt[j].nama,rt[j].ttl,rt[j].alamat,rt[j].jk);}
}
printf("\n==========================================================");
printf("\n\nTekan ENTER");
getch();
system("cls");
}

void SO()
{
a=0;
x=0;
for(j=a;j<1000;j++)
{
if(dt[j].nip>=1)
{
rt[x].nip=dt[j].nip;
strcpy(rt[x].nama,dt[j].nama);
strcpy(rt[x].ttl,dt[j].ttl);
strcpy(rt[x].alamat,dt[j].alamat);
strcpy(rt[x].jk,dt[j].jk);a=j+1;x=x+1;
}
}

printf("1.by NIP");
printf("\n2.by Name");
printf("\nMasukkan pilihan=");
scanf("%d",&pilihan);
switch(pilihan)
{
case 1:
NIP();
break;
case 2:
name();
break;
default:
printf("pilihan tidak tersedia\ntekan ENTER untuk kembali ke awal");
getch();
system("cls");
}
}

void main()
{
z=1;
do
{
printf("PT. SEJAHTERA");
printf("\n\n1.Input data");
printf("\n2.Update data");
printf("\n3.Hapus data");
printf("\n4.Tampilkan data");
printf("\n5.Exit");
printf("\n\nMasukkan pilihan=");
scanf("%d",&pilihan);
system ("cls");
switch(pilihan)
{
case 1: ID();
break;
case 2: UD();
break;
case 3: HD();
break;
case 4: SO();
break;
case 5: printf("Terima kasih\n\n");
z=0;
break;
default: main();
}
}while(z==1);
}

Tidak ada komentar:

Posting Komentar