Tuesday, May 1, 2012

Program C generator NIM (Praktikum ASD)

Buatlah struct dengan isi

kode_angkatan
kode_prodi
kode_jalur
nomor_urut
NIM

Buatlah sebuah generator nim 9 digit dengan ketentuan :
a. kode_angkatan merupakan 2 digit terakhir tahun masuk
b. inisial kode_prodi :

01 -> Teknik Informatika (ti)
02 -> Sistem Komputer (sk)
03 -> Sistem Informasi (si)

c. kode jalur :

01 -> reguler (r)
02 -> non reguler (n)

d. nomor urut digenerate otomatis oleh program secara berurut mulaidari 001 – 010
e. Program dapat digunakan untuk menggenarate nim secara berulang
f. hasil dari penggabungan data nim disimpan di final_nim
g. ada fungsi generate dan fungsi output yang menampilkan semua nim
yang pernah digenarate
h. Deklarasi struct menggunakan pointer to struct

SOURCE CODE :

#include<stdio.h>
#include<stdlib.h>
#include<string.h>


typedef struct {
        int kode_angkatan;
        char kode_prodi[2];
        char kode_jalur[1];
        int nomor_urut;
        int final_NIM;
       
}mhs;

int generate(int kode_angkatan, char kode_jalur[1], char kode_prodi[2], int nomor_urut,int final_NIM){
    int a,b,c,d;
    if(strcmp (kode_prodi,"ti")==1) a=100000;
    else if (strcmp (kode_prodi,"sk")==1) a=200000;
    else if (strcmp (kode_prodi,"si")==1) a=300000;
    if (strcmp (kode_jalur,"r")==0)b=1000;
    else b=2000;
    c=(kode_angkatan%100)*10000000;
    d=nomor_urut;
    final_NIM=c+a+b+d;
    printf("NIM            : %09d",final_NIM);  
    return(1);
}   
   
   
void input(mhs *bio,int a){
                     printf("Angkatan       : "); scanf("%d",&bio[a].kode_angkatan);fflush(stdin);
                     printf("jurusan        : "); gets(bio[a].kode_prodi);fflush(stdin);
                     printf("jalur          : "); gets(bio[a].kode_jalur);
                     bio[a].nomor_urut=a+1;
}

int main(){
   
   
    int n;
    printf("             ___                      ____            |\n");
    printf("|--------------@-----------------------@--------------|\n");
    printf("|-------vvvvvvvvvvVvvvvvvvvvvvvvvvvvVvvvvvvvvvv-------|\n");
    printf("|-------|        Program Generater NIM        |-------|\n");
    printf("|-------|                                     |-------|\n");
    printf("|-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------|\n");
    printf("|-----------------------------------------------------|\n\n");
    mhs *bio;
    printf("masukkan jumlah nim yang akan digenerate: ");scanf("%d",&n);
    bio=(mhs*)malloc(n*sizeof(mhs));
    for(int a=0;a<n;a++){
                     input(bio,a);
                     generate(bio[a].kode_angkatan,bio[a].kode_jalur,bio[a].kode_prodi,bio[a].nomor_urut,bio[a].final_NIM);
                     printf("\n\n");
                     } 
                        
    system("pause");
    return(0);
}


0 comments:

Post a Comment