• 大小: 22KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: C/C++
  • 标签: 增添  删除  修改  保存  

资源简介

用c语言实现学生基本信息的增添删改等功能,基本信息包括姓名 学号 成绩 性别等。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#define N 10000
typedef struct student
{
    char id[10];
    char name[20];
    char sex;
    double score[5];//五门课成绩
    double total;
    double avg;
}STU;
void display(void);                     //显示主菜单
void load(STU stu[]int *nPtr);//把学生信息加载到内存
void save(STU stu[]int n);//将数据保存到磁盘
void sort(STU stu[]int n);//排序
void InputRecord(STU stu[]int i);//输入一条记录
void find(STU stu[]int n);//查找
void del(STU stu[]int *nPtr);//删除
void add(STU stu[]int *nPtr);//添加一条记录
void edit(STU stu[]int n);//修改一条记录
void DeleteAll(STU stu[]int *nPtr);//删除所有记录
void DeleteRecord(STU stu[]int *nPtr);//删除一条记录
int FindByNum(STU stu[]int nchar *str);//按学号查找
void output(STU stu[]int n);//输出所有信息
void PrintRecord(STU *nPtr);//输出一条记录
int main()
{
    STU stu[N];
    int n;
    int select ;
    load(stu&n);
    while(1)
    {
        //load(stu&n);
        display();
        scanf(“%d“&select);
        switch(select)
        {
        case 1:
            add(stu&n);break;//添加
        case 2:
            edit(stun);break;//修改
        case 3:
            sort(stun);break;//排序
        case 4:
            find(stun);break;//查找
        case 5:
            del(stu&n);break;//删除
        case 6:
            output(stun);break;//输出
        case 7:
            return 0;//退出
        }
    }
}
void display(void)
{
    system(“cls“);
    printf(“欢迎使用本学生成绩管理系统\n“);
    printf(“说明:在本系统中欲执行某功能请输出相应的数字\n“);
    printf(“1 添加\n“);
    printf(“2 修改\n“);
    printf(“3 排序\n“);
    printf(“4 查找\n“);
    printf(“5 删除\n“);
    printf(“6 输出\n“);
    printf(“7 退出\n“);
}
void load(STU stu[]int *nPtr)
{
    FILE *fp;
    int i;
    if((fp=fopen(“d:\\student.dat““r“))==NULL)
    {
        *nPtr = 0;
        return;
    }
    for (i=0;fread(&stu[i]sizeof(STU)1fp)!=0;i++)
        *nPtr=i+1;
    fclose(fp);
}
void save(STU stu[]int n)
{
    FILE *fp;
    if((fp = fopen(“d:\\student.dat““w“))==NULL)
    {
        printf(“打开文件失败\n“);
        exit(0);
    }
    fwrite(stun * sizeof(stu[0])1fp);
    fclose(fp);
}
void output(STU stu[]int n)
{
    int i;
    /*打印表头*/
    printf(“%8s%8s%4s%8s%8s%8s%8s%8s%8s%8s\n““ID““NAME““SEX“
           “SCORE1““SCORE2““SCORE3““SCORE4““SCORE5““total““avg“);
    /*打印所有记录*/
    for(i=0;i        PrintRecord(&stu[i]);
    system(“pause“);
}
void PrintRecord(STU *sPtr)//输出指针sPtr所指记录的内容
{
    int i;
    printf(“%8s%8s%4c“sPtr->idsPtr->namesPtr->sex);
    for(i=0;i<5;i++)
    {
        printf(“%8.2f“sPtr->score[i]);
    }
    printf(“%8.2f%8.2f“sPtr->totalsPtr->avg);
    printf(“\n“);
}
void add(STU stu[]int *sPtr)
{
    //int i=0;//没用
    char sel = ‘y‘;
    while(sel==‘y‘)
    {
        InputRecord(stu(*sPtr)++);
        printf(“是否继续添加(yes--yno--others)\n“);
        scanf(“ %c“&sel);
    }
    save(stu*sPtr);
}
void InputRec

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-03 22:21  学生管理系统\
     目录           0  2018-01-03 22:02  学生管理系统\管理系统\
     目录           0  2017-09-14 13:10  学生管理系统\管理系统\bin\
     目录           0  2017-09-14 13:10  学生管理系统\管理系统\bin\Debug\
     文件       39555  2017-03-22 20:46  学生管理系统\管理系统\bin\Debug\管理系统.exe
     文件        6844  2017-03-22 20:46  学生管理系统\管理系统\main.c
     目录           0  2017-09-14 13:10  学生管理系统\管理系统\obj\
     目录           0  2017-09-14 13:10  学生管理系统\管理系统\obj\Debug\
     文件       12816  2017-03-22 20:46  学生管理系统\管理系统\obj\Debug\main.o
     文件        1125  2017-03-19 15:09  学生管理系统\管理系统\管理系统.cbp
     文件         407  2018-01-03 22:00  学生管理系统\管理系统\管理系统.depend
     文件         358  2018-01-03 22:02  学生管理系统\管理系统\管理系统.layout

评论

共有 条评论