Advertisement
Ilias2019

test projet 1

Apr 8th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.00 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. typedef struct book_date{
  5.     int day,month,year;
  6. }book_date;
  7.  
  8.  
  9. typedef struct book{
  10.     int isbn;
  11.     char *book_name;
  12.     char *book_auteur;
  13.     book_date publish_date;
  14. }book;
  15.  
  16.  
  17. typedef struct administrator{
  18.     char name[10];
  19.     char username[30];
  20.     char password[30];
  21. }administrator;
  22.  
  23.  
  24. typedef struct client{
  25.     int num_client;
  26.     char nom[10];
  27.     char prenom[10];
  28.     char username[30];
  29.     char password[30];
  30. }client;
  31.  
  32.  
  33. int test_user(char *user){
  34.     FILE * fichier_client;
  35.     client test;
  36.     fichier_client=fopen("clients.txt","r");
  37.         while(!feof(fichier_client)){
  38.             fscanf(fichier_client,"%d / %s / %s / %s / %s",&test.num_client,test.nom,test.prenom,test.username,test.password);
  39.             if(strcmp(user,test.username)==0) return 0;
  40.         }
  41.     return 1;
  42. }
  43.  
  44.  
  45. int accorder_client(char *user,char *pass){
  46.     FILE * p_client;
  47.     client test;
  48.     p_client=fopen("clients.txt","r");
  49.         while(!feof(p_client)){
  50.             fscanf(p_client,"%d / %s / %s / %s / %s",&test.num_client,test.nom,test.prenom,test.username,test.password);
  51.             if(strcmp(user,test.username)==0){
  52.                 if(strcmp(pass,test.password)==0){
  53.                     fclose(p_client);
  54.                 }
  55.             }
  56.         }
  57.     fclose(p_client);
  58.     return 1;
  59. }
  60.  
  61.  
  62. int add_client(client clt){
  63.     FILE * p_client;
  64.     p_client=fopen("clients.txt","r+");
  65.     fseek(p_client,0,SEEK_END);
  66.     fprintf(p_client,"%d / %s / %s / %s / %s\n",clt.num_client,clt.nom,clt.prenom,clt.username,clt.password);
  67.     fclose(p_client);
  68.     return 0;
  69. }
  70.  
  71. void client_signup(client clt){
  72.         printf("Enter Lastname: ");
  73.         scanf("%s",clt.nom);
  74.         printf("Enter Firstname: ");
  75.         scanf("%s",clt.prenom);
  76.         int try_again=1;
  77.         while(try_again==1){
  78.         printf("Enter Username: ");
  79.         scanf("%s",clt.username);
  80.         if(test_user(clt.username)==0){
  81.             printf("Username already in use!\n");
  82.             printf("Try Again? yes(1) no(2) : ");
  83.             scanf("%d",&try_again);
  84.             }
  85.         else break;
  86.         }
  87.         if(try_again!=2){
  88.             printf("Enter Password: ");
  89.             scanf("%s",clt.password);
  90.             add_client(clt);
  91.             printf("You Have Successfully Signed Up!\n");
  92.         }
  93.         main();
  94. }
  95.  
  96. void client_signin(client clt){
  97.         char user_login[30],pass_login[30];
  98.         printf("Enter Username: ");
  99.         scanf("%s",user_login);
  100.         if(test_user(user_login)==0){
  101.             printf("Enter Password: ");
  102.             scanf("%d",pass_login);
  103.             if(accorder_client(user_login,pass_login)==0)printf("Success!\n");
  104.         }
  105. }
  106.  
  107. int admin_signin(administrator admin){
  108.     administrator admin_test;
  109.     printf("Admin Sign in!\n");
  110.     printf("Enter Username: ");
  111.     scanf("%s",admin_test.username);
  112.     FILE * p_admin;
  113.     p_admin=fopen("admin.txt","r");
  114.     while(!feof(p_admin)){
  115.         fscanf(p_admin,"%s / %s / %s",admin.username,admin.password,admin.name);
  116.         if(strcmp(admin_test.username,admin.username)!=0) {
  117.             printf("No such Username!\n");
  118.             return 1;
  119.             break;
  120.         }
  121.         else{
  122.             printf("Enter Password: ");
  123.             scanf("%s",admin_test.password);
  124.             if(strcmp(admin_test.password,admin.password)!=0){
  125.                 printf("Password is incorrect!\n");
  126.                 return 1;
  127.                 break;
  128.             }
  129.             else {
  130.                 printf("Welcome back %s!\n",admin.name);
  131.                 break;
  132.             }
  133.         }
  134.     }
  135.     fclose(p_admin);
  136.     int a;
  137.     printf("Enter Portal? (1)yes (2)no: ");
  138.     scanf("%d",&a);
  139.     if(a==1) return 0;
  140.     else if(a==2) return 1;
  141. }
  142.  
  143.  
  144. void admin_portal(){
  145.     printf("Portal!\n");
  146. }
  147.  
  148. int main(){
  149.     int a,i;
  150.     client tab_client[50];
  151.     client _client;
  152.     administrator admin;
  153.     printf("(1)sign up\n(2)sign in\n(3)sign in as admin\n(4)Quit\n->");
  154.     scanf("%d",&a);
  155.     switch(a){
  156.         case 1: client_signup(_client); break;
  157.         case 2: client_signin(_client); break;
  158.         case 3: if(admin_signin(admin)==0) admin_portal(); break;
  159.         default : system("pause"); return 0;
  160.     }
  161.     system("pause");
  162. return 0;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement