Untitled

mail@pastecode.io avatar
unknown
plain_text
25 days ago
3.9 kB
3
Indexable
Never
#define _CRT_SECURE_NO_WARNINGS
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_STR 64
#define MAX_USERS 10

typedef struct User
{
    char izena[MAX_STR];
    char pasahitza[MAX_STR];
    int erabiltzaile_mota; // 0 user, 1 admin, 2 guest
    char email[MAX_STR];
    int id;
} User_S;

User_S datubasea[] = {{"admin", "admin", 1, "admin@mondragon.edu", 1},
                      {"idazkaritza", "11111", 0, "idaz@gmailcom", 2},
                      {"joseba", "qwerty", 2, "jaagirre@mondragon.edu", 3},
                      {"irati", "ydwdaj", 2, "iagirre@mondragon.edu", 4},
                      {"jon", "1231d", 2, "jon@mondragon.edu", 5}};

void erabiltzaileak_bistaratu(User_S datubasea[], int kop_users);
void erabiltzailea_bat_bistaratu(User_S erabiltzailea);
void erabiltzaile_mota_bistaratu(User_S erabiltzailea);
void itxaron();
User_S erabiltzaile_datuak_eskatu();
int konprobatu_user(User_S erabiltzaile_bat);
void menua_denda(int erabil_mota, User_S erabiltzaile_bat);
void agur_mezua();

int main(int num, char *args[])
{
    // ALDAGAIAK
    int logeatua = 0;
    User_S user1;
    int saiakerak = 3;
    int kop_users = 5;

    erabiltzaileak_bistaratu(datubasea, kop_users);
    itxaron();
    do
    {
        user1 = erabiltzaile_datuak_eskatu();
        logeatua = konprobatu_user(user1);
        saiakerak--;
        system("cls");
    } while (!logeatua && saiakerak > 0);

    menua_denda(logeatua, user1);
    // bukaera
    agur_mezua();
    return 0;
}

void erabiltzaileak_bistaratu(User_S datubasea[], int kop_users)
{
    int i;
    for (i = 0; i < kop_users; i++)
    {
        erabiltzailea_bat_bistaratu(datubasea[i]);
    }
}

void erabiltzailea_bat_bistaratu(User_S erabiltzailea)
{
    printf("%d. %s | %s | %s ", erabiltzailea.id, erabiltzailea.izena, erabiltzailea.email, erabiltzailea.pasahitza);
    erabiltzaile_mota_bistaratu(erabiltzailea);
}

void erabiltzaile_mota_bistaratu(User_S erabiltzailea)
{
    int mota = erabiltzailea.erabiltzaile_mota;
    switch (mota)
    {
    case 0:
        printf("| Permission: user\n");
        break;
    case 1:
        printf("| Permission: admin\n");
        break;
    case 2:
        printf("| Permission: guest\n");
        break;
    }
};

void itxaron()
{
    char kar = '0';
    printf("\n-----------------------------\n");
    printf("Sakatu return jarraitzeko....\n");
    printf("-----------------------------\n");
    kar = getchar();
    system("cls");
}
User_S erabiltzaile_datuak_eskatu()
{
    User_S erabiltzaile_bat;
    char str[MAX_STR];
    printf("================Subasta aplikazioan sartzeko logina================\n");
    printf("Username:");
    fgets(str, MAX_STR, stdin);
    str[strlen(str) - 1] = '\0';
    strcpy(erabiltzaile_bat.izena, str);

    printf("Password:");
    fgets(str, MAX_STR, stdin);
    str[strlen(str) - 1] = '\0';
    strcpy(erabiltzaile_bat.pasahitza, str);
    return erabiltzaile_bat;
}

int konprobatu_user(User_S erabiltzaile_bat)
{
    int izenak_berdinak;
    int pasahitza_berdinak;
    int login = 0;
    izenak_berdinak = !strcmp(erabiltzaile_bat.izena, "admin");
    if (izenak_berdinak)
    {
        pasahitza_berdinak = !strcmp(erabiltzaile_bat.pasahitza, "qwerty");
        if (pasahitza_berdinak)
        {
            login = true;
        }
    }
    return login;
}

void menua_denda(int erabil_mota, User_S erabiltzaile_bat)
{
    if (erabil_mota)
    {
        printf("Kaixo %s, administratzaile bezala logeatuta zaude\n", erabiltzaile_bat.izena);
    }
    else
    {
        printf("Ez duzu pasahitza asmatu\n");
    }
}

void agur_mezua()
{
    char kar = '0';
    printf("Sakatu return bukatzeko....");
    kar = getchar();
}
Leave a Comment