m0_63989703 2022-03-02 20:49 采纳率: 87.5%
浏览 310
已结题

定义一个表示学生基本信息的结构体数据类型

这是题目要求:定义一个表示学生基本信息的结构体数据类型student,期中包括学号(char num[10])、姓名(char name[20])、性别(char sex)、三门功课成绩(int score[3])。定义两个函数fun_input(struct student)、fun_output(struct student),分别实现学生基本信息的输入与输出。main函数中定义一个数组struct student stu[5],再分别调用上述两个函数,输入五个学生信息,再将5个学生信息输出。
这是我的程序:

#include<iostream>
using namespace std;
struct student
{
    
    char num[10];
    char name[20];
    char sex[6];
    char score[3];
}stu[5];
void input(student stu[])
{
    int i,a;
    for(i=1;i<5;i++)
    {
        printf(“%d学号" ,i);
        scanf("%c",&stu[i].num);
        printf(“%d姓名”,i);
        scanf("%c",&stu[i].name);
        printf("%d性别" ,i);
        scanf("%c",&stu[i].sex);
        printf("%d成绩" ,i);
        scanf("%d",&stu[i].score);
    }
}
void output(student stu[])
{
    int i;
    for(i=0;i<5;i++)
    {
        printf("%c",stu[i].name);
        printf("%c",stu[i].sex);
        printf("%d",stu[i].score);
    }
}
int main()
{
    struct student stu[5];
    input(stu);
    output(stu);
}


没有报错但是在输入的时候就已经出问题了 ,该怎么修改?感谢感谢

  • 写回答

1条回答 默认 最新

  • yun6853992 2022-03-02 21:28
    关注

    注意你的结构体成员是char数组  用%s啊

    注意你的中文符号!!!

    #include<iostream>
    using namespace std;
    struct student
    {
    
    	char num[10];
    	char name[20];
    	char sex[6];
    	char score[3];
    }stu[5];
    void input(student stu[])
    {
    	int i, a;
    	for (i = 0; i < 5; i++)
    	{
    		printf("%d学号" ,i+1);
    			scanf_s("%s", &stu[i].num,10);
    		printf(" %d姓名", i+1);
    		scanf_s("%s", &stu[i].name,20);
    		printf("%d性别", i+1);
    		scanf_s("%s", &stu[i].sex,6);
    		printf("%d成绩", i+1);
    		scanf_s("%s", &stu[i].score,3);
    	}
    }
    void output(student stu[])
    {
    	int i;
    	for (i = 0; i < 5; i++)
    	{
    		printf("%s ", stu[i].name);
    		printf("%s ", stu[i].sex);
    		printf("%s ", stu[i].score);
    		printf(" \n");
    	}
    }
    int main()
    {
    	struct student stu[5];
    	input(stu);
    	output(stu);
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 修改了问题 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题