【Objective_C】基础学习—兴趣小组demo

兴趣小组功能:
共有语数英三个兴趣小组;
可任意选择兴趣小组;
选择成功后当前小组人数加一
小组人数满3人后不可选择
可任意退选兴趣小组;
若当前兴趣小组无人,则退选失败
若退选成功,则当前兴趣小组人数减一
以上均可循环操作。

//
//  main.m
//  OC_Demo5
//
//  Created by 。。。。 on 2021/12/13.
//

#import <Cocoa/Cocoa.h>

//小组包含:小组人数,小组招收状态
@interface Interclass : NSObject{
    int count;
    //float studentname;
    //NSMutableDictionary *mutableDic;
    @public NSString *status;
    @public bool yesNo;
}
-(void) setcount:(bool)popclass;
-(NSString *) setStatus;
-(void) draw;
@end

@implementation Interclass
-(id)init{
    if(self = [super init]){
        count = 0;
        yesNo = YES;
        status = @"未招满";
    }
    return (self);
}

-(void) setcount:(bool)pushclass{
    if(pushclass){
        if(count >= 0 && count < 3){
            count++;
        }
        [self setStatus];
    }else{
        count--;
        if(count < 0){
            NSLog(@"未选择当前兴趣小组");
        }
        [self setStatus];
    }
}
-(NSString *) setStatus{
    if (count>=3) {
        status = @"已招满";
        yesNo = NO;
    }else{
        status = @"未招满";
        yesNo = YES;
    }
    return status;
}
-(void) draw{
    NSLog(@"该兴趣小组有 %d 人,小组状态: %@",count,status);
}
    
@end
    
//数学兴趣小组
@interface Mathsclass :Interclass
@end

@implementation Mathsclass

-(void) draw{
    NSLog(@"欢迎加入数学兴趣小组");
    NSLog(@"该兴趣小组有 %d 人,小组状态: %@",count,status);
}

@end
    
    
//英语兴趣小组
@interface Englishclass :Interclass
@end

@implementation Englishclass

-(void) draw{
    NSLog(@"欢迎加入英语兴趣小组");
    NSLog(@"该兴趣小组有 %d 人,小组状态: %@",count,status);
}

@end
    
    
//中文兴趣小组
@interface Chineseclass :Interclass
@end

@implementation Chineseclass

-(void) draw{
    NSLog(@"欢迎加入中文兴趣小组");
    NSLog(@"该兴趣小组有 %d 人,小组状态: %@",count,status);
}

@end

@interface Student : NSObject{
    int countclass;
    float studentname;
}
-(void) setname:(float)name;
@end

@implementation Student

-(void) setname:(float)name{
    studentname = name;
}


@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // Setup code that might create autoreleased objects goes here.
        Mathsclass *math = [Mathsclass new];
        //Mathsclass *math = [[Mathsclass alloc]init];
        Englishclass *english = [[Englishclass alloc]init];
        Chineseclass *chinese = [[Chineseclass alloc]init];
        int number;
        bool pushclass = YES;
        NSLog(@"欢迎加入兴趣小组!");
        NSLog(@"选择数学小组请按1,选择英语小组请按2,选择语文小组请按3");
        NSLog(@"退选请按4,退出系统请按0");
        scanf("%i", &number);
        while (number != 0) {
            switch(number){
                case 4:
                    pushclass = NO;
                    NSLog(@"选择退选的科目:");
                    scanf("%i",&number);
                    switch(number){
                        case 1:
                            [math setcount:pushclass];
                            NSLog(@"操作成功");
                            break;
                        case 2:
                            [english setcount:pushclass];
                            NSLog(@"操作成功");
                            break;
                        case 3:
                            [chinese setcount:pushclass];
                            NSLog(@"操作成功");
                            break;
                    }
                    break;
                case 1:
                    [math setcount:pushclass];
                    if(math->yesNo){
                        NSLog(@"选择成功");
                    }
                    else{
                        NSLog(@"已招满,选择失败");
                    }
                    [math draw];
                    break;
                case 2:
                    [english setcount:pushclass];
                    if(english->yesNo){
                        NSLog(@"选择成功");
                    }
                    else{
                        NSLog(@"已招满,选择失败");
                    }
                    [english draw];
                    break;
                case 3:
                    [chinese setcount:pushclass];
                    if(chinese->yesNo){
                        NSLog(@"选择成功");
                    }
                    else{
                        NSLog(@"已招满,选择失败");
                    }
                    [chinese draw];
                    break;
            }
            scanf("%i",&number);
        }
        
        
    }
    return (0);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值