记录编号 |
589524 |
评测结果 |
WWWWWWWWWW |
题目名称 |
学生成绩管理系统 |
最终得分 |
0 |
用户昵称 |
花火 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.000 s |
提交时间 |
2024-07-06 14:48:07 |
内存使用 |
0.00 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
struct student{
int id;
int score;
};
int n;
student stu[2020];
void print(){
cout<<n<<endl;
for(int i=1;i<=n;i++){
cout<<stu[i].id<<" "<<stu[i].score<<endl;
}
}
void search(int id){
int p=0;
for(int i=1;i<=n;i++){
if(stu[i].id==id){
p=i;
}
}
if(p==0)cout<<"no"<<endl;
else cout<<stu[p].id<<" "<<stu[p].score<<endl;
}
void insert(int p,int id,int score){
if(p<0||p>n){
cout<<"out"<<endl;
return;
}
int k=0;
for(int i=1;i<=n;i++){
if(stu[i].id==id){
k=i;
}
}
if(k!=0){
cout<<"dup"<<endl;
return;
}
for(int i=n;i>=p+1;--i){
stu[i+1]=stu[i];
}
stu[p+1].id=id,stu[p+1].score=score;
n=n+1;
}
void del(int id){
int i;
for(int j=1;j<=n;j++)
{
if(id==stu[j].id)
i=stu[j].id;
}
for(int j=i;j<n;j++)
{
stu[j].id=stu[j+1].score;
stu[j].score=stu[j+1].score;
}
n--;
}
int main(){
freopen("linet.in", "r", stdin);
freopen("linet.out", "w", stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>stu[i].id>>stu[i].score;
}
int m;
cin>>m;
for(int i=1;i<=m;i++){
int op;
cin>>op;
if(op==1){//查找
int czlx;
cin>>czlx;
if(czlx==0)print();//输出所有
else if(czlx==1){
int id;
cin>>id;
search(id);//查找单人
}
}
else if(op==2){//插入
int x;
cin>>x;
for(int j=1;j<=x;j++){
int pos,id,score;
cin>>pos>>id>>score;
insert(pos,id,score);//插入一个信息
}
}
else if(op==3){//删除
int y;
cin>>y;
int flag=0;
for(int j=1;j<=y;j++){
int id;
cin>>id;
if(stu[j].id==id){
del(id);
flag=1;//删除对应学号的信息
}
}
if(!flag)
cout<<"error";
}
}
return 0;
}