Hexo my first blog

#include

#include

#include

#define N 100
void input();
void search();
void menu();
void read();
void show();
void alter();
void add();
struct report
{
int score;
char name[N];
char sex[N];
char num[N];
char class[N];
struct report next;
};//ѧ����Ϣ�ṹ��
struct report
head=NULL;
struct report prev,current;//�ṹ����ָ�룬prevָ��ǰһ�ṹ�壬currentָ����ǰ�ṹ��

int main()
{
read();//��ȡ�Ѵ�����
menu();
return 0;
}

void menu()
{
int n;
system(“cls”);
printf(“nn*ѧ������ϵͳ*n”);
printf(“nt1.����ѧ����Ϣtttt2.��ѯѧ����Ϣnnt3.�޸�ѧ����Ϣtttt4.��ʾѧ����Ϣnnt5.���ڼ�¼tttt6.�˳�ϵͳ”);
printf(“nn**n”);
printf(“n��ѡ�����IJ�����”);
scanf(“%d”, &n);
if(n>0&&n<7)
{
switch(n)
{
case 1:input();break;
case 2:search();break;
case 3:alter();break;
case 4:show();break;
case 5:add(); break;
case 6:exit(0);
}
}
else
{
printf(“��������������n”);
}
menu();
}

void input()//�����ݱ������ļ���

{
current = (struct report )malloc(sizeof(struct report));
if (head == NULL)//��һ���ṹ
{
head = current;
}
else
{
prev->next = current;
}
current->next = NULL;
prev = current;
system(“cls”);
printf(“n**ѧ��������Ϣ**nn”);
printf(“����������ѧ��������Ϣ:n”);
while(getchar()!=’n’);
printf(“ntѧ��������”); scanf(“%s”, current->name);
printf(“ntѧ���Ա���”); scanf(“%s”, current->sex);
printf(“ntѧ��ѧ�ţ�”); scanf(“%s”, current->num);
printf(“ntѧ���༶��”); scanf(“%s”, current->class);
printf(“nt���ڴ�����”); scanf(“%d”, &current->score);//����ѧ��������Ϣ
char ch;
FILE
fp;
if((fp=fopen(“file.txt”,”a+”))==NULL)
{
printf(“�ļ�����ʧ�ܣ�n”);
exit(1);
}
fprintf(fp,”%sn”,current->name);
fprintf(fp,”%sn”,current->sex);
fprintf(fp,”%sn”,current->num);
fprintf(fp,”%sn”,current->class);
fprintf(fp,”%dn”,current->score);//��ѧ��������Ϣд���ļ�
fclose(fp);
printf(“nnty ��������t�������������˵�……t”);
while (getchar() != ‘n’);
ch=getchar();
if (ch == ‘y’)
input();
else
menu();

}

void read()//��ȡ�ļ���������
{
FILE fp;
if((fp=fopen(“file.txt”,”a+”))==NULL)
{
fprintf(stdout,”�����ļ�ʧ�ܣ�n”);
exit(1);
}
struct report temp;
while (fscanf(fp, “%s %s %s %s %d”, temp.name, temp.sex, temp.num, temp.class, &temp.score) == 5)//��ȡ�ļ����ݴ�������֮��
{
current = (struct report
)malloc(sizeof(struct report));
*current = temp;
if (head == NULL)//��һ���ṹ
{
head = current;
}
else
{
prev->next = current;
}
current->next = NULL;
prev = current;

}
fclose(fp);

}

void show()//��ʾѧ��������Ϣ����
{
if(head==NULL)
{
printf(“n���ݲ����ڣ�n”);//��������Ϊ�գ��������ݲ�����
}
else
{
system(“cls”);
printf(“n**ѧ��������Ϣ**nn”);
current = head;
printf(“tt����tt�Ա�t ѧ��tt �༶t ���ڴ���nn”);
while (current != NULL)
{
printf(“tt%-stt%-st%-st%-stt%-dn”, current->name, current->sex, current->num, current->class,current->score );

        current = current->next;//ѭ������ѧ��������Ϣ
    }
}
printf("nn���������������˵�......");
getchar();
getchar();
menu();

}

