注册 登录
编程论坛 C++教室

求助,字符指针输入和输出问题

zhenggao 发布于 2013-03-30 00:16, 614 次点击
#include <iostream>
using namespace std;
class Sudent  
{  
public:  
void set_student();
void show_student();  
private:   
int number;  
char name[20];//这里呢,我问过老师,老师说可以用字符指针来存储字符(就是存字符串的首地址),那么在这程序中呢,name是需要键盘输入的,可是我翻书只找到字符指针的赋值,没有直接输入,请问一下高手,字符指针的输入是整体输入,还是要用循环来输入呢?或者还要用到什么运算符呢?
char subject[15];
int klaso;  
char sex[2];   
float scores;  
};
void Sudent ::set_student()  
{  
cout<<"请输入学号:"<<endl;   
cin>>number;   
cout<<"请输入姓名:"<<endl;   
cin>> name;
cout<<"请输入专业:"<<endl;  
cin>>subject ;   
cout<<"请输入班级:"<<endl;
cin>>klaso;     
cout<<"请输入性别:"<<endl;  
cin>>sex ;  
cout<<"请输入成绩:"<<endl;   cin>>scores;  
}
void Sudent::show_student()
{  
cout<<"number:"<<number<<endl;
cout<<"name:"<< name<<endl;  
cout<<"subject:"<< subject<<endl;
cout<<"klaso:"<< klaso<<endl;  
cout<<"sex:"<<sex<<endl;
cout<<"scores:"<<scores<<endl;
 }
int main()  
{   
Sudent a;  
a.set_student();
a.show_student();
return 0;
}
7 回复
#2
azzbcc2013-03-30 00:19
你老师应该是这个意思:

char *str = "Hello World!";
#3
fxbszj2013-03-30 12:10
char name[20];
你这是字符数组,要不你再加一句 char *p=name;  这样指针p就指向name[]的首个元素,然后通过移动指针访问name中的元素
#4
zhenggao2013-03-30 13:28
回复 3楼 fxbszj
我的意思是,把字符指针把字符数组替换下来。
char *name;
然后下面直接输入字符。
cin>>name;
不过这样好像不行。
#5
zhenggao2013-03-30 13:29
回复 2楼 azzbcc
不是呢。这是直接初始化了。
我的原意是键盘输入
cin>>name;
不过编译不了
#6
zhenggao2013-03-30 13:30
回复 3楼 fxbszj
这样确实可行,不过不是我原意哈。
因为用字符数组也可以直接整体输入。
我只是想知道字符指针是不是也可以直接输入,还是别的
#7
azzbcc2013-03-30 13:42
明白了,可以的

char *str = new char[20];
cin >> str
#8
zhenggao2013-03-31 11:38
回复 7楼 azzbcc
谢谢大触
1