标题:我写的程序就是有错误,各位看看吧
只看楼主
冰点小爱
Rank: 2
来 自:吉林长春
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-3-2
结帖率:100%
已结贴  问题点数:10 回复次数:6 
我写的程序就是有错误,各位看看吧
输入学生信息,用动态数组表示。然后查找输出信息。
#include<iostream.h>
#include<string.h>
struct student
{
    char no[10];
    char name[20];
    double maths;
};
void input(student *s,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"请输入学生学号:";
        cin>>s[i].no;
        cout<<"请输入学生姓名:";
        cin>>s[i].name;
        cout<<"请输入学生成绩:";
        cin>>s[i].maths;
    }
}
void find(student *s,int n,char p[])
{
    for(int i;i<n;i++)
    {
        if(!strcmp(s[i],p[])==0)
        cout<<"学生学号:";
        cout<<s[i].no;
        cout<<"学生姓名:";
        cout<<s[i].name;
        cout<<"学生成绩:";
        cout<<s[i].maths<<endl;
    }
}
void main()
{
    int i;
    char num[10];
    cout<<"请输入学生人数:";
    cin>>i;
    student *stu=new student[i];
    input(stu,i);
    cout<<"请输入要查找的学号:";
    cin>>num;
    find(stu,i,num);
}
搜索更多相关主题的帖子: void 信息 include 动态 
2010-05-26 15:45
冰点小爱
Rank: 2
来 自:吉林长春
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-3-2
得分:0 
怎么就没人帮着改一下呢。
2010-05-26 15:59
冰点小爱
Rank: 2
来 自:吉林长春
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-3-2
得分:0 
#include<iostream.h>
#include<string.h>
struct student
{
    char no[10];
    char name[20];
    double maths;
};
void input(student *s,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"请输入学生学号:";
        cin>>s[i].no;
        cout<<"请输入学生姓名:";
        cin>>s[i].name;
        cout<<"请输入学生成绩:";
        cin>>s[i].maths;
    }
}
void find(student *s,int n,char *p)
{
    for(int i;i<n;i++)
    {
        if(!strcmp(s[i].no,p))
        cout<<"学生学号:"<<endl;
        cout<<s[i].no;
        cout<<"学生姓名:"<<endl;
        cout<<s[i].name;
        cout<<"学生成绩:";
        cout<<s[i].maths<<endl;
    }
}
void main()
{
    int i;
    char num[10];
    cout<<"请输入学生人数:";
    cin>>i;
    student *stu=new student[i];
    input(stu,i);
    cout<<"请输入要查找的学号:";
    cin>>num;
    find(stu,i,num);
}
改完之后的,编译通过,运行错误
2010-05-26 16:14
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:10 
有几个小问题,我把改好的代码贴出来,你看看。希望对你有帮助!
程序代码:
#include"stdafx.h"
#include<iostream.h>
#include<string.h>
struct student
{
    char no[10];
    char name[20];
    double maths;
};
void input(student *s,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"请输入学生学号:";
        cin>>s[i].no;
        cout<<"请输入学生姓名:";
        cin>>s[i].name;
        cout<<"请输入学生成绩:";
        cin>>s[i].maths;
    }
}
void find(student *s,int n,char *p)
{
    for(int i=0;i<n;i++)//这句有修改,自己对照看一下,你的i没有初始化
    {
        if(!strcmp(s[i].no,p))//这句有修改,注意对照看看
        {//这个花括号要加上去
            cout<<"学生学号:";
            cout<<s[i].no;
            cout<<"学生姓名:";
            cout<<s[i].name;
            cout<<"学生成绩:";
            cout<<s[i].maths<<endl;
            return ;
        }
    }
}
void main()
{
    int i;
    char num[10];
    cout<<"请输入学生人数:";
    cin>>i;
    student *stu=new student[i];
    input(stu,i);
    cout<<"请输入要查找的学号:";
    cin>>num;
    find(stu,i,num);
    delete[] stu;//加上这句。

}



 

南国利剑
2010-05-26 16:24
冰点小爱
Rank: 2
来 自:吉林长春
等 级:论坛游民
帖 子:39
专家分:49
注 册:2010-3-2
得分:0 
回复 4楼 南国利剑
谢谢你呀,我查到这个错误了。不过很感谢你呀。
2010-05-26 16:28
流氓之父
Rank: 2
来 自:新疆
等 级:论坛游民
帖 子:104
专家分:72
注 册:2009-6-2
得分:0 
路过
2010-05-26 17:23
流氓之父
Rank: 2
来 自:新疆
等 级:论坛游民
帖 子:104
专家分:72
注 册:2009-6-2
得分:0 
回复 4楼 南国利剑
请输入学生人数:2
请输入学生学号:1
请输入学生姓名:WE
请输入学生成绩:78
请输入学生学号:2
请输入学生姓名:FG
请输入学生成绩:89
请输入要查找的学号:2
学生姓名:
学生成绩:-6.27744e+066
屯WE学生姓名:
屯屯屯屯屯屯屯学生成绩:-6.27744e+066
屯FG学生姓名:
屯屯屯屯屯屯屯学生成绩:2.10535e-314
学生姓名:
学生成绩:0
学生姓名:
学生成绩:0
Press any key to continue
执行结果如上
为什么有错呢,请教一下!
2010-05-26 17:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-308246-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.243346 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved