⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manager.c

📁 系统菜单的主要功能 (1)输入若干条记录 (2)显示所有记录 (3)按学号排序 (4)插入一条记录 (5)按姓名查找
💻 C
📖 第 1 页 / 共 2 页
字号:
                              printf("\t\t\tnot find!\n");              /*输入失败信息*/

                              return;

                             }

                    printf("\t\t\this(her) number:%s\n",stud[i].num);                /*输出该学生信息*/

                    printf("\t\t\this(her) score:%d\n",stud[i].score);

}
Statistic(Student stud[],int n)            /*新增功能,输出统计信息*/

{

                    int i,j=0,k=0,sum=0;

                    float aver;            /*成绩平均值*/

                    for(i=0;i<n;i++)            /*循环输入判断*/

                             {

                              sum+=stud[i].score;

                              if(stud[j].score>stud[i].score) j=i;

                              if(stud[k].score<stud[i].score) k=i;

                             }

                    aver=1.0*sum/n;

                    printf("\t\t\tthere are %d records.\n",n);            /*总共记录数*/

                    printf("\t\t\tthe hignest score:\n");           /*最高分*/

                    printf("\t\t\tnumber:%s   name:%s   score:%d\n",stud[j].num,stud[j].name,stud[j].score);

                    printf("\t\t\tthe lowest score:\n");            /*最低分*/

                    printf("\t\t\tnumber:%s   name:%s   score:%d\n",stud[k].num,stud[k].name,stud[k].score);

                    printf("\t\t\tthe average score is %5.2f\n",aver);                  /*平均分*/

}

 

int AddfromText(Student stud[],int n)               /*从文件中读入数据*/

{

                    int i=0,num;

                    FILE *fp;            /*定义文件指针*/

                    char filename[20];                  /*定义文件名*/

                    printf("\t\t\tInput the filename:");

                    scanf("\t\t\t%s",filename);              /*输入文件名*/

                    if((fp=fopen(filename,"rb"))==NULL)             /*打开文件*/

                             {

                                       printf("\t\t\tcann't open the file\n");                  /*打开失败信息*/

                                       printf("\t\t\t");

                                       system("pause");

                                       return(n);

                             }

                fscanf(fp,"%d",&num);                  /*读入总记录量*/

                    while(i<num)                /*循环读入数据*/

                    {

                             fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,&stud[n+i].score);

                             i++;

                }

                    n+=num;

                    fclose(fp);           /*关闭文件*/

                    printf("\t\t\tSuccessed!\n");

                    printf("\t\t\t");

                    system("pause");

                    return(n);

}

 

void WritetoText(Student stud[],int n)               /*将所有记录写入文件*/

{

 int i=0;

 FILE *fp;           /*定义文件指针*/

 char filename[20];                 /*定义文件名*/

                    printf("\t\t\tWrite Records to a Text File\n");             /*输入文件名*/

                    printf("\t\t\tInput the filename:");

                    scanf("\t\t\t%s",filename);

                    if((fp=fopen(filename,"w"))==NULL)             /*打开文件*/

                             {

                                       printf("\t\t\tcann't open the file\n");

                                       system("pause");

                                       return;

                             }

                fprintf(fp,"%d\n",n);             /*循环写入数据*/

                    while(i<n)

                    {

                             fprintf(fp,"%-16s%-15s%d\n",stud[i].num,stud[i].name,stud[i].score);

                             i++;

                }

                    fclose(fp);           /*关闭文件*/

                    printf("Successed!\n");          /*返回成功信息*/

}

 

void main()           /*主函数*/

{

 int n=0;

                    for(;;)

                    {

                             switch(menu_select())           /*选择判断*/

                             {

                             case 1:

                                       printf("\t\t\tInput Records\n");                /*输入若干条记录*/

                                       n=Input(stu,n);

                                       break;

                             case 2:

                                       printf("\t\t\tDisplay All Records\n");                /*显示所有记录*/

                                       Display(stu,n);

                                       break;

                             case 3:

                                       printf("\t\t\tSort\n");

                                       Sort_by_num(stu,n);             /*按学号排序*/

                                       printf("\t\t\tSort Suceessed!\n");

                                       printf("\t\t\t");

                                       system("pause");

                                       break;

                             case 4:

                                       printf("\t\t\tInsert a Record\n");

                                       n=Insert_a_record(stu,n);               /*插入一条记录*/

                                       printf("\t\t\t");

                                       system("pause");

                                       break;

                             case 5:

                                       printf("\t\t\tDelete a Record\n");

                                       n=Delete_a_record(stu,n);              /*按姓名查找,删除一条记录*/

                                       printf("\t\t\t");

                                       system("pause");

                                       break;

                             case 6:

                                       printf("\t\t\tQuery\n");

                                       Query_a_record(stu,n);                  /*查找并显示一个记录*/

                                       printf("\t\t\t");

                                       system("pause");

                                       break;

                             case 7:

                                       printf("\t\t\tStatistic\n");

                                       Statistic(stu,n);             /*新增功能,输出统计信息*/

                                       printf("\t\t\t");

                                       system("pause");

                                       break;

                             case 8:

                                       printf("\t\t\tAdd Records from a Text File\n");

                                       n=AddfromText(stu,n);                  /*新增功能,输出统计信息*/

                                       break;

                             case 9:

                                       printf("\t\t\tWrite to a Text file\n");

                                       WritetoText(stu,n);                /*循环写入数据*/

                                       printf("\t\t\t");

                                       system("pause");

                                       break;

                             case 0:

                                       printf("\t\t\tHave a Good Luck,Bye-bye!\n");           /*结束程序*/

                                       printf("\t\t\t");

                                       system("pause");

                                       exit(0);

                             }

                    }

}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -