小白求助

城南吖 2020-05-13 02:19:32
本人小白 网课选了c语言 但是期末大作业不会做 求大佬帮帮忙
...全文
49 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eritque arcus 2020-05-13
  • 打赏
  • 举报
回复
引用 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同根同源的改进版(这么说不太严谨),但是思路应该还是这个思路,你去百度找找教程自己写写吧,现在很少有人有时间在网上是会代码回复的,最多也就说下思路(除非给钱)所以还是要靠自己
城南吖 2020-05-13
  • 打赏
  • 举报
回复
引用 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++不了解,
Eritque arcus 2020-05-13
  • 打赏
  • 举报
回复
引用 3 楼 城南吖 的回复:
让用指针完成对小白来说好难
这个看起来可以普普通通的用数组写完欸..不知道为什么要指针搞得挺复杂的,不太清楚是什么意思
Eritque arcus 2020-05-13
  • 打赏
  • 举报
回复
引用 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的函数
城南吖 2020-05-13
  • 打赏
  • 举报
回复
引用 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语言的指针写
城南吖 2020-05-13
  • 打赏
  • 举报
回复
让用指针完成对小白来说好难
Eritque arcus 2020-05-13
  • 打赏
  • 举报
回复

#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];
}
}
友情提示:随手写的 没测试过 不能保证正确,还有格式要改一下 自己的作业最好自己写
弦之弈 2020-05-13
  • 打赏
  • 举报
回复
定义一个结构体数组,两个for循环输入,别忘了两个for之间的回车getchar(),然后for中嵌套一个if判断,输出对应成绩即可。

70,032

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