Link file txt: https://app.box.com/s/1brngknxzgsy4iwgyssz
/**
Tạo 1 dslk THONG TIN gồm tài khoản và mật khẩu ...
a.Nhập danh sách, điều kiện mật khẩu phải có ít nhất 1 chữ cái hoa, 1 chữ cái thường, 1 chữ số và 1 kí tự đặc biệt.
mật khẩu có ít nhất 8 kí tự.
dừng nhập khi nhập vào tài khoản là kí tự trắng.
b. Bổ sung 1 tài khoản vào danh sách, nếu đã có thì ko bổ sung nữa.
c. Xóa tất cả các tài khoản trùng nhau.
/**/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<malloc.h>
struct TK
{
char tk[100];
char mk[100];
TK *tiep;
};
TK *dau=NULL, *cuoi;
void tao(char *tk,char *mk)
{
TK *p=(TK*)malloc(sizeof(TK));
// hoặc dùng TK *p=new TK; trong C++
strcpy(p->tk,tk);
strcpy(p->mk,mk);
if(dau==NULL)
dau=p;
else
cuoi->tiep=p;
p->tiep=NULL;
cuoi=p;
}
int ktra_mat_khau(char* s)
{
if(strlen(s)<8)
return 0;
for(int i=0;s[i];i++)
if(s[i]>=32&&s[i]<=126) // các ký tự ASCII in được bao gồm các chữ cái, chữ số và ký tự đặc biệt
return 1;
return 0;
}
void nhap()
{
int i=1;
char tk1[100],mk1[100];
while(1)
{
printf("\n Nhap thong tin tai khoan %d: ",i);
printf(" Ten tai khoan: ");
fflush(stdin);
gets(tk1);
if(tk1[0]==NULL)
return;
do
{
printf(" Mat khau: ");
fflush(stdin);
gets(mk1);
} while(ktra_mat_khau(mk1)==0);
tao(tk1,mk1);
i++;
}
}
void inds()
{
for(TK *p=dau;p!=NULL;p=p->tiep)
printf("\n Tai khoan: %s; Mat khau: %s",p->tk,p->mk);
}
void bosung(char* tk1, char* mk1)
{
for(TK *p=dau;p!=NULL;p=p->tiep)
if(strcmp(p->tk,tk1)==0)
return;
tao(tk1,mk1);
}
void main()
{
nhap();
printf("\n---------------------------------\n");
printf("\n\n Nhap thong tin can bo sung: ");
char tk1[100],mk1[100];
printf("Tai khoan: ");
fflush(stdin);
gets(tk1);
printf("Mat khau: ");
fflush(stdin);
gets(mk1);
bosung(tk1,mk1);
inds();
getch();
}
Không có nhận xét nào:
Đăng nhận xét