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

【Objective_C】基础学习—兴趣小组demo相关推荐

  1. 计算机基础应用的培养活动记录,小学少年宫计算机兴趣小组活动记录表

    小学少年宫计算机兴趣小组活动记录表 小学少年宫计算机兴趣小组活动记录表 活动名称:计算机 指导教师: ⅩⅩ 学生姓名 活动地点 计算机教室 活 动 过 程 活动1.认识计算机 ①师:"请同学 ...

  2. 对计算机知识的兴趣,大学新生计算机学习基础与兴趣的调查分析

    文章编号:1672-5913(2008)12-0029-04 摘要:本文根据大学计算机基础课程的教学目标和面临的情况,对大学新生的计算机基础知识和能力以及学习兴趣进行了调查,分析了调查结果,提出了相关 ...

  3. 计算机兴趣小组活动实施方式,信息技术兴趣小组活动计划

    <信息技术兴趣小组活动计划>由会员分享,可在线阅读,更多相关<信息技术兴趣小组活动计划(5页珍藏版)>请在人人文库网上搜索. 1.信息技术兴趣小组活动计划 一.指导思想:以小学 ...

  4. 小学计算机课的活动设计方案,小学信息技术兴趣小组活动策划书三篇

    小学信息技术兴趣小组活动策划书三篇 篇一:电脑兴趣小组活动计划 根据现代教育形势发展的要求,为了充分利用学生的课余时间,引导学生合理休闲,促进学生的特长与能力协调发展,同时为进一步开发和发挥学生的创造 ...

  5. python教学视频k_GitHub - y000k/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

  6. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

    在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...

  7. 计算机兴趣小组意义,信息技术兴趣小组开展之我见

    信息技术学科有别于其他学科.多年来本人一直从事中学信息技术的教学,从简单的DOS平台教到WindowsXP操作系统.我觉得信息技术教育在当今素质教育中是多方面的. 中小学信息技术课程重点在培养学生的创 ...

  8. 小学少年宫计算机组活动教案,小学少年宫计算机兴趣小组活动记录表汇编

    <小学少年宫计算机兴趣小组活动记录表汇编>由会员分享,可在线阅读,更多相关<小学少年宫计算机兴趣小组活动记录表汇编(10页珍藏版)>请在人人文库网上搜索. 1.小学少年宫计算机 ...

  9. 计算机少年宫辅导教师总结,微机兴趣小组活动总结

    少年宫活动微机小组总结 为了迎接新世纪的挑战,为了全面推行教育,培养学生全面发展,我们学校继上学期继续开展了丰富多彩的第二课堂兴趣小组,为那些有各种特长的学生了发展的机会,对他们进行了专业知识方面的系 ...

最新文章

  1. C#程序设计语言Version2.0简介
  2. 自行车车把会吧车刮坏吗_花10分钟即可开始使用车把
  3. php 按汉字首字母查询[转载]
  4. python3(十三)File对象的属性
  5. Java ASM与Javassit
  6. python2.7 pyqt4创建qtapp_python-2.7 – 向TabWidget pyqt4添加加号按钮
  7. 在Mac OS X上安装Oracle客户端
  8. mac修改php配置文件,MAC下通过改apache配置文件切换php多版本的方法
  9. XNOR.ai融资1200万美元
  10. Linux-nginx安装
  11. 一劳永逸解决latex的字体问题
  12. html5 web报表工具,Web报表工具的填报功能
  13. 为什么tumblr起作用
  14. 微电影|小白创作微电影的辛酸
  15. 【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
  16. excel表格打印每页都有表头_分享|1分钟学会,让打印的表格每页自带标题行
  17. 短址服务实现的一些算法
  18. 【Datawhale组队学习Pytorch】Task 完结篇
  19. vs2022 c#调用interop.word 12.0版本也就是word2007实现首行缩进两个字符
  20. mysql单节点扩展为主从复制_MySQL主从复制

热门文章

  1. 如何从神品屋下载废柴道士2并放入kindle
  2. 无法注册Parallels Desktop
  3. python乌鸦喝水问题总结
  4. PHP 平均拆分数组算法
  5. 【linux软件安装】rpm安装卸载命令
  6. Adaptive Two-Stage Filter for De-snowing LiDAR Point Clouds(DNNOR)
  7. 开工大吉|让我们一起向未来
  8. java中set的初始化_关于Java Set的初始化方法
  9. PolarDB-X 2.1 新版本发布 让“MySQL 原生分布式”触手可及
  10. Mac 下使用ll命令(linux 自定义命令bash)