#include
#include
#include
#include
/*用于储存学生的各科成绩*/
typedef struct _grades{
int math; //高数成绩
int CLanguage; //C语言成绩
int English; //英语成绩
int Moral; //思修成绩
}Grades;
typedef struct _student{
char id[10]; //学生学号
char names[10]; //学生姓名
int clas; //学生班级
Grades grades; //学生成绩
}Student;
int number = 0;
/*函数声明*/
void menu(); //菜单函数
void insert(Student *); //添加函数
void alter(void); //修改函数
void search(void); //查询函数
double function1(Student * ); //用于计算学生的总成绩
Student Information[500];
void menu()
{
int choice;
printf("本程序的功能为如下:\n************************************\n");
printf("1.录入学生成绩\n");
printf("2.修改学生成绩\n");
printf("3.查询学生成绩\n");
printf("4.退出程序\n");
printf("************************************\n");
printf("请选择(输入1-4之间的整数):\n");
scanf("%d", &choice);
switch(choice)
{
case 1: //添加学生信息
insert(&Information[number]);
number++;
printf("请继续选择:\n");
menu();
break;
case 2: //修改学生信息
alter();
printf("请继续选择\n");
menu();
break;
case 3: //查询学生信息
search();
printf("请继续选择\n");
menu();
break;
default:
printf("谢谢使用");
break;
}
}
/* double function1(Student * student)
{
double sum;
sum = student->grades.math + student->grades.CLanguage + student->grades.English + student->grades.Moral;
return sum;
} */
void insert(Student * ptr_1)
{
ptr_1 = (Student *)malloc(sizeof(Student *));
printf("请输入学生的学号:");
scanf("%s", ptr_1->id);
fflush(stdin);
printf("请输入学生的姓名:");
scanf("%s", ptr_1->names);
fflush(stdin);
printf("请输入学生的班级:");
scanf("%d", ptr_1->clas);
fflush(stdin);
printf("1.请输入学生的高数成绩:");
scanf("%d", ptr_1->grades.math);
fflush(stdin);
printf("2.请输入学生的C语言成绩:");
scanf("%d", ptr_1->grades.CLanguage);
fflush(stdin);
printf("3.请输入学生的英语成绩:");
scanf("%d", ptr_1->grades.English);
fflush(stdin);
printf("4.请输入同学的思修成绩:");
scanf("%d", ptr_1->grades.Moral);
fflush(stdin);
}
void alter(void) //修改函数
{
char id; //学生学号
int i;
Student * ptr;
printf("请输入想要修改信息的学生的学号:");
scanf("%d", &id);
fflush(stdin);
for(i = 0; i < number; i++)
{
if(strcmp(id, Information[i].id) == 0)
{
ptr = &Information[i];
printf("请输入修改后的高数成绩:");
scanf("%d", ptr->grades.math);
printf("请输入修改后的C语言成绩:");
scanf("%d", ptr->grades.CLanguage);
printf("请输入修改后的英语成绩:");
scanf("%d", ptr->grades.English);
printf("请输入修改后的思修成绩:");
scanf("%d", ptr->grades.Moral);
break;
}
}
printf("修改成功!");
}
void search(void) //查询函数
{
char id; //学生学号
int i;
printf("请输入所查找学生的学号:");
scanf("%d", &id);
fflush(stdin);
for(i = 0; i < number; i++)
{
strcmp(id, Information[i].id); //比较所输入的学号和程序中已经录入的学号是否有相同的
if(strcmp(id, Information[i].id) == 0)
{
printf("已经查找到所要查找的学生\n");
printf("学生的姓名为:%d", Information[i].names);
printf("学生的班级为:%d", Information[i].clas);
printf("学生的高数成绩为:%d", Information[i].grades.math);
printf("学生的英语成绩为:%d", Information[i].grades.English);
printf("学生的C语言成绩为:%d", Information[i].grades.CLanguage);
printf("学生的思修成绩为:%d", Information[i].grades.Moral);
}
}
}
int main()
{
//Student student;
menu();
//printf("%d %d", Information[0].id, Information[0].clas );
// sum = function1(&student);
return 0;
}