兴趣小组功能:
共有语数英三个兴趣小组;
可任意选择兴趣小组;
选择成功后当前小组人数加一
小组人数满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);
}