兄弟,我给你测试了一遍,原封不动的粘贴的你的代码,我自己加的主函数,结果显示代码没有问题。以下是详情:
- #pragma mark 这是Student.h
- #import <Foundation/Foundation.h>
- // 生日
- typedef struct {
- int year;
- int month;
- int day;
- } Date;
- // 性别
- typedef enum {
- SexMan,
- SexWoman,
- SexUnknow
- } Sex;
- @interface Student : NSObject
- {
- @public
- char *name; // 姓名
- Date birthday; // 生日
- int age; // 年龄
- double height; // 身高
- double weight; // 体重
- Sex sex; // 性别
- int cScore; // C语言成绩
- int ocScore; // OC成绩
- int iosScore; // iOS成绩
- }
- - (void)run; // 跑
- - (void)eat; // 吃
- - (void)study; // 学习
- - (void)sleep; // 睡觉
- - (int)compareCScoreWithOther:(Student *)other; // 比较C成绩
- - (int)compareOcScoreWithOther:(Student *)other; // 比较OC成绩
- - (int)compareIosScoreWithOther:(Student *)other; // 比较iOS成绩
- - (int)totalScore; //
复制代码
- #pragma mark 这是Student.m
- #import <Foundation/Foundation.h>
- #import"Student.h"
- @implementation Student
- - (void)run // 跑
- {
- height += 0.01;
- weight -= 0.5;
- NSLog(@"学生跑完后的体重是%f公斤", weight);
- }
- - (void)eat // 吃
- {
- height += 0.01;
- weight += 0.5;
- NSLog(@"学生吃完后的体重是%f公斤", weight);
- }
- - (void)study // 学习
- {
- cScore += 1;
- ocScore += 1;
- iosScore += 1;
- }
- - (void)sleep // 睡觉
- {
- NSLog(@"姓名=%s,身高=%f米,体重=%f公斤,生日=%d-%d-%d,年龄=%d岁,性别=%d,C成绩=%d,OC成绩=%d,iOS成绩=%d", name, height, weight, birthday.year, birthday.month, birthday.day, age, sex,
- cScore, ocScore, iosScore);
- }
- - (int)compareCScoreWithOther:(Student *)other // 比较C成绩
- {
- return cScore - other->cScore;
- }
- - (int)compareOcScoreWithOther:(Student *)other // 比较OC成绩
- {
- return ocScore - other->ocScore;
- }
- - (int)compareIosScoreWithOther:(Student *)other // 比较iOS成绩
- {
- return iosScore - other->iosScore;
- }
- - (int)totalScore // 总分
- {
- return cScore + ocScore + iosScore;
- }
- - (int)averageScore // 平均分
- {
- return (cScore + ocScore + iosScore) / 3;
- }
- @end
复制代码
- #pragma mark 这是main
- #import <Foundation/Foundation.h>
- #import"Student.h"
- int main()
- {
- Student * s1 = [[Student alloc]init];
- Student * s2 = [[Student alloc]init];
-
- s1->cScore = 10;
- s2->cScore = 20;
- int sum = [s1 compareCScoreWithOther:s2];
- NSLog(@"%d",sum);
- return 0;
- }
复制代码
完全没改你的代码。
唯一值得注意的是:主函数中调用方法compareCScoreWithOther:时 你试试从Student.h文件中把方法名复制粘贴过来 这样可能保证不出错。
你按照我说的试试,不行的话再说。
|