学生管理系统
#include <stdio.h>
struct student
{
int sno;
char name[20];
float score;
};//构造了一个学生这种数据类型
//void inputStuInfo(struct student s[],int len)
void inputStuInfo(struct student *s,int len)
{
int i = 0;
for (i = 0; i < len; ++i)
{
printf("input a sno:");
scanf("%d",&s[i].sno);
printf("input a name:");
scanf("%s",s[i].name);
printf("input a score:");
scanf("%f",&s[i].score);
puts("---------------------");
}
}
void outputStuInfo(struct student s[],int len)
{
int i = 0;
printf("| sno | name | score\n");
for (i = 0; i < len; ++i)
{
printf("%d\t",s[i].sno);
printf("%s\t",s[i].name);
printf("%.2f\n",s[i].score);
puts("------------------------");
}
}
void maxScoreOfStudent(struct student s[],int len)
{
float max = s[0].score;
int j = 0;
int i = 0;
for (i = 1; i < len; ++i)
{
if (max < s[i].score)
{
j = i;
}
}
puts("-----maxScoreOfStudent-----");
printf("%d\t",s[j].sno);
printf("%s\t",s[j].name);
printf("%.2f\n",s[j].score);
}
void printMenu(void)
{
printf("-----Student Info Management System-----\n");
printf("1 输入学生信息\n");
printf("2 查看学生信息\n");
printf("3 成绩最高的学生信息\n");
printf("4 退出\n");
printf(">---------------------------------------<\n");
printf(">");
}
int main(void)
{
struct student s[3];
int n = 0;
while (1)
{
printMenu();
scanf("%d",&n);
switch (n)
{
case 1:
inputStuInfo(s,3);
break;
case 2:
outputStuInfo(s,3);
break;
case 3:
maxScoreOfStudent(s,3);
break;
case 4:
printf("--exit--System--\n");
return 0;
}
}
return 0;
}
typedef用法:
typedef int (*pfunc_t)(int, int);
pfunc_t array[3]; //装有函数指针类型的数组