c语言(结构体)---实现学生信息输入,输出,查询
利用结构体实现学生信息的输入,输出,以及生日日期查询
#include<stdio.h> #define NUM 3 //日期结构体 typedef struct{ int year; int month; int day; }DATE; //学生信息结构体 typedef struct{ int num; char name[20]; DATE birthday; char department[50]; char major[50]; }STUDENT; //输入信息函数 void inputStudent(STUDENT[]); //输出信息函数 void outputStudent(STUDENT[]); //查询信息函数 void searchStudent(STUDENT[],DATE); void main(){ STUDENT s[NUM]; DATE date; inputStudent(s); outputStudent(s); printf("\n Enter a date(month,day) \n"); scanf("%d%d",&date.month,&date.day); searchStudent(s,date); } void inputStudent(STUDENT s[]){ int i; for(i=0;i<NUM;i++){ printf("\n Enter a student infomation \n"); s[i].num = i+1; scanf("%s",&s[i].name); scanf("%d%d%d",&s[i].birthday.year,&s[i].birthday.month,&s[i].birthday.day); scanf("%s",&s[i].department); scanf("%s",&s[i].major); } } void outputStudent(STUDENT s[]){ int i; printf("\n printf all student infomation"); for(i=0;i<NUM;i++){ printf("\n%4d%10s%8d%3d%3d%8s%8s",s[i].num,s[i].name,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day,s[i].department,s[i].major); } } void searchStudent(STUDENT s[], DATE date){ int i; printf("\n searched in all student infomation"); for(i=0;i<NUM;i++){ if(s[i].birthday.month>date.month){ printf("\n%4d%10s%8d%3d%3d",s[i].num,s[i].name,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day); continue; } if(s[i].birthday.month==date.month && s[i].birthday.day>date.day){ printf("\n%4d%10s%8d%3d%3d",s[i].num,s[i].name,s[i].birthday.year,s[i].birthday.month,s[i].birthday.day); } } printf("\n"); }
结果: