用户名和密码为空,一直判断错误

用户名和密码为空,一直判断错误


main.m

#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString   stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
#import <Foundation/Foundation.h>
#import "UsernameandPassword.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSLog(@"******************iOS学习系统注册界面******************\n");
        UsernameandPassword *u1 = [[UsernameandPassword alloc]init];
//        UserAdministration *ua = [[UserAdministration alloc]init];
        [u1 Register];
         [u1 UserSignin];
        [u1 FunctionSelection];
    }
    return 0;
}
UsernameandPassword.h

#import <Foundation/Foundation.h>
#import "UserAdministration.h"
@interface UsernameandPassword : NSObject
@property(nonatomic,strong)NSString *Username;
@property(nonatomic,strong)NSString *Password;

-(void)UserSignin;
-(void)Register;
-(void)FunctionSelection;



@end
UsernameandPassword.m

#import "UsernameandPassword.h"

#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString   stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])


@implementation UsernameandPassword



    //用户注册
-(void)Register{
    UserAdministration *userAd = [[UserAdministration alloc]init];
    [userAd Userregistration];

    
}

-(void)UserSignin{
    
   UserAdministration *userAd = [[UserAdministration alloc]init];
    
    //用户登录
    NSLog(@"******************iOS学习系统登录界面******************");
    NSLog(@"是否登录:\n1登录\n2不登录\n");
    //登录选项
    int LoginOptions = 0;
    scanf("%d",&LoginOptions);
    
    
    if (LoginOptions == 1) {
            //用户名
            NSLog(@"请输入登录用户名:");
            
            char buffer1[1000];
            
            scanf("%s",buffer1);
            
            NSString * youname = [NSString stringWithUTF8String:buffer1];
            
            //用户密码
            NSLog(@"请输入登录密码:");
            
            char buf2[1000];
            
            scanf("%s",buf2);
            
            NSString * youpassword = [NSString stringWithUTF8String:buf2];
        NSLog(@"%@ %@",userAd.flag,userAd.fla);
            //判断输入的用户名和密码是否和注册时的一致
            if(youname == userAd.flag && youpassword == userAd.fla){
                NSLog(@"%@ %@",userAd.flag,userAd.fla);
                NSLog(@"\n登录成功\n");
                NSLog(@"******************iOS学习系统功能选择界面******************\n");
                NSLog(@"请输入要选择的功能\n");
                
            }else{
                NSLog(@"用户名或密码错误,请重新输入\n");
                [self UserSignin];
            }
                
    }else{
        
        NSLog(@"退出学习系统\n");
    }
}
-(void)FunctionSelection{
    //登录后功能选择:1>1>2>1    这样就可以一直循环
    
    //登录后操作
    NSLog(@"1 观看iOS学习视频\n2 下载iOS学习资料\n3 直接退出\n");
    //功能选择
    int a = 1;
    int b = 0;
    while (a > b) {
        
    
    int Function = 0;
    scanf("%d",&Function);
    
    if (Function == 1) {
        
        NSLog(@"视频为空\n观看iOS学习视频中……\n请输入要选择的功能:\n");
        NSLog(@"1 观看iOS学习视频\n2 下载iOS学习资料\n3 直接退出\n");
        //观看视频
        int WatchVideo = 0;
        scanf("%d",&WatchVideo);
        
        if (WatchVideo == 1) {
            NSLog(@"1 查询所有iOS视频\n2 通过ID选择播放某一iOS视频\n3 添加一个新的iOS视频\n4 删除某一iOS视频\n");
            //通过ID播放视频
            int IdPlay = 0;
            scanf("%d",&IdPlay);
            if (IdPlay == 1) {
                NSLog(@"观看iOS学习视频中……\n");
            }else if (IdPlay == 2){
                
                NSLog(@"请输入要选择观看的视频ID\n");
                //播放ID视频
                int VideoiD = 0;
                scanf("%d",&VideoiD);
                if (VideoiD == 1) {
                    NSLog(@"你查找的视频不存在\n观看学习视频中……\n请输入要选择的功能:\n");
                    NSLog(@"1 观看iOS学习视频\n2 下载iOS学习资料\n3 直接退出\n");
                }
            }
            
        }
    }else if (Function == 2){
        
        NSLog(@"1 下载所有iOS视频\n2 通过ID选择下载某一iOS视频\n");
        
    }else if (Function == 3){
        
        NSLog(@"退出\n");
        
    }
        a++;
    }
    
}

