基于C语言的学生信息管理系统
#include "stdio.h"
#define SIZE 100000
#include"string.h"
#include"stdlib.h"
#include"conio.h"
struct student
{    int n;
    int num;
    char name[10];
    int C;
    int Maths;
    int En;
    float ave;
}stu[SIZE];
/*录入数据*/
void finput()
{
    FILE *fp;
    int i,p;
    fp=fopen("fstu","wb");
    for(i=0;i<SIZE;i+1)
    {
        printf("i=%d 输入序号i(当输入i=-1时,返回),i=",i++);
        scanf("%d",&i);
        if(i==-1)
        {
                fclose(fp);
                return;
        }
        else
        {
            printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:");
            scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En);
            stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0;
            stu[i].n=i+1;
            fwrite(&stu[i],sizeof(struct student),1,fp);
        }
    }
    fclose(fp);
}
/*输出数据*/
void flist()
{
    FILE *fp;
    int i;
    fp=fopen("fstu","rb");
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
    printf(" 成绩列表\n");
    printf("-----------------------------------------------------------\n");
    printf("序号 学号 姓名 C成绩 数学 英语 平均\n");
    printf("-----------------------------------------------------------\n");
    for(i=0;fread(&stu[i],sizeof(struct student),1,fp)==1;i++)
    {
        printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);
    }
    printf("-----------------------------------------------------------\n\n");
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
    fclose(fp);
}
/*查数据*/
void fsearch()
{
    FILE *fp;
    int i,num;
    fp=fopen("fstu","rb");
    rewind(fp);
    printf("请输入要查的学号:");
    scanf("%d",&num);
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
    printf(" 查询结果\n");
    printf("-----------------------------------------------------------\n");
    printf("序号 学号 姓名 C成绩 数学 英语 平均\n");
    printf("-----------------------------------------------------------\n");
    for(i=0;i<=SIZE;i++)
    if(stu[i].num==num)
    {
        printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);
    }
    printf("-----------------------------------------------------------\n\n");
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n");
    fclose(fp);
}
/*增加数据*/
void fadden()
{
    int i,s;
printf怎么读英语
    FILE *fp;
    fp=fopen("fstu","ab+");
    rewind(fp);
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
    printf(" 成绩列表\n");
    printf("-----------------------------------------------------------\n");
    printf("序号 学号 姓名 C成绩 数学 英语 平均\n");
    printf("-----------------------------------------------------------\n");
    for(i=0;fread(&stu[i],sizeof(struct student),1,fp)==1;i++)
    {
        printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);
    }
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
    s=i;
    for(i=s;i<SIZE;i++)
    {
        printf("i=%d 输入序号i(当输入i=-1时,返回),i=",i+1);
        scanf("%d",&i);
        if(i==-1)
        {
            fclose(fp);
            return;
        }
        else
        {
        printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:");
        stu[i].n=i+1;
        scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En);
        stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0;
        fwrite(&stu[i],sizeof(struct student),1,fp);
        }
    }
fclose(fp);
}
/*修改数据*/
void fchange()
{
    FILE *fp;
    int i,num,n;
    int flag=0;
    printf("请输入要修改学生的学号:");
    scanf("%d",&num);
    for(i=0;i<=SIZE;i++)
    if(stu[i].num==num)
    {
        printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
        printf(" 成绩列表\n");
        printf("-----------------------------------------------------------\n");
        printf("序号 学号 姓名 C成绩 数学 英语 平均\n");
        printf("-----------------------------------------------------------\n");
        printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);
        printf("-----------------------------------------------------------\n\n");
        printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
        n=i;
        flag=1;
        break;
    }
    if(flag==0)
    {
        printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
        printf(" 输入错误!\n");
        printf(" 请返回!\n");
        printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
        return;
    }
    printf("\n\n\n");
    fp=fopen("fstu","rb+");
    fseek(fp,n*sizeof(struct student),0);
    printf("请输入新的学号,姓名,C成绩,数学成绩,英语成绩:");
    scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En);
    stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0;
    fwrite(&stu[i],sizeof(struct student),1,fp);
    fclose(fp);
    fp=fopen("fstu","rb");
    printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
    printf(" 成绩列表\n");
    printf("-----------------------------------------------------------\n");
    printf("序号 学号 姓名 C成绩 数学 英语 平均\n");
    printf("-----------------------------------------------------------\n");
    for(i=0;fread(&stu[i],sizeof(struct student),1,fp)==1;i++)
    {
        printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。