c语言 .用结构体输出学生姓名、学号和成绩 我有c++的程序 但是看不懂 只会c语言

1.用结构体输出学生姓名、学号和成绩#include<memory.h>#include<string.h>#include<stdio.h>typedefstructS... 1.用结构体输出学生姓名、学号和成绩
#include <memory.h>
#include <string.h>
#include <stdio.h>
typedef struct Student{
char Name[20]; //Name
char ID[15]; //学号
int Grade; //成绩
Student(char *name, char *id, int grade)
{
memcpy(Name,name,(1+strlen(name))*sizeof(char));
memcpy(ID,id,(1+strlen(id))*sizeof(char));
Grade=grade;
}
void Show()
{
printf("姓名为%s,学号为%s,分数为%d。\n",Name,ID,Grade);
}
}Student;
void main()
{
Student s_1("a","2012302590014",54);
Student s_2("b","2012302590081",95);
Student s_3("c","2012302590144",96);
Student s_4("d","2012302590169",97);
s_1.Show();
s_2.Show();
s_3.Show();
s_4.Show();
}
展开
 我来答
百度网友6b7f95e
2013-01-13
知道答主
回答量:7
采纳率:0%
帮助的人:3万
展开全部
C++ 中的struct与class的区别是:struct的默认访问级别是public,class 的访问级别是private。C++中的struct和class一样可以有成员函数(上面代码中的 void show是成员函数;Student(char *name, char *id, int grade)是一个特殊的成员函数,叫构造函数,该函数用于实例化一个类的对象)。下面给出上面代码的简单注释:
#include <memory.h>
#include <string.h>
#include <stdio.h>
//从这里到“类student定义结束”这一行定义student类
typedef struct Student{
//类属性
char Name[20]; //Name
char ID[15]; //学号
int Grade; //成绩
//下面是构造函数,构造函数的特点是和类名(此处是Student)相同,没有返回值,且可以重载(即函数名字相同,但是参数类型或者参数个数不一样),它用于初始化一个student对象,初始化的时候传入三个参数,name,id字符串,int型的grade
Student(char *name, char *id, int grade)
{
memcpy(Name,name,(1+strlen(name))*sizeof(char));
memcpy(ID,id,(1+strlen(id))*sizeof(char));
Grade=grade;
}
void Show()//成员函数,无参数,返回类型为void
{
printf("姓名为%s,学号为%s,分数为%d。\n",Name,ID,Grade);
}
}Student;//类student定义结束
void main()
{
Student s_1("a","2012302590014",54);//实例化一个student对象,名为s_1,其名字为a,id为2012302590014,分数为54。下面类似
Student s_2("b","2012302590081",95);
Student s_3("c","2012302590144",96);
Student s_4("d","2012302590169",97);
s_1.Show();//调用对象s_1的成员函数Show(),显示姓名,学号,成绩.以下类同
s_2.Show();
s_3.Show();
s_4.Show();
}

参考资料: C++ primer 4th

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式