运用结构体,分段变量函数写出学生是个人信息以及活动日期和内容的程序

1个回答
展开全部
摘要 这里是一个使用结构体和分段函数来存储学生个人信息和活动记录的程序:c#include #include // 学生信息结构体struct Student { char name[20]; // 姓名 char sex; // 性别 int age; // 年龄 char addr[30]; // 地址 };// 活动记录结构体 struct Activity { int year; // 年份 int month; // 月份 int day; // 日子 char content[200]; // 活动内容 };// 学生信息输入函数void inputStudentInfo(struct Student *s) { printf("请输入学生姓名:"); scanf("%s", s->name); printf("请输入学生性别(M/F):"); scanf(" %c", &(s->sex)); printf("请输入学生年龄:"); scanf("%d", &(s->age)); printf("请输入学生地址:"); scanf("%s", s->addr);}// 活动记录输入函数 void inputActivity(struct Activity *a) { printf("请输入活动日期(年/月/日):"); scanf("%d/%d/%d", &(a->year), &(a->month), &(a->day)); printf("请输入活动内容:"); scanf("%s", a->content); }int main() { // 定义学生信息结构体变量 struct Student xiaoMing; // 输入学生信息 inputStudentInfo(&xiaoMing);
咨询记录 · 回答于2023-06-25
运用结构体,分段变量函数写出学生是个人信息以及活动日期和内容的程序
好的
这里是一个使用结构体和分段函数来存储学生个人信息和活动记录的程序:c#include #include // 学生信息结构体struct Student { char name[20]; // 姓名 char sex; // 性别 int age; // 年龄 char addr[30]; // 地址 };// 活动记录结构体 struct Activity { int year; // 年份 int month; // 月份 int day; // 日子 char content[200]; // 活动内容 };// 学生信息输入函数void inputStudentInfo(struct Student *s) { printf("请输入学生姓名:"); scanf("%s", s->name); printf("请输入学生性别(M/F):"); scanf(" %c", &(s->sex)); printf("请输入学生年龄:"); scanf("%d", &(s->age)); printf("请输入学生地址:"); scanf("%s", s->addr);}// 活动记录输入函数 void inputActivity(struct Activity *a) { printf("请输入活动日期(年/月/日):"); scanf("%d/%d/%d", &(a->year), &(a->month), &(a->day)); printf("请输入活动内容:"); scanf("%s", a->content); }int main() { // 定义学生信息结构体变量 struct Student xiaoMing; // 输入学生信息 inputStudentInfo(&xiaoMing);
printf("学生姓名:%s\n", xiaoMing.name); printf("学生性别:%c\n", xiaoMing.sex); printf("学生年龄:%d\n", xiaoMing.age); printf("学生地址:%s\n", xiaoMing.addr); // 定义活动记录结构体变量 struct Activity act1, act2; // 输入两个活动记录 inputActivity(&act1); inputActivity(&act2); printf("活动1日期:%d/%d/%d \n", act1.year, act1.month, act1.day); printf("活动1内容:%s\n", act1.content); printf("活动2日期:%d/%d/%d \n", act2.year, act2.month, act2.day); printf("活动2内容:%s\n", act2.content);}该程序定义了学生信息结构体和活动记录结构体,并分别设计了输入函数对结构体变量进行赋值。然后通过结构体变量访问并输出学生个人信息和两个活动记录。使用结构体能很好地存储复合类型的数据,分段函数也使代码更清晰易读,方便后期维护。
可以大概讲解一下吗
好的
刚刚您给的那一段程序主要采用结构体和分段函数来存储和处理学生个人信息和活动记录的数据。我们可以从以下几个方面对程序进行讲解:1. 定义结构体:程序定义了两个结构体类型,用于存储学生信息和活动记录。学生信息结构体包含姓名、性别、年龄和地址;活动记录结构体包含年月日和活动内容。2. 设计输入函数:分别设计了inputStudentInfo()和inputActivity()两个输入函数,用于输入学生信息和活动记录的数据。这使得主程序简洁易读。3. 定义结构体变量:定义结构体变量xiaoMing保存学生信息,act1和act2分别保存两个活动记录。4. 调用输入函数:调用inputStudentInfo()输入学生xiaoMing的信息,调用inputActivity()两次分别输入act1和act2的活动记录。5. 访问结构体变量:通过结构体变量xiaoMing访问学生信息,分别输出姓名、性别、年龄和地址;通过act1和act2访问活动记录,输出活动日期和内容。6. 结构体存储复合类型数据:结构体可以存储多个变量,这些变量可以是不同类型。所以非常适合存储复合类型的信息,如这里的学生信息和活动记录。7. 分段设计:通过分段设计输入函数,使主程序简洁。这是一种良好的程序结构,使代码易读易维护。
这里的s,c,d有什么区别吗
%d,%c,%s,%x是程序汇编语言中的格式符,它们的含义:1、%d表示按整型数据的实际长度输出数据。2、%c用来输出一个字符。3、%s用来输出一个字符串。4、%x表示以十六进制数形式输出整数
什么意思啊?
发图片什么意思啊?
哪里错了,一直不对,可以帮我改一下吗
从错误信息可以看出,这段代码有两个错误:1. void inputStudentInfo(Student*) 函数定义缺少参数名称,应修正为:void inputStudentInfo(Student *s){ // ...}2. xiaoming 变量未在当前作用域定义,应在主函数中定义:int main() { // 定义学生结构体变量 struct Student xiaoming; // ...}修正后的完整代码为:
c#include #include struct Student { char name[20]; char sex; int age; char addr[30]; };void inputStudentInfo(Student *s) { // ...} int main() { // 定义学生结构体变量 struct Student xiaoming; // 输入学生信息 inputStudentInfo(&xiaoming); // ...}
补充说明:1. C语言函数定义需要指定参数名称,格式为:返回值类型 函数名(参数类型 参数名称){ 函数体}2. C语言变量需要在使用前定义,否则会报未定义错误。3. 结构体变量的定义格式为:struct 结构体名 变量名;
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消