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

📄 8.c

📁 C++开发的高校成绩管理
💻 C
📖 第 1 页 / 共 2 页
字号:
        b+=a;c=b+c; 
        cout<<"               ┃                                          ┃"<<endl 
            <<"               ┠┄┄┄┄┄┄┄ 及格率统计 ┄┄┄┄┄┄┄┄┨"<<endl 
            <<"               ┃                                          ┃"<<endl; 
        cout<<"               ┃   ★  优秀(90~100)  :  "<<setw(2)<<a<<"人" 
            <<"  优秀率:"<<setprecision(2)<<(float)100*a/n<<"% ┃"<<endl 
            <<"               ┃   ☆  良好(80~100)  :  "<<setw(2)<<b<<"人" 
            <<"  良好率:"<<setprecision(2)<<(float)100*b/n<<"% ┃"<<endl 
            <<"               ┃   ●  及格(60~100)  :  "<<setw(2)<<c<<"人" 
            <<"  及格率:"<<setprecision(2)<<(float)100*c/n<<"% ┃"<<endl 
            <<"               ┃   ◎  重修( 0~59 )  :  "<<setw(2)<<d<<"人" 
            <<"  重修率:"<<setprecision(2)<<(float)100*d/n<<"% ┃"<<endl 
            <<"               ┃   ¤    档 案 数     :  "<<setw(2)<<n<<"条            
  ┃"<<endl; 
        cout<<"               ┃                                          ┃"<<endl 
            <<"               █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█"<<endl 
            <<endl<<"             ▼▽按任意键返回主菜单▽▼"<<endl; 
    } 
} 

void prndata(FROMTO *p,float *p1,int n)             //打印学生成绩子程序 
{ 
    int i; 
    char temp[2]={0}; 
    if(!n) 
        cout<<"▲△ >非法操作< 没有任何数据,按任意键返回△▲"<<endl; 
    else 
    { 
        cout<<endl; 
        cout<<"╔═══════════════════════════════════ 
══╗"<<endl 
            <<"║                                                                         
  ║"<<endl 
            <<"║                              学生成绩统计列表                           
  ║"<<endl 
            <<"║                                                                         
  ║"<<endl 
            <<"╟──────────────────────────────────── 
─╢"<<endl; 
        cout<<"║"<<setfill(' ') 
            <<"   姓名" 
            <<setw(8)<<"学号" 
            <<setw(8)<<"单片机" 
            <<setw(10)<<"通信原理" 
            <<setw(10)<<"锁相技术" 
            <<setw(10)<<"光纤通信" 
            <<setw(10)<<"C++程序设计" 
            <<setw(10)<<"平均成绩"<<"║"<<endl 
            <<"╟┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 
┄╢"<<endl; 
        for(i=0;i<n;i++) 
            cout<<"║"<<setw(2)<<setiosflags(ios::left)<<i+1<<"."<<setw(6)<<p[i].name<<"  
"<<setw(8)<<p[i].number 
                <<setprecision(4)<<"  "<<p[i].score[0]<<"       "<<p[i].score[1]<<"       
 "<<p[i].score[2] 
                <<"        "<<p[i].score[3]<<"         "<<p[i].score[4]<<"       "<<setw(5)< 
<setprecision(4) 
                <<setiosflags(ios::left)<<p[i].aves<<" ║"<<endl; 
            cout<<"╟┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 
┄┄┄┄╢"<<endl; 
            cout<<"║"<<"平均分   ☆★☆★  "<<setw(9)<<setprecision(4)<<setiosflags 
(ios::left)<<p1[0] 
                <<setw(9)<<setprecision(4)<<setiosflags(ios::left)<<p1[1]<<setw(11)<< 
setprecision(4) 
                <<setiosflags(ios::left)<<p1[2]<<setw(11)<<setprecision(4)<<setiosflags(ios: 
:left)<<p1[3] 
                <<setprecision(4)<<setiosflags(ios::left)<<p1[4]<<setw(5)<<setiosflags 
(ios::right)<<"             ║"<<endl 
                <<"╚═════════════════════════════════ 
════╝" 
                <<endl<<setiosflags(ios::right)<<endl; 
    } 
} 
  
void savedata(FROMTO *p,int n)            //存档程序 
{ 
    int i; 
    FILE *fp; 
    if (!n) 
        cout<<"▲△ >非法操作< 没有任何数据,按任意键返回△▲"<<endl; 
    else 
    { 
        if((fp=fopen("DATA.txt","w"))==NULL) 
        { 
            printf("▲△ 错误!不能打开文件! 按任意键返回  ▲△\n"); 
            exit(0);} 
        for(i=0;i<n;i++) 
            fprintf(fp,"%-7s %-10s %5.1f %5.1f %5.1f %5.1f %5.1f %5.1f\n",p[i].name,p[i] 
.number, 
            p[i].score[0],p[i].score[1],p[i].score[2],p[i].score[3],p[i].score[4],p[i] 
.aves); 
        fclose(fp); 
        printf("▼▽ 存盘完毕!按任意键返回主菜单 ▼▽\n\n"); 
    } 
} 
  
