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

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

这是题目要求:定义一个表示学生基本信息的结构体数据类型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 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。