清璇
2020-05-25 14:49
采纳率: 100%
浏览 273

C++编程练习题,不知道错在哪里,运行时出现win32未启动,实在是不知道怎么改了,求赐教?

定义students结构,包括学号和成绩,并通过键盘输入学生个数n以及n个学生的学号和成绩。从键盘输入学号,查找该学生是否在这n个学生当中。若找到该学生,则显示出相应的成绩。要求写一个函数search来完成查找功能。
提示:
(1)学号(id)、成绩(score);
(2)void search(const students *s, int n, int ID);
(3)对于n进行判断,如果小于1,则不用查找;
(4)查找要考虑找到和没找到两种情况。

#include<iostream>
#include<string>
using namespace std;
struct students
{ int id;
  double score;
};
void search(const students *s, int n, int id);
int main()
{ int i,n,id,score;
  students p[n];
  cout<<"input students' number:";
  cin>>n;
  for(i=0;i<n;i++)
  {cout<<"input id:";
   cin>>p[i].id;
  }
  for(i=0;i<n;i++)
  {cout<<"input score:";
   cin>>p[i].score;
  }
 if(n>1) search(p,n,id); 
}
void search(const students *s,int n,int id)
{ int b,i;
  students p[n];
  s=p;
  cout<<"enter the id to search:";
  cin>>b;
{
  for(i=0;i<n;i++)
  {if(s[i].id==b) 
  { cout<<"the student's score is:"<<s[i].score;} 
  }
   if(i==(n-1)) 
   cout<<"not found";
  }
}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 我是个好孩子66 2020-05-25 14:57
    已采纳

    帮你改了下,你再看看

    #include<iostream> 
    #include<cstring>
    using namespace std;
    struct students
    { int id;
      double score;
    };
    void search(const students *s, int n, int ID );
    int main()
    { int i,id,score,n;
      cout<<"input students' number:";
      cin>>n;
      students p[n];
      for(i=0;i<n;i++)
      {cout<<"input id:";
       cin>>p[i].id;
      }
      for(i=0;i<n;i++)
      {cout<<"input score:";
       cin>>p[i].score;
      }
      cout<<"enter the id to search:";
      cin>>id;
     if(n>1) search(p,n,id); 
    }
    void search(const students *s,int n,int ID)
    {
        int i;
    {
      for( i=0;i<n;i++)
      {
        if(s[i].id==ID) 
        {
            cout<<"the student's score is:"<<s[i].score<<endl;
            break;
        }
      }
      if(i==n-1)
      {
          cout<<"not found"<<endl;
      }
    }
    } 
    

    你的n应该在p[n]前输入,记住,还有你的search函数对于指针的用法有些问题,你按照我的代码看看

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题