disaste0_0 2022-11-17 11:15 采纳率: 81.6%
浏览 16
已结题

用array去展示5个不同的char

我想通过一个array去展示5个不同的学生,也就是这个array里面需要=5

有偿

这是头文件的代码
#define MAXSIZE   25

typedef struct studentId
{
    int studentnum;
    
}STUDENTID;
typedef struct studentName
{
    char firstname[MAXSIZE];
    char lasttname[MAXSIZE];
    char middelname[MAXSIZE];
}STUDENTNAME;

STUDENTID CreatestudentId(int);
STUDENTNAME CreatestudentName(char[], char[], char[]);
void printstudent(STUDENT);

这是c文件的代码

#define _CRT_SECURE_NO_WARNINGS
#include"student.h"
#include<stdio.h>
#include<string.h>
#define FiveStudentName  5

STUDENTID CreatestudentId(int StudentNum)
{
    STUDENTID n;
    n.studentnum = StudentNum;
    return n;
}


STUDENTNAME CreatestudentName(char lasttname[MAXSIZE], char firstname[MAXSIZE], char middelname[MAXSIZE])
{
    STUDENTNAME s;
    strncpy(s.lasttname, lasttname, MAXSIZE);
    strncpy(s.firstname, firstname, MAXSIZE);
    strncpy(s.middelname, middelname, MAXSIZE);

    return s;
}

//print the student id
void printstudentId(STUDENTID student)
{

    printf("%d-", student.studentnum);
}

//priint the studet Name
void printstudentName(STUDENTNAME student)
{
    STUDENTNAME arrayname[FiveStudentName] = {printstudentName};
    printf("%s,%s",student.lasttname, student.firstname); 
    if (student.middelname[0] != '\0') // this mean nothing on middlename
        printf(" %c", student.middelname[0]);
}

这是main.c的代码
int main()
{
    // student 1
    printf("student 1\n");
    STUDENTID luxId = CreatestudentId(2003056789);
    STUDENTNAME luxName = CreatestudentName("lux", "Juntig", "Ren");
    //printf("NAME:%s\n", GetNameFromStudent(lux));
    printstudentId(luxId);
    printstudentName(luxName);
    printf("\n");

    // student 2
    printf("student 2\n");
    STUDENTID BaronId = CreatestudentId(2004069876);
    STUDENTNAME BaronName = CreatestudentName("Baron", "Asa", "");
    // printf("NAME:%s\n", GetNameFromStudent(a));
    printstudentId(BaronId);
    printstudentName(BaronName);
    printf("\n");

    // student 3
    printf("student 3\n");
    STUDENTID ArnoId = CreatestudentId(2003081234);
    STUDENTNAME ArnoName = CreatestudentName("Arno", "Barry", "Bart");
    // printf("NAME:%s\n", GetNameFromStudent(b));
    printstudentId(ArnoId);
    printstudentName(ArnoName);
    printf("\n");

    // student 4
    printf("student 4\n");
    STUDENTID BartonId = CreatestudentId(2003074521);
    STUDENTNAME BartonName = CreatestudentName("Barton", "Bing", "");
    // printf("NAME:%s\n", GetNameFromStudent(c));
    printstudentId(BartonId);
    printstudentName(BartonName);
    printf("\n");

    // student 5
    printf("student 5\n");
    STUDENTID BillId = CreatestudentId(2003017623);
    STUDENTNAME BillName = CreatestudentName("Bill", "Black", "Blithe");
    // printf("NAME:%s\n", GetNameFromStudent(d));
    printstudentId(BillId);
    printstudentName(BillName);
    return 0;
}


有偿

  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2022-11-17 11:21
    关注

    你要说明白你遇到了啥问题啊,编译报错?运行结果不对???

    这是头文件的代码
    #define MAXSIZE   25
    typedef struct _student
    {
        int studentnum;   
        char firstname[MAXSIZE];
        char lasttname[MAXSIZE];
        char middelname[MAXSIZE];
    }student;
    
    void printstudent(student *stu,int n);
    这是c文件的代码
    #define _CRT_SECURE_NO_WARNINGS
    #include"student.h"
    #include <stdio.h>
    #include <stdlib.h>
    #define FiveStudentName  5
     
    void printstudent(student * stu, int n)
    {
        for(int i=0;i<n;i++)
        {
            if(stu[i].middelname[0] == '\0')
                printf("%d - %s,%s\n",stu[i].studentnum,stu[i].lasttname,stu[i].firstname);
            else
                printf("%d - %s,%s %c\n",stu[i].studentnum,stu[i].lasttname,stu[i].firstname,stu[i].middelname[0]);
        }
    }
    
    这是main.c的代码
    int main()
    {
        student stu[FiveStudentName] = {{2003056789,"lux", "Juntig", "Ren"},{2004069876,"Baron", "Asa", ""},{2003081234,"Arno", "Barry", "Bart"},{2003074521,"Barton", "Bing", ""},{2003017623,"Bill", "Black", "Blithe"}};
        printstudent(stu,FiveStudentName);
        return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了