void search()//����ѧ��������Ϣ����
{
struct report searchx;
system(“cls”);
printf(“n**ѧ��������Ϣ��ѯ**nn”);
printf(“��ѡ�����ҷ�ʽ��nnt1.��������t2.ѧ�Ų���t3.�༶����t4.���ز˵�t”);
int n;
scanf(“%d”,&n);
if(n==1)//����������ѧ����Ϣ
{
printf(“n������ѧ��������”);
scanf(“%s”,searchx.name);
if(head==NULL)
{
printf(“���ݲ����ڣ�n”);
}
current=head;
printf(“n**ѧ��������Ϣ��ѯ����**nn”);
printf(“tt����tt�Ա�t ѧ��tt �༶t ���ڴ���nn”);
while(current!=NULL)
{
if(strcmp(searchx.name,current->name)==0)
{
printf(“tt%-stt%-st%-st%-stt%-dn”, current->name, current->sex, current->num, current->class, current->score);
}
current=current->next;
}
}
if(n==2)//��ѧ�Ų���ѧ����Ϣ
{
printf(“nn������ѧ��ѧ�ţ�”);
scanf(“%s”,searchx.num);
if(head==NULL)
{
printf(“���ݲ����ڣ�n”);
}
current=head;
printf(“n**ѧ��������Ϣ��ѯ����**nn”);
printf(“tt����tt�Ա�t ѧ��tt �༶t ���ڴ���nn”);
while(current!=NULL)
{
if(strcmp(searchx.num,current->num)==0)
{
printf(“tt%-stt%-st%-st%-stt%-dn”, current->name, current->sex, current->num, current->class, current->score);
}

        current=current->next;
    }
}
if(n==3)
{
    printf("n������ѧ���༶��");
    scanf("%s", searchx.class);
    if (head == NULL)
    {
        printf("���ݲ����ڣ�n");
    }
    current = head;
    printf("n****************************************ѧ��������Ϣ��ѯ����****************************************nn");
    printf("tt����tt�Ա�t  ѧ��tt �༶t      ���ڴ���nn");
    while (current != NULL)
    {
        if (strcmp(searchx.class, current->class) == 0)
        {
            printf("tt%-stt%-st%-st%-stt%-dn", current->name, current->sex, current->num, current->class, current->score);
        }
        current = current->next;
    }

}
if(n == 4)
     menu();
if(n<1||n>4)
printf("nn��������������nn"); 
printf("nny ��������t�������������˵�......t");
char ch;
while (getchar() != 'n');
ch = getchar();
if (ch == 'y')
    search();
else
    menu();

}

void alter()//�޸�ѧ��������Ϣ����
{
int mark = 0;
struct report alterx;
system(“cls”);
printf(“n**ѧ��������Ϣ�޸�**nn”);
printf(“n�������޸�ѧ������:”);
scanf(“%s”,alterx.name);
FILE *fp;
if ((fp = fopen(“file.txt”, “w”)) == NULL)
{
printf(“���ܴ򿪸��ļ���n”);
exit(1);
}
current=head;
printf(“ntt����tt�Ա�t ѧ��tt �༶t ���ڴ���nn”);
while(current!=NULL)
{
if(strcmp(alterx.name,current->name)==0)//�ҵ�Ҫ�޸�ѧ����Ϣ���޸�������Ϣ
{
mark = 1;
printf(“tt%-stt%-st%-st%-stt%-dn”, current->name, current->sex, current->num, current->class, current->score);
printf(“nn�������µ�ѧ����Ϣ��n”);
while(getchar()!=’n’);
printf(“n������”); scanf(“%s”, current->name);
printf(“n�Ա���”);scanf(“%s”, current->sex);
printf(“nѧ�ţ�”); scanf(“%s”, current->num);
printf(“n�༶��”); scanf(“%s”, current->class);
printf(“n���ڴ�����”); scanf(“%d”, &current->score);
fprintf(fp, “%s”, current->name); putc(‘n’, fp);
fprintf(fp,”%s”,current->sex); putc(‘n’, fp);
fprintf(fp,”%s”,current->num); putc(‘n’, fp);
fprintf(fp,”%s”,current->class); putc(‘n’, fp);
fprintf(fp, “%d”,current->score); putc(‘n’, fp);
current=current->next;
continue;
}
fprintf(fp,”%sn”,current->name);
fprintf(fp,”%sn”,current->sex);
fprintf(fp,”%sn”,current->num);
fprintf(fp,”%sn”,current->class);
fprintf(fp,”%dn”, current->score); //����ѧ����Ϣ���ֲ���
current = current->next;
}
fclose(fp);
char ch;
printf(“nny �����޸�t�������������˵�……t”);
while (getchar() != ‘n’);
ch=getchar();
if (ch == ‘y’)
alter();
else
menu();

}

void add()//���ڼ�¼��ʹȱ��ѧ�����ڴ������䣬����ѧ�����ڴ�����1
{
system(“cls”);
printf(“n**ѧ�����ڼ�¼**nn”);
int n, i;
char array[100];
printf(“nt������ȱ��ѧ��������”);//n��¼ȱ������
scanf(“%d”, &n);
for (i = 0; i < n; i++)
{
printf(“nt��������%d��ȱ��ѧ��ѧ�ţ�”, i + 1);
scanf(“%s”, array);//����ȱ��ѧ��ѧ��
current = head;
while (current != NULL)
{
if (strcmp(array, current->num))
{
current->score++;//����ѧ�����ڴ�����һ
}
current = current->next;
}
}
printf(“nn���ڼ�¼�ɹ�……nn�����⽨�������˵�……”);
getchar();
getchar();
}