@end
UserAdministration.h

#import <Foundation/Foundation.h>
#import "UsernameandPassword.h"
@interface UserAdministration : NSObject

-(void)Userregistration;
@property(nonatomic,strong)NSString *flag;
@property(nonatomic,strong)NSString *fla;
-(id)initWithFlag:(NSString *)flag Fla:(NSString *)fla;
@end
UserAdministration.m

#import "UserAdministration.h"
#import "UsernameandPassword.h"
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString   stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
@implementation UserAdministration

-(id)initWithFlag:(NSString *)flag Fla:(NSString *)fla{
    self = [super init];
    if (self) {
        self.flag = flag;
        self.fla = fla;
    }
    return self;
}

    //用户注册信息
-(void)Userregistration{
    
    
    NSLog(@"请输入注册用户名:");
    
    char buffer[1000];
    
    scanf("%s",buffer);
    
    self.flag = [NSString stringWithUTF8String:buffer];
    
    
    NSLog(@"请输入注册密码:");
    
    char buf[1000];
    
    scanf("%s",buf);
    
    self.fla = [NSString stringWithUTF8String:buf];
    
    
    NSLog(@"注册成功");
    
    
    
}


@end


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Tender10 2017-11-27 18:11:24

几个地方做了改动,你可以对比一下代码先看一下,然后你看看有什么不明白的地方可以在问答里进行提问,主要原因是保存的登录密码类初始化了多次,清空了数据。你写的相关代码我做了注释。

main.m

#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString   stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
#import <Foundation/Foundation.h>
#import "UsernameandPassword.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSLog(@"******************iOS学习系统注册界面******************\n");
        UsernameandPassword *u1 = [[UsernameandPassword alloc]init];
        UserAdministration *ua = [[UserAdministration alloc] init];
        [ua Userregistration];
        u1.userAd = ua;
        [u1 UserSignin];
        [u1 FunctionSelection];
    }
    return 0;
}

UsernameandPassword.h


#import <Foundation/Foundation.h>
#import "UserAdministration.h"

@interface UsernameandPassword : NSObject
@property(nonatomic,strong)NSString *Username;
@property(nonatomic,strong)NSString *Password;
@property(nonatomic,strong)UserAdministration *userAd;

-(void)UserSignin;
//-(void)Register;
-(void)FunctionSelection;
@end

UsernameandPassword.m

//
//  UsernameandPassword.m
//  1
//
//  Created by hm  on 17/11/27.
//  Copyright © 2017年 imooc. All rights reserved.
//

#import "UsernameandPassword.h"


#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString   stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])


@implementation UsernameandPassword



//用户注册
//-(void)Register{
//    UserAdministration *userAd = [[UserAdministration alloc]init];
//    [userAd Userregistration];
//    
//    
//}

