You are on page 1of 4

Tugas Kuis Algoritma Terakhir

Nama : M. Rahmagi Hasan


Kelas : FT TI 1A
Tanggal : 02 Februari 2013
Compiler : Codeblock / Borland C ++

#include"stdio.h"
#include"string.h"

#include"conio.h"
#define NMaks 10
void inputdata();
void bacadata();
void tambahdata();
typedef struct {
char npm[5] ;
char nama [50];
float tugas;
float kuis;
float uts;
float uas;
float akhir;
}
nilai;
typedef nilai Larikint[NMaks+1];
Larikint Tabnilai;
int i;
main()
{
int pilih;
char lagi;
do
{
printf ("===============================\n");
printf ("==============Menu=============\n");
printf ("\n\n");
printf ("1. Input data\n");
printf ("2. Tampil data\n");
printf ("3. Tambah data\n");
printf ("\n===============================\n");
printf ("masukkan pilihan [1,2,3] :"); scanf ("%d", &pilih);
if (pilih==1)
inputdata();
else if(pilih==2)
bacadata();
else if (pilih==3)
tambahdata();
else
{
printf ("anda salah memasukkan pilihan");
}
printf ("anda pilih menu lagi? (y/t)"); scanf ("%s", &lagi);
}while ((lagi=='y')||(lagi=='Y'));
return 0;
}

void inputdata()
{
int banyak;
printf ("berapa banyak data :");
scanf ("%d", &banyak);
FILE * data;
data=fopen("daftar_nilai.doc","w");
for (i=0; i<banyak; i++)
{
printf ("npm :");
scanf ("%s", Tabnilai[i]. npm);
printf ("nama :"); scanf ("%s", Tabnilai[i]. nama);
printf ("nilai tugas :"); scanf ("%f", &Tabnilai[i].tugas );
printf ("nilai kuis :"); scanf ("%f", &Tabnilai[i].kuis);
printf ("nilai uts :"); scanf ("%f", &Tabnilai[i].uts);
printf ("nilai uas :"); scanf ("%f", &Tabnilai[i].uas);
Tabnilai[i].akhir=(Tabnilai[i].tugas+Tabnilai[i].kuis+Tabnilai[i].uts+Tabnilai[i].uas
)/4;
fprintf (data, "%s\n", Tabnilai[i].npm);
fprintf (data, "%s\n", Tabnilai[i].nama);
fprintf (data, "%f\n", Tabnilai[i].tugas);
fprintf (data, "%f\n", Tabnilai[i].kuis);
fprintf (data, "%f\n", Tabnilai[i].uts);
fprintf (data, "%f\n", Tabnilai[i].uas);
fprintf (data, "%f\n", Tabnilai[i].akhir);
}
fprintf(data,"#");
fclose(data);
}
void bacadata()
{
FILE * data;
data= fopen ("daftar_nilai.doc","r");
fscanf (data, "%s\n", &Tabnilai[i].npm);
fscanf (data, "%s\n", &Tabnilai[i].nama);
fscanf (data, "%f\n", &Tabnilai[i].tugas);
fscanf (data, "%f\n", &Tabnilai[i].kuis);
fscanf (data, "%f\n", &Tabnilai[i].uts);
fscanf (data, "%f\n", &Tabnilai[i].uas);
fscanf (data, "%f\n", &Tabnilai[i].akhir);
printf ("========================DAFTAR
MATAKULIAH==============================\n");
printf ("|npm | nama |nilai tugas| nilai kuis |nilai uts| nilai uas|nilai akhir| \n");
while (strcmp(Tabnilai[i].npm,"#")!=0)
{
printf ("%s\n",Tabnilai[i].npm);
printf ("%s\n",Tabnilai[i].nama);
printf ("%f\n",Tabnilai[i].tugas);
printf ("%f\n",Tabnilai[i].kuis);
printf ("%f\n",Tabnilai[i].uts);

printf ("%f\n",Tabnilai[i].uas);
printf ("%f\n",Tabnilai[i].akhir);
printf ("\n");
fscanf (data, "%s\n", &Tabnilai[i].npm);
fscanf(data, "%s\n", &Tabnilai[i].nama);
fscanf (data, "%f\n", &Tabnilai[i].tugas);
fscanf (data, "%f\n", &Tabnilai[i].kuis);
fscanf (data, "%f\n", &Tabnilai[i].uts);
fscanf (data, "%f\n", &Tabnilai[i].uas);
fscanf (data, "%f\n",&Tabnilai[i].akhir);
}
printf("============================================
====================\n");
fclose (data);
}
void tambahdata()
{
int banyak;
printf ("berapa banyak data?");
scanf ("%d", &banyak );
FILE * data;
data= fopen ("daftar_nilai.doc","a");
for(i=0;i<banyak;i++)
{
printf ("npm :");
scanf ("%s",Tabnilai[i]. npm);
printf ("nama :"); scanf ("%s", Tabnilai[i]. nama);
printf ("nilai tugas :"); scanf ("%f", &Tabnilai[i].tugas );
printf ("nilai kuis :"); scanf ("%f", &Tabnilai[i].kuis);
printf ("nilai uts :"); scanf ("%f", &Tabnilai[i].uts);
printf ("nilai uas :"); scanf ("%f", &Tabnilai[i].uas);
Tabnilai[i].akhir=(Tabnilai[i].tugas+Tabnilai[i].kuis+Tabnilai[i].uts+Tabnilai[i].uas
)/4;
fprintf (data, "%s\n", Tabnilai[i].npm);
fprintf (data, "%s\n", Tabnilai[i].nama);
fprintf (data, "%f\n", Tabnilai[i].tugas);
fprintf (data, "%f\n", Tabnilai[i].kuis);
fprintf (data, "%f\n", Tabnilai[i].uts);
fprintf (data, "%f\n", Tabnilai[i].uas);
fprintf (data,"%f\n", Tabnilai[i].akhir);
}
fprintf (data,"#");
fclose(data);
}

You might also like