c_结构体多文件
来源:互联网 发布:电子元器件数据库ic 编辑:程序博客网 时间:2024/05/29 21:34
main.m
//
// main.m
// 708
//
// Created by dllo on 15/7/8.
// Copyright (c) 2015年 flg. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "708.h"
int main(int argc,constchar * argv[]) {
//1.创建一个Size结构体,包含width,height两个变量。
////1.1判断两个size是否等宽***************************************
// size a1={4,5};
// size a2={4,6};
// if (equilWidth(a1,a2)) {
// printf("等宽\n");
// }
// else{printf("不等宽\n");}
////1.2判断两个size是否等高***************************************
// if (equilHight(a1,a2)) {
// printf("等高\n");
// }
// else{printf("不等高\n");}
////1.3判断两个size是否相等***************************************
// if (equil(a1,a2)) {
// printf("相等\n");
// }
// else{printf("不相等\n");}
//2.定义一个结构体,有两个成员变量,一个是姓名,一个是速度,然后计算两人相距100公里,第一个人的速度4公里/h第二个人的速度6公里/h*****************************
////函数1, 两人相向而行,相遇的时候第一个人走了多远**********************
// distance a1={"anyichen",4};
// distance a2={"ningzhiyuan",6};
// int s=0;
// s=distance1(a1,a2);
// printf("%d\n",s);
////函数2, 第一个人先走40公里,第二个人走多远能追上第一个人***************
// int s1=0;
// s1=distance2(a1,a2);
// printf("%d\n",s1);
//3.某班有 5个学生,三门课。分别编写 3个函数实现以下要求:**************
//struct className class={"shuxue",stu1,"yuwen",stu2,"yingyu",stu3};
//struct score stu1={70,80,90,50,40};
//struct score stu2={60,50,40,85,56};
//struct score stu3={70,80,50,45,80};
//student a1={"anyichen",1101,class};
//student a2={"ningzhiyuan",1102,class};
//student a3={"xiaoyahuizi",1103,class};
//student a4={"anleyan",1104,class};
//student a5={"huaqiangu",1105,class};
//3.某班有 5个学生,三门课。分别编写 3个函数实现以下要求:**************
////(1)求各门课的平均分;*****************************************
// student a1={"anyichen",1101,100,80,90};
// student a2={"ningzhiyuan",1102,100,90,50};
// student a3={"xiaoyahuizi",1103,40,50,50};
// student a4={"anleyan",1104,80,90,90};
// student a5={"huaqiangu",1105,10,20,20};
// int averMath=0,averChinese=0,averEnglish=0;
// averMath=averageMath(a1,a2,a3,a4,a5);
// printf("数学平均分=%d\n",averMath);
// averChinese=averageChinese(a1,a2,a3,a4,a5);
// printf("语文平均分=%d\n",averChinese);
// averEnglish=averageEnglish(a1,a2,a3,a4,a5);
// printf("英语平均分=%d\n",averEnglish);
//////(2)找出有两门以上不及格的学生,并输出其学号和不及格课程的成绩;********
// noPass(a1,a2,a3,a4,a5);
//////(3)找出三门课平均成绩在 85-90分的学生,并输出其学号和姓名************
// averagedemand(a1,a2,a3,a4,a5);
///////////////////////老师的方法///////////////////////////////////////
Student1 stu1={"anyichen",80.5,90.5,85,"1101"};
Student1 stu2={"ningzhiyuan",82.5,94.5,86,"1102"};
Student1 stu3={"xiaoyahuizi",72.5,68.5,55,"1103"};
Student1 stu4={"anleyan",41.5,46.5,25,"1104"};
Student1 stu5={"wenshixuan",48.5,71.5,50,"1105"};
Student1 stu[5]={stu1,stu2,stu3,stu4,stu5};
//1.调用取平均值函数
avgScore(stu,5);
//2.找出有两门及以上不及格的学生,并输出其学号和不及格课程的成绩;
printNoPassStu(stu,5);
//3.找出三门课平均成绩在 85-90分的学生,并输出其学号和姓名************
scoreThree(stu,5);
//*****************结构体嵌套***************************************
//className class={"math","chinese","englishi",score[3]};
// classScore score1={50,60,70,80,90};
// classScore score2={60,70,70,80,90};
// classScore score3={50,60,80,80,90};
// classScore score[3]={score1,score2,score3};
// className class1={"math",50,60,70,80,90};
// className class2={"chinese",60,70,70,80,90};
// className class3={"englishi",50,60,80,80,90};
// className class[3]={class1,class2,class3};
// //****************************************************************
// Student2 stu1={"anyichen","1101",class[3]};
// Student2 stu2={"ningzhiyuan","1102",class[3]};
// Student2 stu3={"xiaoyahuizi","1103",class[3]};
// Student2 stu4={"anleyan","1104",class[3]};
// Student2 stu5={"wenshixuan","1105",class[3]};
////*****************************************************************
// Student2 stu[5]={stu1,stu2,stu3,stu4,stu5};
//
// printf(“%s”,stu[1].class[1].className);
return 0;
}
(2)708.m
//
// 708.m
// 708
//
// Created by dllo on 15/7/8.
// Copyright (c) 2015年 flg. All rights reserved.
//
#import "708.h"
//1.创建一个Size结构体,包含width,height两个变量。
////1.1判断两个size是否等宽***************************************
BOOL equilWidth(size a1,size a2){
if (a1.width==a2.width) {
return YES;
}
returnNO;
}
////1.2判断两个size是否等高***************************************
BOOL equilHight(size a1,size a2){
if (a1.height==a2.height) {
return YES;
}
returnNO;
}
////1.3判断两个size是否相等***************************************
BOOL equil(size a1,size a2){
if (a1.height==a2.height&&a1.width==a2.width) {
return YES;
}
returnNO;
}
//2.定义一个结构体,有两个成员变量,一个是姓名,一个是速度,然后计算两人相距100公里,第一个人的速度4公里/h第二个人的速度6公里/h////函数1,两人相向而行,相遇的时候第一个人走了多远
////函数1, 两人相向而行,相遇的时候第一个人走了多远**********************
int distance1(distance a1,distance a2){
int s=0;
s=4*(100/(a2.speed+a1.speed));
return s;
}
////函数2, 第一个人先走40公里,第二个人走多远能追上第一个人**************
int distance2(distance a1,distance a2){
int s=0;
s=100+40+(140*a1.speed)/(a2.speed-a1.speed);
return s;
}
//3.某班有 5个学生,三门课。分别编写 3个函数实现以下要求:**************
////(1)求各门课的平均分;*****************************************
int averageMath(student a1,student a2,student a3,student a4,student a5){
int averageMathScore=0;
averageMathScore=(a1.mathScore+a2.mathScore+a3.mathScore+a4.mathScore+a5.mathScore)/5;
return averageMathScore;
}
int averageChinese(student a1,student a2,student a3,student a4,student a5){
int averageChineseScore=0;
averageChineseScore=(a1.chineseScore+a2.chineseScore+a3.chineseScore+a4.chineseScore+a5.chineseScore)/5;
return averageChineseScore;
}
int averageEnglish(student a1,student a2,student a3,student a4,student a5){
int averageEnglishScore=0;
averageEnglishScore=(a1.englishScore+a2.englishScore+a3.englishScore+a4.englishScore+a5.englishScore)/5;
return averageEnglishScore;
}
////(2)找出有两门及以上不及格的学生,并输出其学号和不及格课程的成绩;
void noPass(student a1,student a2,student a3,student a4,student a5){
if ((a1.mathScore<60&&a1.chineseScore<60&&a1.englishScore<60)||(a1.mathScore<60&&a1.chineseScore<60&&a1.englishScore>=60)||(a1.mathScore>=60&&a1.chineseScore<60&&a1.englishScore<60)||(a1.mathScore<60&&a1.chineseScore>=60&&a1.englishScore<60)){
printf("不及格学生学号及各科成绩:学号:%d,数学:%d,语文:%d,英语:%d\n",a1.stuNumber,a1.mathScore,a1.chineseScore,a1.englishScore);
}
if ((a2.mathScore<60&&a2.chineseScore<60&&a2.englishScore<60)||(a2.mathScore<60&&a2.chineseScore<60&&a2.englishScore>=60)||(a2.mathScore>=60&&a2.chineseScore<60&&a2.englishScore<60)||(a2.mathScore<60&&a2.chineseScore>=60&&a2.englishScore<60)) {
printf("不及格学生学号及各科成绩:学号:%d,数学:%d,语文:%d,英语:%d\n",a2.stuNumber,a2.mathScore,a2.chineseScore,a2.englishScore);
}
if ((a3.mathScore<60&&a3.chineseScore<60&&a3.englishScore<60)||(a3.mathScore<60&&a3.chineseScore<60&&a3.englishScore>=60)||(a3.mathScore>=60&&a3.chineseScore<60&&a3.englishScore<60)||(a3.mathScore<60&&a3.chineseScore>=60&&a3.englishScore<60)) {
printf("不及格学生学号及各科成绩:学号:%d,数学:%d,语文:%d,英语:%d\n",a3.stuNumber,a3.mathScore,a3.chineseScore,a3.englishScore);
}
if ((a4.mathScore<60&&a4.chineseScore<60&&a4.englishScore<60)||(a4.mathScore<60&&a4.chineseScore<60&&a4.englishScore>=60)||(a4.mathScore>=60&&a4.chineseScore<60&&a4.englishScore<60)||(a4.mathScore<60&&a4.chineseScore>=60&&a4.englishScore<60)) {
printf("不及格学生学号及各科成绩:学号:%d,数学:%d,语文:%d,英语:%d\n",a4.stuNumber,a4.mathScore,a4.chineseScore,a4.englishScore);
}
if ((a5.mathScore<60&&a5.chineseScore<60&&a5.englishScore<60)||(a5.mathScore<60&&a5.chineseScore<60&&a5.englishScore>=60)||(a5.mathScore>=60&&a5.chineseScore<60&&a5.englishScore<60)||(a5.mathScore<60&&a5.chineseScore>=60&&a5.englishScore<60)) {
printf("不及格学生学号及各科成绩:学号:%d,数学:%d,语文:%d,英语:%d\n",a5.stuNumber,a5.mathScore,a5.chineseScore,a5.englishScore);
}
}
////(3)找出三门课平均成绩在 85-90分的学生,并输出其学号和姓名***************
void averagedemand(student a1,student a2,student a3,student a4,student a5){
int aver1=0;
aver1=(a1.mathScore+a1.chineseScore+a1.englishScore)/3;
if ((aver1>85||aver1==85)&&(aver1<90||aver1==90)) {
printf("三门平均成绩在85-90的学生学号和姓名:学号:%d,姓名:%s\n",a1.stuNumber,a1.stuName);
}
int aver2=0;
aver2=(a2.mathScore+a2.chineseScore+a2.englishScore)/3;
if ((aver2>85||aver2==85)&&(aver2<90||aver2==90)) {
printf("三门平均成绩在85-90的学生学号和姓名:学号:%d,姓名:%s\n",a2.stuNumber,a2.stuName);
}
int aver3=0;
aver3=(a3.mathScore+a3.chineseScore+a3.englishScore)/3;
if ((aver3>85||aver3==85)&&(aver3<90||aver3==90)) {
printf("三门平均成绩在85-90的学生学号和姓名:学号:%d,姓名:%s\n",a3.stuNumber,a3.stuName);
}
int aver4=0;
aver4=(a4.mathScore+a4.chineseScore+a4.englishScore)/3;
if ((aver4>85||aver4==85)&&(aver4<90||aver4==90)) {
printf("三门平均成绩在85-90的学生学号和姓名:学号:%d,姓名:%s\n",a4.stuNumber,a4.stuName);
}
int aver5=0;
aver5=(a5.mathScore+a5.chineseScore+a5.englishScore)/3;
if ((aver5>85||aver5==85)&&(aver5<90||aver5==90)) {
printf("三门平均成绩在85-90的学生学号和姓名:学号:%d,姓名:%s\n",a5.stuNumber,a5.stuName);
}
}
///////////////////////老师的方法///////////////////////////////////////
////1.求各门课的平均分;*****************************************
void avgScore(Student1 stu[],int count){
float chineseCount=0;
for (int i=0; i<count; i++) {
chineseCount+=stu[i].chinese;
}
printf("语文平均分:%g\n",chineseCount/count);
//
float englishCount=0;
for (int i=0; i<count; i++) {
englishCount+=stu[i].english;
}
printf("英语平均分:%g\n",englishCount/count);
//
float mathCount=0;
for (int i=0; i<count; i++) {
mathCount+=stu[i].math;
}
printf("数学平均分:%g\n",mathCount/count);
};
////2.找出有两门及以上不及格的学生,并输出其学号和不及格课程的成绩;
//void printNoPassStu(Student1 stu[],int count){
// for (int i=0; i<count; i++) {
// float num[3]={-1,-1,-1};
// int noPass=0;
//// noPass=stu[i].chinese<60?++
//// noPass:noPass;
//// noPass=stu[i].english<60?++
//// noPass:noPass;
//// noPass=stu[i].math<60?++
//// noPass:noPass;
// if (stu[i].chinese<60) {
// noPass++;
// num[0]=stu[i].chinese;
// }
// if(stu[i].english<60){
// noPass++;
// num[1]=stu[i].english;
// }
// if(stu[i].math<60){
// noPass++;
// num[2]=stu[i].math;
// }
// if (noPass>=2) {
// for (int j=0; j<3; j++) {
// if (num[j]>=0) {
// printf("%g ",num[j]);
// }
// }
// }
//
//};
////2.找出有两门及以上不及格的学生,并输出其学号和不及格课程的成绩;
void printNoPassStu(Student1 stu[],int count){
for (int i=0; i<count; i++) {
int noPass=0;
if (stu[i].chinese<60) {
noPass+=1;
}
if(stu[i].english<60){
noPass+=1;
}
if(stu[i].math<60){
noPass+=1;
}
if (noPass>=2) {
printf("两门及以上不及格的学生姓名:%s学号%s语文成绩%g英语成绩%g数学成绩%g\n",stu[i].stuName,stu[i].stuNum,stu[i].chinese,stu[i].english,stu[i].math);
}
}
};
////(3)找出三门课平均成绩在 85-90分的学生,并输出其学号和姓名***************
void scoreThree(Student1 stu[],int count){
for (int i=0; i<count; i++) {
float average=0;
average=(stu[i].chinese+stu[i].english+stu[i].math)/3;
if (average>=85&&average<=90) {
printf("三门课平均成绩在85-90分姓名:%s学号:%s三科平均分为:%g\n",stu[i].stuName,stu[i].stuNum,average);
}
}
};
(3)708.h
//
// 708.h
// 708
//
// Created by dllo on 15/7/8.
// Copyright (c) 2015年 flg. All rights reserved.
//
#import <Foundation/Foundation.h>
//1.创建一个Size结构体,包含width,height两个变量。
struct Size{
int width;
int height;
};
typedef struct Size size;
////1.1判断两个size是否等宽***************************************
BOOL equilWidth(size a1,size a2);
////1.2判断两个size是否等高***************************************
BOOL equilHight(size a1,size a2);
////1.3判断两个size是否相等***************************************
BOOL equil(size a1,size a2);
//2.定义一个结构体,有两个成员变量,一个是姓名,一个是速度,然后计算两人相距100公里,第一个人的速度4公里/h第二个人的速度6公里/h
struct distance{
char name[20];
int speed;
};
typedef struct distance distance;
////函数1, 两人相向而行,相遇的时候第一个人走了多远*********************
int distance1(distance a1,distance a2);
////函数2, 第一个人先走40公里,第二个人走多远能追上第一个人**************
int distance2(distance a1,distance a2);
//3.某班有 5个学生,三门课。分别编写 3个函数实现以下要求:**************
struct student{
char stuName[20];
int stuNumber;
int mathScore;
int chineseScore;
int englishScore;
};
typedef struct student student;
////(1)求各门课的平均分;*****************************************
int averageMath(student a1,student a2,student a3,student a4,student a5);
int averageChinese(student a1,student a2,student a3,student a4,student a5);
int averageEnglish(student a1,student a2,student a3,student a4,student a5);
////(2)找出有两门以上不及格的学生,并输出其学号和不及格课程的成绩;********
void noPass(student a1,student a2,student a3,student a4,student a5);
////(3)找出三门课平均成绩在 85-90分的学生,并输出其学号和姓名**************
void averagedemand(student a1,student a2,student a3,student a4,student a5);
///////////////////////老师的方法///////////////////////////////////////
//声明结构体
typedef struct student1 {
char stuName[20];
float chinese;
float english;
float math;
char stuNum[20];
}Student1;
//找到五个人各个学科的平均值
void avgScore(Student1 stu[],int count);
//找出有两门以上不及格的学生,并输出其学号和不及格课程的成绩;
void printNoPassStu(Student1 stu[],int count);
//找出三门课平均成绩在 85-90分的学生,并输出其学号和姓名************
void scoreThree(Student1 stu[],int count);
//*****************结构体嵌套**************************************
////*****************************************************************
//struct classScore{
// int score1;
// int score2;
// int score3;
// int score4;
// int score5;
//};
//typedef struct classScore classScore;
////*****************************************************************
struct className{
char classes[20];
int score1;
int score2;
int score3;
int score4;
int score5;
};
typedef struct className className;
////******************************************************************
struct Student2{
char stuName[20];
char stuNum[10];
className class;
};
typedef struct Student2 Student2;
////*******************************************************************
- c_结构体多文件
- c_结构体多文件
- c_结构体
- c_结构体指针
- C_结构体
- C_结构体和共同体
- c_结构体指针ATM机2
- c_结构体指针 ATM机
- C_分支结构篇
- C_循环结构
- c_分支结构
- c_分支结构
- c_循环结构
- c_循环结构
- C_文件读写流
- 小白学开发(iOS)基础C_结构体(2015-07-18)
- Objective-C_语言_文件管理
- C_文件(1)关于fopen函数
- linux线程
- android Activity初次的启动的时候播放声音
- 目标,方法,选择,努力
- POJ_FlipGame
- 常使用命令
- c_结构体多文件
- Find a way(bfs)
- tableView计算动态行高的总结
- 菜鸟开通博客,第一站,目标是充满未知与挑战的下一站
- linux中设置TAB键的宽度
- hdu 1247 Hat’s Words(字典树)
- Foundation框架介绍
- pthread_attr_setstacksize(
- javascript不可能全会的30道题