已解决问题 - 浏览144次
下一个已解决问题
过客
218.15.22.*
编一个要求有菜单功能的程序
1.学生数据有:学号、姓名、数学、语文、英语成绩,求其平均成绩;
2.对若干个学生,求总平均成绩;
3.找出平均成绩大于总平均成绩的学生;
4.找出平均成绩最大的学生;
5.按平均成绩由大到小排序;
6.按平均成绩排名次。
最佳答案 - 由投票者2008-07-07 02:02:01选出
根据我的理解来说下程序的思路:
开始定义类
class student{
int *xuehao;
char *xingming
class chengxi{
float shuxue;
float yuwen;
...........
}
}//采用类的嵌套 也可以使用结构体
对于2 3 4 5 6 分别作为菜单的子项目:
编写switch()语言 来实现学则跳转 2 3 4 5 6作为标签
这里使用到goto语句(一般下最好不使用goto用别的语言代替)
int num;
switch(num)
{
case 2:
goto label2;break;
case 3:
goto label3;break;
...............
}
//上面完成了菜单的设置 这里我没有按照正规的来写
//接下来就是定义各个标签了 这里以标签2为例子;假设头文件和标量已经声明
label2:
puts(" please input some student。。");
//根据前面定义的类 这个时候我们以类chengji 是单独的类看待
class chengxu fff;//定义对象fff
for(i=0;i<n,i++)
{scanf("%f",fff.yuwen);//求语文的总平均成绩其他的求平均和整体平均思路一样 n表示要求输入的学生数
float number=0;
number+=fff.yuwen}
float average;
average=number/n;
cout<<average;
//--------------------------------
//3 比较简单
//4 可以先设置某个人的平均成句最打 最后用一个循环语句来实现比较
//5 要是你正再学C C++那么这个程序是最简单了 书有很多这样的排序例子 你也可以用算法来实现 冒泡算法
//6 5的派生 不会了5就慧6 就是输出有点改变











