Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<time.h>
- #include<stdlib.h>
- int jumlah=0;
- void clear()
- {
- for(int i =0;i<25;i++)
- {
- printf("\n");
- }
- }
- struct data
- {
- char nama[20];
- char job[100];
- char code[5];
- int level;
- }member[100];
- void view()
- {
- clear();
- for(int i=0;i<jumlah;i++)
- {
- printf("%-10s %-10s %-10s %-10d\n",member[i].nama,member[i].job,member[i].code,member[i].level);
- }
- getchar();
- }
- void add()
- {
- srand(time(NULL));
- int flag=0;
- //code pakai sprintf(code,"%c%d%d%d",job[0],rand()%10,rand()%10,rand()%10);
- clear();
- do{
- printf("Insert nama[3..15]=");
- scanf("%s",&member[jumlah].nama);fflush(stdin);
- }while(strlen(member[jumlah].nama)<3 || strlen(member[jumlah].nama)>15);
- do{
- printf("inser job[warrior/magician/archer]=");
- scanf("%s",&member[jumlah].job);fflush(stdin);
- }while(strcmpi(member[jumlah].job,"warrior")!=0 &&strcmpi(member[jumlah].job,"archer")!=0 &&strcmpi(member[jumlah].job,"magician")!=0);
- if(strcmpi(member[jumlah].job,"warrior")==0)
- {
- sprintf(member[jumlah].code,"%c%d%d%d",'w',rand()%10,rand()%10,rand()%10);
- }
- else if(strcmpi(member[jumlah].job,"archer")==0)
- {
- sprintf(member[jumlah].code,"%c%d%d%d",'a',rand()%10,rand()%10,rand()%10);
- }
- else if(strcmpi(member[jumlah].job,"magician")==0)
- {
- sprintf(member[jumlah].code,"%c%d%d%d",'m',rand()%10,rand()%10,rand()%10);
- }
- do{
- printf("insert level[1..100]=");
- scanf("%d",&member[jumlah].level);fflush(stdin);
- }while(member[jumlah].level<1 || member[jumlah].level>100);
- clear();
- printf("Character input complete !");
- jumlah++;
- getchar();
- }
- void del()
- {
- char temp[100];
- int target=101;
- clear();
- printf("Input Character's code=");
- scanf("%s",&temp);fflush(stdin);
- for(int i=0;i<jumlah;i++)
- {
- if(strcmpi(temp,member[i].code)==0)
- {
- target=i;break;
- }
- /*else
- printf("CODE NOT FOUND !");getchar();break;*/
- }
- if(target==101)
- {
- printf("CODE NOT FOUND !");
- }
- else
- {
- for(int i=target;i<jumlah-1;i++)
- {
- data temp=member[i];
- member[i]=member[i+1];
- member[i+1]=temp;
- }
- printf("data deleted !");
- jumlah--;
- }
- getchar();
- }
- void sort()
- {
- for(int i=0;i<jumlah;i++)
- {
- for(int j=jumlah-1;j>i;j--)
- {
- if(member[j-1].level > member[j].level)
- {
- data temp=member[j-1];
- member[j-1]=member[j];
- member[j]=temp;
- }
- }
- }
- clear();
- printf("Sorted !!!");
- getchar();
- }
- void save()
- {
- FILE *out=fopen("out.txt","w");
- for(int i =0;i<jumlah;i++)
- {
- fprintf(out,"%s#%s#%s#%d\n",member[i].nama,member[i].job,member[i].code,member[i].level);
- }
- fclose(out);
- printf("data saved !");
- getchar();
- }
- int main()
- {
- int choice;
- FILE *in=fopen("karakter.txt","r");
- while(fscanf(in,"%[^#]#%[^#]#%[^#]#%d\n",&member[jumlah].nama,&member[jumlah].job,&member[jumlah].code,&member[jumlah].level)!=EOF)
- {
- jumlah++;
- }
- fclose(in);
- do{
- /*choice=0;*/
- clear();
- printf("Welcome to binus chronicle Admin page\n");
- printf("=============================================\n");
- printf("Menu\n");
- printf("1.View all character data\n");
- printf("2.Add new character data\n");
- printf("3.Delete character\n");
- printf("4.Sort data\n");
- printf("5.Save and Exit\n");
- printf("=============================================\n");
- printf("Your choice=");
- scanf("%d",&choice);fflush(stdin);
- switch(choice)
- {
- case 1:view();break;
- case 2:add();break;
- case 3:del();break;
- case 4:sort();break;
- case 5:save();break;
- }
- }while(choice!=5);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement