Selasa, 28 Mei 2013

Struktur Data 2nd

#include<stdio.h>
typedef struct Tnode
{
int value;
Tnode *next;
Tnode *back;
};

Tnode *baru, *bantu, *head, *tail;
void tambah (int value)
{
baru= new Tnode;
baru->next = baru;
baru->back = baru;
baru->value = value;
}
void tambahbelakang(int value)
{
tambah (value);
if(head==NULL)
head = tail = baru;
else {
tail->next = baru;
baru->back = tail;
tail=baru;
}
}

void tambahdepan (int value)
{
tambah (value);
if(head == NULL)
head = tail = baru;
else {
baru->next = head;
head->back = baru;
head=baru;
}
tail->next = head;
head->back = tail;
}

void cetak()
{
bantu = head;
do{
printf ("%d",bantu->value);
bantu= bantu->next;
}
while(bantu!=head);
}

void menu()
{
int pil;
int isi;
do{
printf("\nMenu : \n1. Masuk dari depan \n2. Masuk dari belakang \n3. Cetak \n4. Exit \n Masukan Pilihan anda : ");
scanf ("%d",&pil);
switch (pil){
case 1:
printf("Masukan nilai: ");scanf("%d",&isi);
tambahdepan (isi);
break;
case 2:
printf("Masukan nilai: ");scanf("%d",&isi);
tambahbelakang (isi);
break;
case 3 : cetak ();
break;
case 4:
printf ("Tidak Ada Pilihan Tersebut, Masukan Anka dari 1 sampai 3");
}
}
while (pil!=4);
}
int main ()
{
menu ();
return 0;
}

Selasa, 21 Mei 2013

Struktur Data 1nd


#include <iostream.h>
#include <conio.h>
struct Mahasiswa
{
int No;
char Nama [20];
char Nim [15];
float Tugas ;
float UTS;
float UAS;
char Nilai;
};
void input(Mahasiswa *mhs, int jumData)
{
cout<<endl;
for(int i=0; i<jumData; i++)
{
mhs[i]. No=i+1;
cout<<"No :"<<mhs[i].No<<endl;
cout<<"Nama :";
cin>>mhs[i].Nama;
cout<<"Nim :";
cin>>mhs[i].Nim;
cout<<"Nilai Tugas :";
cin>>mhs[i].Tugas;
cout<<"Nilai UTS:";
cin>>mhs[i].UTS;
cout<<"Nilai UAS:";
cin>>mhs[i].UAS;
cout<<endl;
}}
void prosesData(Mahasiswa *mhs, int jumData)
{
float nilai;
for(int i=0; i<jumData; i++)
{
nilai=(mhs[i].Tugas*0.3)+(mhs[i].UTS*0.3)+(mhs[i].UAS*0.4);
if(nilai>85)
mhs[i].Nilai='\A';
else if(nilai<85 && nilai>=75)
mhs[i].Nilai='\B';
else if(nilai<75 && nilai>=60)
mhs[i].Nilai='\C';
else if(nilai<60 && nilai>=50)
mhs[i].Nilai='\D';
else if(nilai<50)
mhs[i].Nilai='\E';
}
}
void cetak(Mahasiswa *mhs, int jumData)
{
clrscr();
cout<<"-----------------------------------------------------\n";
cout<<"No Nim Nama Tugas UTS UAS Nilai\n";
cout<<"-----------------------------------------------------\n";
int y=4;
for(int i=0; i<jumData; i++)
{
cout<<mhs[i].No;              gotoxy(5,y);
cout<<mhs[i].Nim;             gotoxy(15,y);
cout<<mhs[i].Nama;            gotoxy(30,y);
cout<<mhs[i].Tugas;           gotoxy(38,y);
cout<<mhs[i].UTS;             gotoxy(46,y);
cout<<mhs[i].UAS;             gotoxy(54,y);
cout<<mhs[i].Nilai<<endl;     y++;
}
cout<<"----------------------------------------------------\n";
}
void main()
{
int jumData;
Mahasiswa*mhs;
cout<<"Masukan jumlah data :";
cin>>jumData;
mhs=new Mahasiswa[jumData];
input(mhs,jumData);
prosesData(mhs,jumData);
cetak(mhs,jumData);
}