user-0 提问: 小白求助

回复:
user: user-1
content: 引用 7 楼 城南吖 的回复:[quote=引用 5 楼 N-n-N的回复:][quote=引用 4 楼 城南吖 的回复:] [quote=引用 2 楼 N-n-N的回复:] #include<iostream> using namespace std; int *id_n,*s_new; void search(int id,int n); void input(int id[],float scores[],int n); int main(){ string temp; int long=-1; int x; while(1){ cout<<"输入1 存储，输入2 查询，非法输入退出"; cin>>x; if(x==1){ cout<<"存储成绩\n";  cout<<"请输入学号" cin>>temp; string id=split(temp," "); int longa=sizeof(scores)/sizeof(scores[0]);  cout<<"请输入成绩\n" cin>>temp; string scores=split(temp," "); long=sizeof(scores)/sizeof(scores[0]); if(longa==long){ int idx[long]; int score[long]; for(int i=0;i<long;i++){ idx[i]=atoi(id[i]); score[i]=atoi(scores[i]); } input(idx,score,long); cout<<"成功"<<endl; } } elseif(x==2){ cout<<"输入查询学号"\n; int y; cin>>y; if(long==-1){ cout<<"未存储\n"; continue; } search(y,long); } else{ return 0; } } return 0; } void search(int id,int n){ for(int i=0;i<n;i++){ if(id_n[i]==id){ cout<<"成绩"<<s_n[i]<<endl; return; } } } void input(int id[],float scores[],int n){ id_n=new int[n]; s_n=new int[n]; for(int i=0;i<n;i++){ id_n[i]=id[i]; s_n[i]=scores[i]; } }  友情提示:随手写的 没测试过 不能保证正确，还有格式要改一下 自己的作业最好自己写 谢谢，这是c吗？老师让用c语言的指针写[/quote]用的是c++ 毕竟我以前都在写c++， 不过也没多大区别，你就看看这个思路吧，然后把一些c++的函数改成c的函数[/quote] 只上过几节c的网课，对c++不了解，[/quote]  我很少写c 不过c和c++还是有点区别的，一个是面对对象 一个是面对过程，不过看名字也看得出来，c++是c同根同源的改进版（这么说不太严谨），但是思路应该还是这个思路，你去百度找找教程自己写写吧，现在很少有人有时间在网上是会代码回复的，最多也就说下思路（除非给钱）所以还是要靠自己

user: user-0
content: 引用 5 楼 N-n-N的回复:[quote=引用 4 楼 城南吖 的回复:] [quote=引用 2 楼 N-n-N的回复:] #include<iostream> using namespace std; int *id_n,*s_new; void search(int id,int n); void input(int id[],float scores[],int n); int main(){ string temp; int long=-1; int x; while(1){ cout<<"输入1 存储，输入2 查询，非法输入退出"; cin>>x; if(x==1){ cout<<"存储成绩\n";  cout<<"请输入学号" cin>>temp; string id=split(temp," "); int longa=sizeof(scores)/sizeof(scores[0]);  cout<<"请输入成绩\n" cin>>temp; string scores=split(temp," "); long=sizeof(scores)/sizeof(scores[0]); if(longa==long){ int idx[long]; int score[long]; for(int i=0;i<long;i++){ idx[i]=atoi(id[i]); score[i]=atoi(scores[i]); } input(idx,score,long); cout<<"成功"<<endl; } } elseif(x==2){ cout<<"输入查询学号"\n; int y; cin>>y; if(long==-1){ cout<<"未存储\n"; continue; } search(y,long); } else{ return 0; } } return 0; } void search(int id,int n){ for(int i=0;i<n;i++){ if(id_n[i]==id){ cout<<"成绩"<<s_n[i]<<endl; return; } } } void input(int id[],float scores[],int n){ id_n=new int[n]; s_n=new int[n]; for(int i=0;i<n;i++){ id_n[i]=id[i]; s_n[i]=scores[i]; } }  友情提示:随手写的 没测试过 不能保证正确，还有格式要改一下 自己的作业最好自己写 谢谢，这是c吗？老师让用c语言的指针写[/quote]用的是c++ 毕竟我以前都在写c++， 不过也没多大区别，你就看看这个思路吧，然后把一些c++的函数改成c的函数[/quote] 只上过几节c的网课，对c++不了解，

user: user-1
content: 引用 3 楼 城南吖 的回复:让用指针完成对小白来说好难这个看起来可以普普通通的用数组写完欸..不知道为什么要指针搞得挺复杂的，不太清楚是什么意思

