Exemplo n.º 1
0
void Passwd(){
	char oldpwd[30],newpwd[30],newpwd1[30];
	account_t data=gl_CurUser;
	int i=MAX_TIMES,q=0;
	system("clear");
        printf("\n\t\t==================================================================");
        printf("\n\t\t***************************密码修改********************************");
        printf("\n\t\t==================================================================");
        printf("\n\t\t|	当前用户为:%s",gl_CurUser.username);
       	cl_stdin();      		
       		while(i--){
       	        printf("\n\t\t|	旧密码:");
	       		getpwd(30,oldpwd); //input passwd
	       		
	       		if( strcmp(oldpwd,gl_CurUser.password)==0 ){
	       			q=1;
	       			break;
	       		}else{
	       		
		       		if(i>0){  
					printf("\n\n		------------用户名或密码错误!还可以输入%d次-------------",i);
					sleep(1);
                    }
		        }
            }
		while(q){
				 	printf("\n\t\t|	新密码:");
				//cl_stdin();
				getpwd(30,newpwd);
				 	printf("\n\t\t|	再输一次:");
							
				getpwd(30,newpwd1);
				if( strcmp(newpwd,newpwd1)==0 ){
						strcpy(data.password,newpwd);
						
						if(Account_Srv_Modify(&data)){
							gl_CurUser=data;
							printf("\n		----------------------------修改成功!------------------------------");
			
						}else{

							printf("\n		----------------------------修改失败!------------------------------");
						}
						
						break;
				}else{
							
						printf("\n\n		-----------------两次新密码输入不一致!-------------------------");
					sleep(1);
				}
		}
		
		sleep(1);
	

}
Exemplo n.º 2
0
//根据用户账号名修改用户账号密码,不存在这个用户账号名,提示出错信息
int Account_UI_Modify(account_list_t list ,char usrName[]) {
	account_node_t *temp;
	printf("请输入用户名\n");
	fflush(stdin);
	scanf("%s",usrName);
	temp=(account_node_t *)malloc(sizeof(account_node_t));
	temp=Account_Srv_FindByUsrName(list,usrName);
	if(temp==NULL)
	{
		printf("用户名不存在\n");
		return 0;
	}
	else 
	{	printf("请输入您的新密码\n");
		fflush(stdin);
		scanf("%s",temp->data.password);
		Account_Srv_Modify(&(temp->data));
	printf("修改成功\n");
	return 1;
	
	}
	return 1;
}
Exemplo n.º 3
0
//根据用户账号名修改用户账号密码,不存在这个用户账号名,提示出错信息
int Account_UI_Modify(account_list_t head,char usrName[]) {
       		int er=0,ret=0,q=0;
       		char choice;
            void Passwd();
            
	Pagination_t paging;
	paging.totalRecords = Account_Srv_FetchAll(head);
		account_t data;	
		if( Account_Srv_FetchByUsrName(usrName,&data) ){
			if(gl_CurUser.id==data.id){
				printf("\n		----------------------------没有权限!------------------------------");
				cl_stdin();
				getchar();
				return 0;
			}
			while(1) { 

				system("clear");
				
				printf("\n\t\t==================================================================");
       			printf("\n\t\t***************************修改用户********************************");
        		printf("\n\t\t==================================================================");
       			printf("\n\t\t\t%s\t\t%s\t\t%s", "ID", "用户类型", "用户名");
				printf("\n\t\t------------------------------------------------------------------");
            	printf("\n		             \033[31m**该功能涉及系统安全,请谨慎操作!**\033[0m\n");
				printf("\n\t\t------------------------------------------------------------------");
				printf("\n\t\t\t%d\t\t ", data.id);
			
				switch(data.type){
					case USR_CLERK:  printf("%s\t\t\t","CLERK"); 	break;
					case USR_MANG:	 printf("%s\t\t\t","MANG");  	break;
					case USR_ADMIN:  printf("%s\t\t\t","ADMIN"); 	break;
				}
				printf("%-20s", data.username);
				printf("\n		==================================================================");
        		printf("\n		|---------总数%2d------------------------------%2d/%2d页----------|",paging.totalRecords ,Pageing_CurPage(paging),Pageing_TotalPages(paging));
        		printf("\n		==================================================================");;
				printf("\n		******************************************************************");
        		printf("\n\t\t|	  [T]ype	|	[P]asswd	|	[R]eturn	|");
        		printf("\n		******************************************************************");
        		printf("\n\t\tYour choice:");
				choice=l_getc();
				if('r'==choice || 'R'==choice) break;	
				switch(choice){
					
						
					case 'p':
					case 'P':
                        Passwd();
						/*{
						char fpwd[30]spwd[30];
						while(1){
							printf("\n\t\t|	新密码:");
							cl_stdin();
							getpwd(30,fpwd);
							printf("\n\t\t|请再次输入新密码:");
							
							getpwd(30spwd);
							if( strcmp(fpwdspwd)==0 ){
								strcpy(data.password,fpwd);
								q=1;
								break;
							}else{
							printf("\n\n		-----------------两次新密码输入不一致!-------------------------");
							}
						}
						}*/
						break;
						
					case 't':
					case 'T':
						printf("\n		-------[1].CLERK------------[2].MANG-------------[3].ADMAIN--------");
						printf("\n		|     请选择用户类型:");
						while(1){
							er=0;
							choice=l_getc();
							switch(choice){
								case '1': 
									
									if(data.type!= USR_CLERK){
										data.type= USR_CLERK;
									}else{
										printf("\n		----------------------------类型相同!------------------------------");
									} 	
									break;
									
								case '2': 
								
									if(data.type!= USR_MANG){
										data.type= USR_MANG;
										q=1;
									}else{
										printf("\n		----------------------------类型相同!------------------------------");
										q=0;
									} 	
									break;
								case '3': 
								
									if(data.type!= USR_ADMIN){
										data.type= USR_ADMIN;
										q=1;
									}else{
										printf("\n		----------------------------类型相同!------------------------------");
										q=0;
									} 	
									break;
								default : er=1; printf("\n\t\t        	           **输入有误!**   ");
							}
							if(er!=1) break;
						}
						break;
					}
			
				
				if(q && Account_Srv_Modify(&data)){
					printf("\n		----------------------------修改成功!------------------------------");
					ret=1;
				}else{
					if(q!=0) printf("\n		----------------------------修改成功!------------------------------");;
				}
				cl_stdin();
				sleep(1);
		
		}
       
       }else{
       		printf("\n		----------------------------未找到信息!------------------------------");
		cl_stdin();
		sleep(1);
       	}
       
       return ret;
}