注册 登录
编程论坛 C++教室

这个程序要崩溃啊,大家帮帮忙

cpp9928 发布于 2011-05-21 16:46, 830 次点击
#include <iostream>
using namespace std;
void main()
{
    system("title 学生成绩统计器");
    cout<<"学生成绩统计器"<<endl<<"----------"<<endl;
    long rs=0,jgrs=0;
    unsigned long zfs;
    cout<<"你有多少个学生?"<<endl;
    cin>>rs;
    float yssz[2]['rs'];
    system("cls");
    for (int gg=0;gg<rs;gg++)
    {
        cout<<"接下来统计成绩(语文数学):"<<endl;
        cin>>yssz[0]['gg']>>yssz[1]['gg'];
        system("cls");
        if ((yssz[0]['gg']>60)||(yssz[1]['gg']>60))
        {
            jgrs++;
        }
        for (long swe=1;swe<=rs;swe++)
        {
            zfs=yssz[1]['swe']+yssz[2]['swe'];《《《《《《《《《《《《《这句出了什么问题???
        }
        cout<<"总平均分为"<<zfs/rs<<"。"<<endl;
    }
    cout<<"及格人数有"<<rs-jgrs<<"个!"<<"不及格人数有"<<jgrs<<"个!"<<endl;
    system("pause>nul");
}
12 回复
#2
诸葛修勤2011-05-21 18:17
['rs'] 这是什么意思???
#3
qq10235692232011-05-21 18:24
可能是变量名吧,怪怪的,不知道这样可以不!
#4
specilize2011-05-21 19:47
这样zfs=yssz[1]['swe']+yssz[2]['swe'];肯定有问题啦,改为这样就运行没问题了
zfs=yssz[0]['swe']+yssz[1]['swe'];
至于楼主为什么要用单引号,我就纳闷了
#5
wangzhao85502011-05-21 22:20
确实,单引号不能加上,可能楼主是把你定义的那些标识符和它实际的意义混淆了,你可能是觉得这些标识符是字符串所以在引用时加上引号,实际上它们已经被你定义成标识符了,因此直接引用就可以了,况且假使你理解错误,也应该是加上双引号啊,毕竟那些标识符都是字符串,这样错还能让人明白...
#6
cpp99282011-05-22 10:56
回复 2楼 诸葛修勤
人数呗
#7
cpp99282011-05-22 11:02
#include <iostream>
using namespace std;
void main()
{
    system("title 学生成绩统计器");
    cout<<"学生成绩统计器"<<endl<<"----------"<<endl;
    long rs=0,jgrs=0;
    unsigned long zfs=0;
    cout<<"你有多少个学生?"<<endl;
    cin>>rs;
    float yssz[2]['rs'];
    system("cls");
    for (int gg=0;gg<rs;gg++)
    {
        cout<<"接下来统计成绩(语文数学):"<<endl;
        cin>>yssz[0]['gg']>>yssz[1]['gg'];
        system("cls");
        if ((yssz[0]['gg']>60)&&(yssz[1]['gg']>60))
        {
            jgrs++;
        }
    }
    for (long swe=0;swe<rs;swe++)
    {
        zfs=yssz[0][swe]+yssz[1][swe];//《《《《《《《《《《《《《这句出了什么问题???
    }
    cout<<"总平均分为"<<zfs/rs<<"。"<<endl;
    cout<<"及格人数有"<<rs-jgrs<<"个!"<<"不及格人数有"<<jgrs<<"个!"<<endl;
    system("pause>nul");
}
这样呢?总平均分不对啊
#8
cpp99282011-05-22 11:29
#include <iostream>
using namespace std;
int main()
{
    system("title 学生成绩统计器");
    cout<<"学生成绩统计器"<<endl<<"----------"<<endl;
    int rs=0,jgrs=0,wsd=0,zfs=0,ywf,sxf,swe=0,gg=0;
    cout<<"你有多少个学生?"<<endl;
    cin>>rs;
    float yssz[2]['rs'];
    system("cls");
    for (;gg<rs;gg++)
    {
        cout<<"接下来统计成绩(语文数学):"<<endl;
        cin>>yssz[0]['gg']>>yssz[1]['gg'];
        system("cls");
        if ((yssz[0]['gg']>60)&&(yssz[1]['gg']>60))
        {
            jgrs++;
        ywf=ywf+yssz[0]['gg'];
        sxf=sxf+yssz[1]['gg'];
        }
    }
    for (;swe<rs;swe++)
    {
        zfs=zfs+ywf+sxf;                        //<<<<<<<<<<<<<<<<<<<,这句出了什么问题???
    }
    wsd=zfs/rs;<<<<<<<<<<<<<<<<这句呢?
    cout<<"及格学生平均分为"<<wsd<<"。"<<endl;
    cout<<"及格人数有"<<jgrs<<"个!"<<"不及格人数有"<<rs-jgrs<<"个!"<<endl;
    system("pause>nul");
    return 0;
}
我现在的心情
#9
zpjm2011-05-26 09:38
我的心情。。。。。
#10
donggegege2011-05-26 12:26
没说清编译出错的地方。
#11
wavewind2011-05-26 15:33
完全看不明白这个程序,要不,你直接把题目说一下,我直接给你写一个!
#12
棋局2011-05-28 22:46
楼主的程序出现了好多问题哦
#include <iostream>
using namespace std;
void main()
{
    system("title 学生成绩统计器");
    cout<<"学生成绩统计器"<<endl<<"----------"<<endl;
    long rs=0,jgrs=0;
    unsigned long zfs;
    cout<<"你有多少个学生?"<<endl;
    cin>>rs;
    float yssz[2]['rs'];                               ——错误1:数组中用了引号;
                                                       ——错误2:定义的数组中,数组长度没有确定,是变化的;必须要建立动态数组才能像你这样实现

    system("cls");
    for (int gg=0;gg<rs;gg++)
    {
        cout<<"接下来统计成绩(语文数学):"<<endl;
        cin>>yssz[0]['gg']>>yssz[1]['gg'];               ——错误3:语文和数学是一个语文、一个数学进行输入的,不容易辨认;而且这样循环输入,输入一个变量后敲回车就会跳到下一个循环,同时会出现较严重错误。
        system("cls");
        if ((yssz[0]['gg']>60)||(yssz[1]['gg']>60))
        {
            jgrs++;
        }
        for (long swe=1;swe<=rs;swe++)
        {
            zfs=yssz[1]['swe']+yssz[2]['swe'];        错误4:没有定义yssz[2],只有yssz[0],yssz[1];
        cout<<"总平均分为"<<zfs/rs<<"。"<<endl;
    }
    cout<<"及格人数有"<<rs-jgrs<<"个!"<<"不及格人数有"<<jgrs<<"个!"<<endl;
    system("pause>nul");
}
另外楼主的第二个清屏好像有错,以上错误我都改过,并且调试正确,但是起来还是有些错误,我想主要是由于二维动态数组的建立和成绩的输入上还存在较大问题。
希望楼主可以亲自调试,运行下。正确了的话,记得通知哥们一声哦。


#13
记叙、继续2011-05-29 03:05
额,你在编译的时候,程式说那里错拉?
1