user: user-1
content: 引用 4 楼 城南吖 的回复:[quote=引用 2 楼 N-n-N的回复:] #include<iostream> using namespace std; int *id_n,*s_new; void search(int id,int n); void input(int id[],float scores[],int n); int main(){ string temp; int long=-1; int x; while(1){ cout<<"输入1 存储，输入2 查询，非法输入退出"; cin>>x; if(x==1){ cout<<"存储成绩\n";  cout<<"请输入学号" cin>>temp; string id=split(temp," "); int longa=sizeof(scores)/sizeof(scores[0]);  cout<<"请输入成绩\n" cin>>temp; string scores=split(temp," "); long=sizeof(scores)/sizeof(scores[0]); if(longa==long){ int idx[long]; int score[long]; for(int i=0;i<long;i++){ idx[i]=atoi(id[i]); score[i]=atoi(scores[i]); } input(idx,score,long); cout<<"成功"<<endl; } } elseif(x==2){ cout<<"输入查询学号"\n; int y; cin>>y; if(long==-1){ cout<<"未存储\n"; continue; } search(y,long); } else{ return 0; } } return 0; } void search(int id,int n){ for(int i=0;i<n;i++){ if(id_n[i]==id){ cout<<"成绩"<<s_n[i]<<endl; return; } } } void input(int id[],float scores[],int n){ id_n=new int[n]; s_n=new int[n]; for(int i=0;i<n;i++){ id_n[i]=id[i]; s_n[i]=scores[i]; } }  友情提示:随手写的 没测试过 不能保证正确，还有格式要改一下 自己的作业最好自己写 谢谢，这是c吗？老师让用c语言的指针写[/quote]用的是c++ 毕竟我以前都在写c++， 不过也没多大区别，你就看看这个思路吧，然后把一些c++的函数改成c的函数

user: user-0
content: 引用 2 楼 N-n-N的回复: #include<iostream> using namespace std; int *id_n,*s_new; void search(int id,int n); void input(int id[],float scores[],int n); int main(){ string temp; int long=-1; int x; while(1){ cout<<"输入1 存储，输入2 查询，非法输入退出"; cin>>x; if(x==1){ cout<<"存储成绩\n";  cout<<"请输入学号" cin>>temp; string id=split(temp," "); int longa=sizeof(scores)/sizeof(scores[0]);  cout<<"请输入成绩\n" cin>>temp; string scores=split(temp," "); long=sizeof(scores)/sizeof(scores[0]); if(longa==long){ int idx[long]; int score[long]; for(int i=0;i<long;i++){ idx[i]=atoi(id[i]); score[i]=atoi(scores[i]); } input(idx,score,long); cout<<"成功"<<endl; } } elseif(x==2){ cout<<"输入查询学号"\n; int y; cin>>y; if(long==-1){ cout<<"未存储\n"; continue; } search(y,long); } else{ return 0; } } return 0; } void search(int id,int n){ for(int i=0;i<n;i++){ if(id_n[i]==id){ cout<<"成绩"<<s_n[i]<<endl; return; } } } void input(int id[],float scores[],int n){ id_n=new int[n]; s_n=new int[n]; for(int i=0;i<n;i++){ id_n[i]=id[i]; s_n[i]=scores[i]; } }  友情提示:随手写的 没测试过 不能保证正确，还有格式要改一下 自己的作业最好自己写 谢谢，这是c吗？老师让用c语言的指针写

user: user-0
content: 让用指针完成对小白来说好难

user: user-1
content: #include<iostream> using namespace std; int *id_n,*s_new; void search(int id,int n); void input(int id[],float scores[],int n); int main(){ string temp; int long=-1; int x; while(1){ cout<<"输入1 存储，输入2 查询，非法输入退出"; cin>>x; if(x==1){ cout<<"存储成绩\n";  cout<<"请输入学号" cin>>temp; string id=split(temp," "); int longa=sizeof(scores)/sizeof(scores[0]);  cout<<"请输入成绩\n" cin>>temp; string scores=split(temp," "); long=sizeof(scores)/sizeof(scores[0]); if(longa==long){ int idx[long]; int score[long]; for(int i=0;i<long;i++){ idx[i]=atoi(id[i]); score[i]=atoi(scores[i]); } input(idx,score,long); cout<<"成功"<<endl; } } elseif(x==2){ cout<<"输入查询学号"\n; int y; cin>>y; if(long==-1){ cout<<"未存储\n"; continue; } search(y,long); } else{ return 0; } } return 0; } void search(int id,int n){ for(int i=0;i<n;i++){ if(id_n[i]==id){ cout<<"成绩"<<s_n[i]<<endl; return; } } } void input(int id[],float scores[],int n){ id_n=new int[n]; s_n=new int[n]; for(int i=0;i<n;i++){ id_n[i]=id[i]; s_n[i]=scores[i]; } }  友情提示:随手写的 没测试过 不能保证正确，还有格式要改一下 自己的作业最好自己写

user: user-2
content: 定义一个结构体数组，两个for循环输入，别忘了两个for之间的回车getchar()，然后for中嵌套一个if判断，输出对应成绩即可。