Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<malloc.h>
- #include<string.h>
- #include "akunmanager.h"
- int a;
- int b;
- int vmark[29];
- int flagger=0;
- int maxstudent=0;
- int rtm=0;
- int notloggingout=0;
- void menu();
- int strcicmp(char const *a, char const *b);
- char query[29];
- int adminmode=0;
- int main()
- {
- ///
- ///
- char query[29];
- int i,n,ch,ps,x,k;
- k=0;
- struct node *h,*t,*t1,*w,*q, *w1;
- h=NULL;
- h=t=(struct node *)malloc(sizeof(struct node));
- t->roll=maxstudent;
- //printf("\nRoll no of a student: %d\t",maxstudent);
- //printf("\nName of a student:\t");
- strcpy(t->name,"admin");
- strcpy(t->mark,"admin");
- // printf("\nVerify Marks of a student:\t
- maxstudent++;
- flagger=1;
- t->next=NULL;
- while(1)
- {
- rtm=0;
- notloggingout=0;
- flagger=0;
- if(adminmode==0){
- printf("\nMANAJEMEN DATABASE USER");
- printf("\n\n1.Register\n2.Login (khusus user)\n3.Login admin\n6.Bantuan\n0.exit\n");
- }
- else{
- printf("\nMANAJEMEN DATABASE USER");
- printf("\n[Admin mode: On]\n1.Register\n2.Login (khusus user, logout terlebih dahulu)\n3.Logout admin\n4.display database (khusus admin)\n5.Delete user (Khusus admin)\n6.Bantuan\n0.exit\n");
- }
- printf("\nMasukkan pilihan Anda:\t");
- scanf("%d",&ch);
- switch(ch)
- {
- case 4:
- if(adminmode){
- if(h==NULL)
- {
- printf("no records are available");
- }
- w=h;
- while(w!=NULL)
- {
- printf("\nID:%d\nUsername:%s\n",
- w->roll,w->name);
- //marks of a student:%s ,w->mark
- w=w->next;
- }
- }
- else{
- printf("Anda tidak pempunyai privilege untuk mengakses ini.");
- }
- break;
- case 1:
- printf("\n~~REGISTER~~=\t");
- if(h==NULL)
- {
- h=t=(struct node *)malloc(sizeof(struct node));
- t->roll=maxstudent;
- printf("\nID Anda: %d\t",maxstudent);
- printf("\nUsername:\t\t");
- scanf("%s",&t->name);
- do{
- printf("\nPassword:\t");
- scanf("%s",t->mark);
- printf("\nVerifikasi password:\t");
- scanf("%s",vmark);
- if(strcmp(vmark,t->mark)!=0){
- printf("Mark doesn't match");
- }
- else{
- maxstudent++;
- flagger=1;
- }
- }while(flagger==0);
- t->next=NULL;
- break;
- }
- else
- {
- t1=(struct node *)malloc(sizeof(struct node));
- t1->roll=maxstudent;
- while(flagger==0){
- printf("\nID Anda: %d\t",maxstudent);
- printf("\nUsername:\t");
- scanf("%s",&t1->name);
- if(strcicmp(t1->name,"admin")==0){
- printf("Username sudah ada.");
- }
- else{
- flagger=1;
- }
- }
- flagger=0;
- do{
- printf("\nPassword:\t\t");
- scanf("%s",t1->mark);
- printf("\nVerifikasi password:\t");
- scanf("%s",vmark);
- if(strcmp(vmark,t1->mark)!=0){
- printf("Mark doesn't match");
- }
- else{
- maxstudent++;
- flagger=1;
- }
- }while(flagger==0);
- t1->next=t->next;
- t->next=t1;
- t=t1;
- }
- break;
- case 5:
- if(adminmode){
- printf("Masukkan ID user yang ingin di-delete.\n");
- scanf("%d",&ps);
- if(ps==0){
- printf("Anda tidak men-delete akun Admin.");
- }
- else{
- t=h;
- while(t->roll!=ps-1)
- {
- if(t->next!=NULL){
- t=t->next;
- }
- }
- if(t->next!=NULL){
- t1=t->next;
- }
- t->next=t1->next;
- free(t1);
- }
- }
- else{
- printf("Anda tidak pempunyai privilege untuk mengakses ini.");
- }
- break;
- case 4123893:
- printf("enter the roll number whose data you want to modifiy\n");
- scanf("%d",&ps);
- t=h;
- while(t->roll!=ps)
- {
- t=t->next;
- }
- printf("\nThe New Rollno.of a student:\t");
- scanf("%d",&t->roll);
- printf("\nThe New Name of a student:\t");
- scanf("%s",&t->name);
- printf("\nThe New Marks of a student:\t");
- scanf("%d",&t->mark);
- break;
- case 0:
- exit(0);
- break;
- case 2:
- if(adminmode){
- printf("Silakan logout admin untuk login user.\n");
- }
- else{
- printf("\nLOGIN\n");
- while(flagger==0){
- w=h;
- w=w->next;
- if(w==NULL){
- printf("Tidak ada user. Silakan register untuk membuat akun.\n");
- flagger=1;
- rtm=1;
- }
- else{
- printf("Masukkan username\n");
- scanf("%s",&query);
- do{
- //printf("\nchecking:%d\nname of a student:%s\nmarks of a student:%s\n",w->roll,w->name,w->mark);
- if(strcicmp(query,w->name)==0){
- w1=w;
- flagger=1;
- }
- else{
- }
- w=w->next;
- }while(w!=NULL&&flagger==0);
- if(flagger==0){
- printf("Username tidak ditemukan.\n1. Coba lagi\nTombol angka lain. Kembali ke menu utama");
- scanf("%d",&ch);
- switch(ch){
- case 1:
- break;
- default:
- flagger=1;
- rtm=1;
- break;
- }
- }
- }
- }
- flagger=0;
- if(rtm==0){
- while(flagger==0){
- printf("Masukkan password.");
- scanf("%s",&query);
- //printf("\nchecking:%d\nname of a student:%s\nmarks of a student:%s\n",w->roll,w->name,w->mark);
- if(strcmp(query,w1->mark)==0){
- flagger=1;
- }
- else{
- puts("Password salah.\n1. Coba lagi\nTombol lain. Kembali ke menu utama");
- scanf("%d",&ch);
- switch(ch){
- case 1:
- break;
- default:
- rtm=1;
- break;
- break;
- }
- }
- }
- flagger=0;
- if(rtm==0){
- while(notloggingout==0){
- puts("");
- printf("Selamat datang, %s\n1. Ubah Password\n2. Hapus akun\n3. Logout\n0. Tutup Program\n",w1->name);
- scanf("%d",&ch);
- switch(ch){
- case 1:{
- printf("~~Ubah Password~~\nMasukkan password lama. Jika password salah, maka akan kembali ke menu akun.\n");
- printf("\nchecking:%d\nname of a student:%s\nmarks of a student:%s\n",w1->roll,w1->name,w1->mark);
- scanf("%s",&query);
- //printf("\nchecking:%d\nname of a student:%s\nmarks of a student:%s\n",w->roll,w->name,w->mark);
- if(strcmp(query,w1->mark)==0){
- printf("\nMasukkan password baru\t");
- scanf("%s",query);
- printf("\nVerifikasikan password baru:\t");
- scanf("%s",vmark);
- if(strcmp(vmark,query)!=0){
- printf("\nPassword tidak cocok.\n");
- }
- else{
- strcpy(w1->mark,query);
- flagger=1;
- }
- }
- else{
- puts("\nPassword salah.\n");
- }
- break;
- }
- case 2:{
- printf("\nAnda yakin ingin menghapus akun? Akun tidak akan dapat dipulihkan.\n1. Iya\nTombol lain. Tidak:\t");
- scanf("%d",&ch);
- if(ch==1){
- if(w1->next!=NULL){
- t1=w1->next;
- }
- w1->next=t1->next;
- free(t1);
- printf("Akun berhasil dihapus.\nTekan tombol apa saja untuk kembali ke menu.");
- notloggingout=1;
- getch();
- }
- break;
- }
- case 3:{
- notloggingout=1;
- break;
- }
- }
- }
- }
- }
- break;
- }
- break;
- case 3:{
- if(adminmode){
- printf("Anda berhasil logout.\n");
- system("pause");
- system("cls");
- adminmode=0;
- break;
- }
- else{
- printf("\nLOGIN ADMIN\n");
- while(flagger==0){
- w=h;
- printf("Masukkan username Admin:\t");
- scanf("%s",&query);
- //printf("\nchecking:%d\nname of a student:%s\nmarks of a student:%s\n",w->roll,w->name,w->mark);
- if(strcicmp(query,w->name)==0){
- w1=w;
- flagger=1;
- }
- if(flagger==0){
- printf("Username Admin salah.\n1. Coba lagi\nTombol angka lain. Kembali ke menu utama\nMasukkan angka:\t");
- ch=getch();
- switch(ch){
- case 1:
- break;
- default:
- flagger=1;
- rtm=1;
- break;
- }
- }
- }
- flagger=0;
- if(rtm==0){
- while(flagger==0){
- printf("Masukkan password:\t\t");
- scanf("%s",&query);
- //printf("\nchecking:%d\nname of a student:%s\nmarks of a student:%s\n",w->roll,w->name,w->mark);
- if(strcmp(query,w1->mark)==0){
- system("cls");
- printf("\nSelamat datang, %s.\n",w->name);
- adminmode=1;
- flagger=1;
- }
- else{
- puts("Password salah.\n1. Coba lagi\nTombol lain. Kembali ke menu utama\nMasukkan angka:\t");
- ch=getch();
- switch(ch){
- case 1:
- break;
- default:
- flagger=1;
- rtm=1;
- break;
- }
- }
- }
- flagger=0;
- break;
- }
- }
- }
- case 6:{
- if(rtm==0){
- printf("Bantuan \n");
- printf("Pengguna memasukkan nomor pilihan sesuai pilihan yang ada \n");
- printf("1. Registrasi -> Pengguna dapat mendaftarkan ID sebagai salah satu pengguna yang terdaftar \n");
- printf("2. Login User -> Pengguna memasukkan username dan password yang sebelumnya telah dibuat di register \n");
- printf("3. Login Admin -> Hanya admin yang dapat login ke pilihan ini dan dapat mengedit account yang telah ada \n");
- system("pause");
- }
- system("cls");
- rtm=0;
- break;
- }
- }
- }
- }
- int strcicmp(char const *a, char const *b)
- {
- for (;; a++, b++) {
- int d = tolower(*a) - tolower(*b);
- if (d != 0 || !*a)
- return d;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement