#include<stdio.h>
struct Student
{
int order;
char ID[11];
char name[11];
int grade[4];
};
typedef struct Student student;
void add(student a[],int n);
void de(student a[],int n);
void change(student a[],int n);
void show(student a[],int n);
int main()
{
int n,i;
scanf("%d",&n);
student a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i].order);
if(a[i].order==1)
add(a,i);
else if(a[i].order==2)
de(a,i);
else if(a[i].order==3)
change(a,i);
else if(a[i].order==4)
show(a,i);
if(i!=n-1)
printf("\n");
}
return 0;
}
void add(student a[],int n)
{
int i,b=0;
scanf("%s",a[n].ID);
scanf("%s",a[n].name);
for(i=0;i<3;i++)
scanf("%d",&a[n].grade[i]);
for(i=0;i<n;i++)
{
if(strcmp(a[n].ID,a[i].ID)==0)
{
b=1;
break;
}
else
b=0;
}
if(b)
{
printf("Students already exist");
a[n].ID[0]='\0';
}
else
printf("Add success");
}
void de(student a[],int n)
{
int i,b=0;
scanf("%s",a[n].ID);
for(i=0;i<n;i++)
{
if(strcmp(a[n].ID,a[i].ID)==0)
{
b=1;
break;
}
else
b=0;
}
if(b)
{
printf("Delete success");
a[i].ID[0]='\0';
}
else
printf("Students do not exist");
a[n].ID[0]='\0';
}
void change(student a[],int n)
{
int i,j,b;
scanf("%s",a[n].ID);
for(i=0;i<3;i++)
scanf("%d",&a[n].grade[i]);
for(i=0;i<n;i++)
{
if(strcmp(a[n].ID,a[i].ID)==0)
{
b=1;
break;
}
else
b=0;
}
if(b)
{
a[n].ID[0]='\0';
for(j=0;j<3;j++)
a[i].grade[j]=a[n].grade[j];
printf("Update success");
}
else
{
printf("Students do not exist");
a[n].ID[0]='\0';
}
}
void show(student a[],int n)
{
int i,b=0;
double average;
scanf("%s",a[n].ID);
for(i=0;i<n;i++)
{
if(strcmp(a[n].ID,a[i].ID)==0)
{
b=1;
break;
}
else
b=0;
}
if(b)
{
printf("Student ID:%s\n",a[i].ID);
printf("Name:%s\n",a[i].name);
average=(double)(a[i].grade[0]+a[i].grade[1]+a[i].grade[2])/3;
printf("Average Score:%0.1lf",average);
}
else
printf("Students do not exist");
a[n].ID[0]='\0';
}