#include
<stdio.h>
#include
<conio.h>
#include
<string.h>
#define MAX 10
struct Mahasiswa {
char nim[10];
char nama[25];
float nilai;
};
struct tumpuk {
Mahasiswa
mhs[MAX];
int top;
};
void
Belum_Ada_Data() {
t.top = -1;
}
int Penuh() {
if(t.top == MAX-1)return 1;
else return 0;
}
int Kosong() {
if(t.top == -1)return 1;
else return 0;
}
void Push(Mahasiswa
m) {
t.top++;
strcpy(t.mhs[t.top].nim, m.nim);
strcpy(t.mhs[t.top].nama, m.nama);
t.mhs[t.top].nilai = m.nilai;
}
void Pop() {
printf("\nMahasiswa dengan :
\n");
printf("NIM : %s\n",t.mhs[t.top].nim);
printf("Nama : %s\n",t.mhs[t.top].nama);
printf("Nilai :
%0.2f\n\n",t.mhs[t.top].nilai);
t.top--;
}
void Hapus_Semua() {
t.top=-1;
}
void Cetak() {
for(int i=t.top; i>=0; i--) {
printf("\nMahasiswa
ke-%d\n",i+1);
printf("--------------\n");
printf("NIM : %s\n",t.mhs[i].nim);
printf("Nama : %s\n",t.mhs[i].nama);
printf("Nilai :
%0.2f\n\n",t.mhs[i].nilai);
}
}
void main() {
Belum_Ada_Data();
int pilihan,banyak;
do{
printf("\n------------------\n");
printf("1. Memasukkan
Data\n");
printf("2. Mengambil
Data\n");
printf("3. Cetak Data\n");
printf("4. Hapus Semua\n");
printf("Pilihan : ");
scanf("%d",&pilihan);
printf("------------------\n");
switch(pilihan)
{
case 1:{
printf("\nMasukkan banyak
mahasiswa yang akan diinput : ");
scanf("%d",&banyak);
Mahasiswa data;
for(int i=0; i<banyak; i++) {
if(Penuh() == 1) {
printf("Maaf,
data mahasiswa sudah penuh !\n");
}
else {
printf("\nInputkan
Data Mahasiswa ke-%d\n",i+1);
printf("NIM :
");scanf("%s",&data.nim);
printf("Nama :
");scanf("%s",&data.nama);
printf("Nilai :
");scanf("%f",&data.nilai);
printf("\n");
Push(data);
}
}
}
break;
case 2:
if(Kosong() != 1) Pop();
else printf("\nMasih
kosong!\n");
break;
case 3:
if(Kosong() != 1) Cetak();
else printf("\nMasih
kosong!\n");
break;
case 4:
Hapus_Semua();
printf("\nSudah
kosong!\n");
break;
}
getch();
}
while(pilihan != 5);
getch();
}
Output Program :










0 komentar:
Posting Komentar