为什么输出结果与输入结果不一样c++

问题描述

为什么输出结果与输入结果不一样c++

#include
#include
#include
#include
#include

using namespace std;
class students
{
char ID[20];
char name[10];
char sex[3];
int age;
char grade[30];
public:
students();
char *gets_ID(); //学号、姓名、性别、年龄、班级
char gets_name();
char gets_sex();
int gets_age();
char gets_grade();

};

char * students::gets_ID()
{
return ID;
}

char students::gets_name()
{
return *name;
}
char students::gets_sex()
{
return *sex;
}
int students::gets_age ()
{
return age;
}
char students::gets_grade ()
{
return *grade;
}

students::students()
{
cout <<"请输入学号:";
cin>>ID;
cout <<"请输入姓名:";
cin>>name;
cout <<"请输入性别:";
cin>>sex;
cout << "请输入年龄:";
cin>>age;
cout <<"请输入班级:";
cin >>grade;

}

main()
{
students stu;
// students();
cout <<stu.gets_ID <<' '<<stu.gets_name <<' '<<stu.gets_sex <<' '<<stu.gets_age <<' '<<stu.gets_grade <<endl;
//cout <<stu.gets_age<<' '<<stu.gets_grade <<endl;
}

解决方案

return 时,如果是字符串,不要使用 *,而是直接使用指针。

时间: 2024-12-29 10:09:22

为什么输出结果与输入结果不一样c++的相关文章

输入三个整数并把它们按由小到大的顺序输出

查看全套"c语言习题集" 题目:输入三个整数x,y,z,请把这三个数由小到大输出. 1.程序分析: 我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小. 2.程序源代码: #include "stdio.h"#include "conio.h"main(){ int x,y,z,t; scanf("%d%d%d"

(八十九)txt文档的输入和输出

准确的说,不仅仅是TXT,也可以是无格式文件,或者其他后缀的文件,但打开方式是通过.txt方式(如记事本等)打开的 写入文本文件: 要操作txt文档,首先要有头文件<fstream>,有点类似<iostream>. 然后要创建一个ofstream的对象的对象名.具体格式为: ofstream 对象名 对象名可以任意使用,例如abc,def等,之后通过他,来操纵相应的文件. 当使用: 对象名.open("文件名");  时,实际上就是将对象名指向了这个文件. 然后

c++调用c库函数-编写一个递归函数,将任意的正整数按反序输出。例如,输入&amp;amp;quot;12345&amp;amp;quot;输出&amp;amp;quot;54321&amp;amp;quot;

问题描述 编写一个递归函数,将任意的正整数按反序输出.例如,输入"12345"输出"54321" 编写一个递归函数,将任意的正整数按反序输出.例如,输入""12345""输出""54321""PS:不要出现C语言的句子,,,一点都没学过C语言,看不懂. 解决方案 #include <iostream>using namespace std;void revert(int n)

vmware-VMware里Linux系统,键盘输入和终端输出不一样,度娘解释菜鸟看不懂,怎么解决?

问题描述 VMware里Linux系统,键盘输入和终端输出不一样,度娘解释菜鸟看不懂,怎么解决? 键盘输入方向键,终端输出ABCD,键盘输入e终端输出Tab 摁Fn+F8不管用 解决方案 VMware 里面安装个VmTools 解决方案二: 你装的时候是选择的美式键盘么?? 解决方案三: 进入 Vi 输入方向键变成 ABCD 解决方法 参考:http://blog.csdn.net/u011937547/article/details/43852913 解决方案四: 你的linux选择是美式键盘

string-输出总是“请输入i的值 3 请输入您的姓名: 请输入您的性别:”不能输出第一个String

问题描述 输出总是"请输入i的值 3 请输入您的姓名: 请输入您的性别:"不能输出第一个String import java.util.*; public class Myproject { public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.println("请输入i的值"); int i=in.nextInt(); int j=0; for(

linux shell数据重定向(输入重定向与输出重定向)详细分析_linux shell

在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值. linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0,正确输出standard output 1,错误输出:error outp

[从C到C++] 1.5 C+的输入与输出

在C语言中,通常会在采用格式化输入输出函数printf和scanf用于输入或输出数据或信息.在C++语言中,C语言的这一套输入输出库我们仍能使用,但是C++语言又自定义了一套新的.更容易使用的输入输出库. 在C++程序中,输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中. 在编写C++程序时,如果需要使用输入输出时,则需要包含头文件iostream.在iostream中定义了用于输入输出的对象,例如常

设计-c语言 一个输出出现次数最多的字母的程序

问题描述 c语言 一个输出出现次数最多的字母的程序 字母不区分大小写 输出格式:出现的次数 该字母 如果有复数个出现次数最多的字母,就按字母排列顺序输出 例 输入 One Two Buckle My Shoe 输出 3 eo 输入 Once upon a time,there lived a manwhose name wos Lip van Winkle. 输出 8 e 使用以下代码雏形 #include<stdio.h> int main(void) { int i,max=0; char

Linux将输出内容管道给你的shell的安全漏洞

将wget或curl输出的内容管道给bash或者sh是一件非常愚蠢的事,例如像下面这样: [plain] view plain copy 在CODE上查看代码片派生到我的代码片 wget -O - http://example.com/install.sh | sudo sh 命令解释:wget的-O参数是指明输出文件名,一般后面接具体的文件名,这里接"-"表示"written to stdout"即写入到标准输出而不保存在本地磁盘,然后将标准输出里的内容作为输入传