关于注册登录失败
//
// main.m
// IOS学习系统
//
// Created by phinx on 2018/4/8.
//
#import <Foundation/Foundation.h>
#import "Denglu.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Xinxi * xi =[[Xinxi alloc]init];
[xi zhuCe]; //调用注册方法
Denglu * dl = [[Denglu alloc]init];
[dl dengLu]; //调用登录方法
dl.user = xi;
}
return 0;
}
#import <Foundation/Foundation.h>
#import "Xinxi.h"
@interface Denglu : NSObject
@property(nonatomic,strong)NSString *loginName;
@property(nonatomic,strong)NSString *loginPassWord;
@property(nonatomic,strong)Xinxi*user;
-(void)dengLu;//登录方法
@end
#import "Denglu.h"
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
@implementation Denglu
-(void)dengLu{
NSLog(@"注册成功\n");
NSLog(@"ios学习系统登录界面\n");
NSLog(@"是否登录\n1登录\n2不登录\n");
int u = 0;
scanf("%d",&u);
if(u == 1){
NSLog(@"请输入用户名:");
char name[1000];
scanf("%s",name);
NSString*loginName = [NSString stringWithUTF8String:name];
NSLog(@"请输入登录密码\n");
char loginpassWord [1000];
scanf("%s",loginpassWord);
NSString*loginPassWord = [NSString stringWithUTF8String:loginpassWord];
NSLog(@"你登录的账号名=%s密码=%s\n",name,loginpassWord);
if([loginName isEqualToString:self.user.uesrName]&&[loginPassWord isEqualToString:self.user.passWord]){
NSLog(@"登录成功\n");
}else{
NSLog(@"登录失败\n");
}
}
}
@end
#import <Foundation/Foundation.h>
//用户信息
@interface Xinxi : NSObject
@property(nonatomic,strong)NSString *uesrName;
@property(nonatomic,strong)NSString *passWord;
-(id)initWithUesrName:(NSString *)userName passWord:(NSString *)passWord;
-(void)zhuCe; //注册用户方法
@end
#import "Denglu.h"
#import "Xinxi.h"
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
@implementation Xinxi
-(id)initWithUesrName:(NSString *)uesrName passWord:(NSString *)passWord{
self = [super init];
if(self){
self.uesrName = uesrName;
self.passWord = passWord;
}
return self;
}
-(void)zhuCe{
NSLog(@"****ios学习系统注册界面***\n");
NSLog(@"请输入注册用户名\n");
char name[1000]; //缓冲区
scanf("%s",name);//读取控制台的输入信息
self.uesrName = [NSString stringWithUTF8String:name];//接收控制台输入的信息并储存
NSLog(@"请输入注册用户密码\n");
char code[1000];
scanf("%s",code);
self.passWord = [NSString stringWithUTF8String:code];
NSLog(@"你注册的账号名=%s密码=%s",name,code);
}
@end
正在回答
1、登录失败的原因是在登录方法中判断登录时的用户名和注册时的用户名是否一致时,其实获取的self.user.uesrName和self.user.passWord都是为空的。所以判断总是会走else语句,输出“登录失败”。
2、解决方法:登录注册可以在一个类中实现,直接加一个登录方法,然后判断的时候直接判断用户输入的用户名和密码,和self.uesrName、self.passWord是否一致即可。
- 参与学习 1337 人
- 提交作业 712 份
- 解答问题 1878 个
很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星