ulvis.paste.net - pastebin

Paste Search Dynamic
Recent pastes
Data
  1. #include <stdio.h>        
  2. #include <math.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5.  
  6. struct Data{
  7.         char nama[100];
  8.     char alamat[100];
  9.     int hari;
  10.     int bulan;
  11.     int tahun;
  12.     double ip;
  13.     int cocok;
  14. };
  15.  
  16. void menu (struct Data a[], char num_menu, int count)
  17. {
  18.         int i, j, k, m, sum[count+1], sum_tomi, selisih [count+1],besar=0,index;
  19.         char x;
  20.         char tomi[11]= {"Tomi Fitah"};
  21.     struct Data terbaik;
  22.     for (m=0;tomi[m]!='\0';m++)
  23.     {
  24.         if (tomi[m]==' ') continue;
  25.         if (m==0) sum_tomi=0;    
  26.         sum_tomi+=(int)tomi[m];
  27.     }
  28.     switch (num_menu)
  29.         {
  30.                 case '1':
  31.                         x=getchar();
  32.                         gets(a[count].nama);
  33.                         // x=getchar();
  34.                         gets(a[count].alamat);
  35.                         scanf ("%d", &a[count].hari);
  36.                         scanf ("%d", &a[count].bulan);
  37.                         scanf ("%d", &a[count].tahun);
  38.                         scanf ("%lf", &a[count].ip);
  39.  
  40.                         for (i=0; a[count].nama[i]!='\0';i++)
  41.                         {
  42.                                 if (a[count].nama[i]==' ') continue;
  43.                                 if (i==0) sum[count]=0;        
  44.                                 sum[count]+=(int)a[count].nama[i];
  45.                         }
  46.                         selisih[count]=sum_tomi-sum[count];
  47. //                      printf ("huhu=%d\n", selisih[count]);  
  48.                         a[count].cocok= ((abs(selisih[count]))%60)+((abs((a[count].ip-3.5)*10))%10)+((abs(a[count].hari-20))%10)+((abs(a[count].bulan-6))%10)+((abs(a[count].tahun-1998))%10);
  49. //                      printf ("cocok nih=%d\n", a[count].cocok);             
  50.                         printf ("Berhasil input!hehe\n");
  51.                 break;
  52.         case '2':
  53.                 for (i=1;i<=count;i++)
  54.                 {
  55. //                      for (j=i+1;j<=count;j++)
  56. //                              {
  57.                                         if (besar<selisih[i]) {
  58.                                                            besar=selisih[i];
  59.                                                         index=i;
  60.                                                    }
  61. //                                                 strcpy (terbaik.nama, a[j].nama);
  62. //                                      else strcpy (terbaik.nama, a[i].nama);
  63. //                              }
  64.                 }
  65.                 strcpy (terbaik.nama, a[index].nama);
  66.                 printf ("Mahasiswa yang paling cocok dengan tomi adalah:%s\n", terbaik.nama);
  67.         break;
  68.         case '3':
  69.                 for (k=1;k<=count;k++)
  70.                 {
  71.                         printf ("Nama Mahasiswa = %s\n", a[k].nama);
  72.                         printf ("Alamat Mahasiswa = %s\n", a[k].alamat);
  73.                         printf ("Tanggal Lahir Mahasiswa = %d-%d-%d\n", a[k].hari, a[k].bulan, a[k].tahun);
  74.                         printf ("IPK Mahasiswa = %.1lf\n", a[k].ip);
  75.                         printf ("Kecocokan Mahasiswa dengan Tomi = %d\n", a[k].cocok);
  76.                         printf ("*****\n");
  77.                 }
  78.         break;
  79.     }
  80. }
  81.  
  82. int main ()
  83. {
  84.         int T, i,  count=0;
  85.         char num_menu;
  86.         scanf ("%d", &T);
  87.         struct Data mhs[T];
  88.         for (i=0;i<T;i++)
  89.         {
  90.                 scanf (" %c", &num_menu);
  91.                 if (num_menu=='1') count++;
  92.                 menu (mhs, num_menu, count);
  93.         }
  94.         return 0;
  95. }
Parsed in 0.017 seconds