有偿
这是头文件的代码
#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
#include
#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;
}
有偿
你要说明白你遇到了啥问题啊,编译报错?运行结果不对???
这是头文件的代码
#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;
}
这样的吗,把你贴的代码改了一下
//这是头文件的代码
#define MAXSIZE 25
typedef struct studentId
{
int studentnum;
}STUDENTID;
typedef struct studentName
{
char firstname[MAXSIZE];
char lasttname[MAXSIZE];
char middelname[MAXSIZE];
}STUDENTNAME;
//这是c文件的代码
STUDENTID CreatestudentId(int);
STUDENTNAME CreatestudentName(char[], char[], char[]);
void printstudent(STUDENTID);
#define _CRT_SECURE_NO_WARNINGS
//#include"student.h"
#include <string.h>
#include <stdio.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的代码
//include
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;
}
那你到是声明一个数组呀
搞一堆变量是在干啥
你好歹得有个结构体把studentId和studentName放一起吧,这么一堆散装变量怎么放数组里呀
题目是什么,私发我帮你写了
题意不明,目的不明,建议补充下条件、需求