void loaddata(FROMTO *p,int *n)      //导入学生档案 
{ 
    int i=0; 
    FILE *fp; 
    if((fp=fopen("DATA.txt","r"))==NULL) 
    {   cout<<"▲△ >非法操作< 没有任何数据,按任意键返回△▲"<<endl; 
    exit(0); 
    } 
    while(!feof(fp)) 
    { 
        fscanf(fp,"%s %s %f %f %f %f %f %f",p[i].name,p[i].number,&p[i].score[0],&p[i] 
.score[1], 
            &p[i].score[2],&p[i].score[3],&p[i].score[4],&p[i].aves); 
        i++; 
    } 
    fclose(fp); 
    *n=i-1; 
    cout<<"▼▽ 己经成功读入数据!按任意键返回! ▼▽"<<endl; 
} 

void deldata(FROMTO *p,int n)            //删除档案记录子程序 
{ 
    int i,m; 
    FILE *fp; 
        if (!n) 
        cout<<"▲△ >非法操作< 没有任何数据,按任意键返回△▲"<<endl; 
    else 
    { 
        if((fp=fopen("DATA.txt","w"))==NULL) 
        { 
            printf("▲△ 错误!不能打开文件! 按任意键返回  ▲△\n"); 
            exit(0); 
        } 
        else 
        { 
            cout<<endl<<endl<<endl; 
            cout<<"☆!☆ 一旦删除将无法挽回,请输入档案序号(键入'0'返回) : "; 
            cin>>m; 
            m-=1; 
            for(i=0;i<m;i++) 
                fprintf(fp,"%-7s %-10s %5.1f %5.1f %5.1f %5.1f %5.1f %5.1f\n", 
                p[i].name,p[i].number,p[i].score[0],p[i].score[1],p[i].score[2], 
                p[i].score[3],p[i].score[4],p[i].aves); 
            for(i=m+1;i<n;i++) 
               fprintf(fp,"%-7s %-10s %5.1f %5.1f %5.1f %5.1f %5.1f %5.1f\n", 
               p[i].name,p[i].number,p[i].score[0],p[i].score[1],p[i].score[2], 
               p[i].score[3],p[i].score[4],p[i].aves); 
            fclose(fp); 
             
        } 
        printf("▼▽ 该条档案已经删除,按任意键返回主菜单 ▼▽\n\n"); 
    } 
} 
void gotomenu()                  //返回菜单显示子程序 
{ 
    cout<<endl<<"             ▼▽按任意键返回主菜单▽▼"<<endl<<endl; 
} 

void someendl()                  //换行子程序 
{ 
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl; 
} 

void about() 
{ 
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl 
        <<"            ▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽    "<< 
endl 
        <<"            ◇                                                    ◇    "<< 
endl 
        <<"            ◇          SoQool 学生成绩管理系统 Ver1.03           ◇    "<< 
endl 
        <<"            ◇     ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄   ◇    "<< 
endl 
        <<"            ◇           作者:罗宁   (学号01072054)            ◇    "<< 
endl 
        <<"            ◇       联系地址:中南民大通信工程01级02班           ◇    "<< 
endl 
        <<"            ◇      电话 / QQ:87535595  /   38423952             ◇    "<< 
endl 
        <<"            ◇                                                    ◇  
   "<<endl 
        <<"            ◇           √ copyright (c) 2004.05.22              ◇    "<< 
endl 
        <<"            ◇               尊重知识产权 购买正版                ◇    "<< 
endl 
        <<"            ◇                                                    ◇  
   "<<endl 
        <<"            △△△△△△△△△△△△△△△△△△△△△△△△△△△△    "<< 
endl 
        <<" "<<endl 
        <<" "<<endl 
        <<endl<<endl 
        <<endl<<"             ▼▽按任意键返回主菜单▽▼"<<endl; 
} 

main() 
{ 
    FROMTO s_user[M]={0}; 
    float s_aves[N]={0}; 
    int ch,num=0; 
    do 
    { 
        menu(); 
        do 
        { 
            ch=getch()-48;} 
        while(!(ch>=0&&ch<=9)); 
        switch(ch) 
        { 
            case 1:input(s_user,&num);break; 
            case 2:averdata(s_user,s_aves,num);potiscore(s_user,num);statdata(s_user,num) 
;break; 
            case 3:averdata(s_user,s_aves,num);prndata(s_user,s_aves,num);gotomenu() 
;break; 
            case 4:loaddata(s_user,&num);break; 
            case 5:savedata(s_user,num);break; 
            case 6:about();break; 
            case 7:prndata(s_user,s_aves,num);deldata(s_user,num);loaddata(s 
_user,&num);someendl();prndata(s_user,s_aves,num);gotomenu();break; 
            case 0:exit(0);break; 
        } 
    } 
    while(getch()!=EOF); 
    return 0; 
} 

⌨️ 快捷键说明

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