张丽文 发表于 2014-3-9 10:32:14

求助,成绩管理 统计 各科不同分数段的 人数,科目多,想用函数,但返回值多,不知

int compaer(int x)//比较统计各分数段的人数,返回值代表人数
{   int a=0,b=0,c=0,d=0,f=0;

    if(x<60)
    f++;
    else if(x=>60&&x<69)
    d++;
   else if(x=>70&&x<79)
    c++;
    else if(x=>80&&x<89)
    b++;
    else if(x=>90&&x<=100)
    a++;

    return(a,b,c,d,f);
   
}


for(i=0;i<4;i++)/*通过循环记录各科情况,但是 返回值有4个我该如何处理,y定义好像也不行*/
{
   int y;
   y=compare(stu.englishscore);
   
   int z;
   z=compare(stu.mathscore);

   int h;
   z=compare(stu.Ccore);
}如何实现呢好像有好大的问题

谭斌谭斌 发表于 2014-3-9 10:32:15

返回一个动态数组的首地址,里面的值就是你的数据,用完之后记得释放
还有,第一段代码,一个变量就行,不要那么多个

你亲儿子 发表于 2014-3-21 23:36:57

不如自己定义一个结构体?
stuct   XX
{
   xx xx;
   xx xx;
}反回值的类型 用这个定义的结构体。

||solo 发表于 2014-3-24 01:20:14

你怎么不把全部程序的代码发上来?你这里应该使用静态变量,不然你每次返回的值都是1。你可以把return放到每一个if语句中,反正不符合就不会执行。
页: [1]
查看完整版本: 求助,成绩管理 统计 各科不同分数段的 人数,科目多,想用函数,但返回值多,不知