-(void)UserSignin{
    
//     self.userAd= [[UserAdministration alloc]init];
    
    //用户登录
    NSLog(@"******************iOS学习系统登录界面******************");
    NSLog(@"是否登录:\n1登录\n2不登录\n");
    //登录选项
    int LoginOptions = 0;
    scanf("%d",&LoginOptions);
    
    
    if (LoginOptions == 1) {
        //用户名
        NSLog(@"请输入登录用户名:");
        
        char buffer1[1000];
        
        scanf("%s",buffer1);
        
        NSString * youname = [NSString stringWithUTF8String:buffer1];
        
        //用户密码
        NSLog(@"请输入登录密码:");
        
        char buf2[1000];
        
        scanf("%s",buf2);
        
        NSString * youpassword = [NSString stringWithUTF8String:buf2];
        
    
        NSLog(@"%@ %@",self.userAd.flag,self.userAd.fla);
        //判断输入的用户名和密码是否和注册时的一致
        if(youname == self.userAd.flag && youpassword == self.userAd.fla){
            NSLog(@"%@ %@",self.userAd.flag,self.userAd.fla);
            NSLog(@"\n登录成功\n");
            NSLog(@"******************iOS学习系统功能选择界面******************\n");
            NSLog(@"请输入要选择的功能\n");
            
        }else{
            NSLog(@"用户名或密码错误,请重新输入\n");
            [self UserSignin];
        }
        
    }else{
        
        NSLog(@"退出学习系统\n");
    }
}
-(void)FunctionSelection{
    //登录后功能选择:1>1>2>1    这样就可以一直循环
    
    //登录后操作
    NSLog(@"1 观看iOS学习视频\n2 下载iOS学习资料\n3 直接退出\n");
    //功能选择
    int a = 1;
    int b = 0;
    while (a > b) {
        
        
        int Function = 0;
        scanf("%d",&Function);
        
        if (Function == 1) {
            
            NSLog(@"视频为空\n观看iOS学习视频中……\n请输入要选择的功能:\n");
            NSLog(@"1 观看iOS学习视频\n2 下载iOS学习资料\n3 直接退出\n");
            //观看视频
            int WatchVideo = 0;
            scanf("%d",&WatchVideo);
            
            if (WatchVideo == 1) {
                NSLog(@"1 查询所有iOS视频\n2 通过ID选择播放某一iOS视频\n3 添加一个新的iOS视频\n4 删除某一iOS视频\n");
                //通过ID播放视频
                int IdPlay = 0;
                scanf("%d",&IdPlay);
                if (IdPlay == 1) {
                    NSLog(@"观看iOS学习视频中……\n");
                }else if (IdPlay == 2){
                    
                    NSLog(@"请输入要选择观看的视频ID\n");
                    //播放ID视频
                    int VideoiD = 0;
                    scanf("%d",&VideoiD);
                    if (VideoiD == 1) {
                        NSLog(@"你查找的视频不存在\n观看学习视频中……\n请输入要选择的功能:\n");
                        NSLog(@"1 观看iOS学习视频\n2 下载iOS学习资料\n3 直接退出\n");
                    }
                }
                
            }
        }else if (Function == 2){
            
            NSLog(@"1 下载所有iOS视频\n2 通过ID选择下载某一iOS视频\n");
            
        }else if (Function == 3){
            
            NSLog(@"退出\n");
            
        }
        a++;
    }
    
}

@end

UserAdministration.h

//
//  UserAdministration.h
//  1
//
//  Created by hm  on 17/11/27.
//  Copyright © 2017年 imooc. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface UserAdministration : NSObject

-(void)Userregistration;
@property(nonatomic,strong)NSString *flag;
@property(nonatomic,strong)NSString *fla;
-(id)initWithFlag:(NSString *)flag Fla:(NSString *)fla;
-(void)Userregistration;
@end

UserAdministration.m

//
//  UserAdministration.m
//  1
//
//  Created by hm  on 17/11/27.
//  Copyright © 2017年 imooc. All rights reserved.
//

#import "UserAdministration.h"
#import "UsernameandPassword.h"
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString   stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
@implementation UserAdministration

-(id)initWithFlag:(NSString *)flag Fla:(NSString *)fla{
    self = [super init];
    if (self) {
        self.flag = flag;
        self.fla = fla;
    }
    return self;
}

//用户注册信息
-(void)Userregistration{
    
    
    NSLog(@"请输入注册用户名:");
    
    char buffer[1000];
    
    scanf("%s",buffer);
    
    self.flag = [NSString stringWithUTF8String:buffer];
    
    
    NSLog(@"请输入注册密码:");
    
    char buf[1000];
    
    scanf("%s",buf);
    
    self.fla = [NSString stringWithUTF8String:buf];
    
    
    NSLog(@"注册成功");
    
    NSLog(@"%@,%@",self.flag,self.fla);
    
}

@end


  • 提问者 楼上大白 #1
    可是这样还是报错,u1.userAd = ua;这一句
    2017-11-27 19:28:23
  • Tender10 回复 提问者 楼上大白 #2
    你先新建一个项目,把我的代码都复制过去吧,我这边都是测试过的,你不要对比着复制到你原来的项目里,可能有一些小的细节导致的错误。
    2017-11-27 19:34:28
  • 提问者 楼上大白 回复 Tender10 #3
    @property(nonatomic,strong)UserAdministration *userAd;这句还是报错了
    2017-11-27 20:23:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师