怎么实现初始数据得连续输入啊?谢谢

nesle 2003-07-31 12:51:13
再用C++作一个学生档案管理,假如要连续输入一百个学生信息,我用堆分配但输入语句编译不通过,希望高手指点一下。(学生总人数不确定)
...全文
25 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fierygnu 2003-07-31
  • 打赏
  • 举报
回复
另:->只能用于结构指针,你的p[i]是结构,只能用"."操作符。这是你编译不通过的原因吧。
fierygnu 2003-07-31
  • 打赏
  • 举报
回复
1、你的n没有赋值就用了,是随机值,所以不对。
2、for循环应该从i=0开始,这样才是n个。
3、#include <stdlib.h>可以改成#include <cstdlib>,更象C++代码。
Dragon132 2003-07-31
  • 打赏
  • 举报
回复
已经改好了试试吧

#include<iostream>
#include<stdlib.h>
using namespace std;
struct student
{
int num;
char name[20];
};
int main()
{
int n=20;//个数
int i;
student *p;
student q[20];
p=q;
for(i=1;i<n;i++)
{
cout<<"输入:";
cin>>p->num;
cout<<"输入:";
cin>>p->name;
p++;

}

system("pause");
return 0;
}
forever1314 2003-07-31
  • 打赏
  • 举报
回复
#include<iostream>
#include<stdlib.h>
using namespace std;
struct student
{
int num;
char name[20];
};
int main()
{
int n = 100;//个数
student *p;
p=new student[n];
for(int i=1;i<n;i++)
{
cout<<"输入:";
cin>>p[i].num;
cout<<"输入:";
cin>>p[i].name;


}

system("pause");
return 0;
}

nesle 2003-07-31
  • 打赏
  • 举报
回复
#include<iostream>
#include<stdlib.h>
using namespace std;
struct student
{
int num;
char name[20];
};
int main()
{
int n;//个数
int i;
student *p;
p=new student[n];
for(int i=1;i<n;i++)
{
cout<<"输入:";
cin>>p[i]->num>>endl;
cout<<"输入:";
cin>>p[i]->name>>endl;


}

system("pause");
return 0;
} 问题不少,不好意思,别见笑,
fierygnu 2003-07-31
  • 打赏
  • 举报
回复
把你的贴上来让大家看看问题所在。
nesle 2003-07-31
  • 打赏
  • 举报
回复
我得意思是开始编译就不通过,我无法输入信息。希望能给段代码
maxcai 2003-07-31
  • 打赏
  • 举报
回复
你可以自已设定一个结束符,比如@

69,371

社区成员

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

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