• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

我自己写的学籍管理系统,不知道是不是文件读入时出了什么问题,有几个功能

#include#include#include#include#include#define N 100typedef struct student{        char num[13];//字符数组记录学号        char name[20];//        float math;        float english;        float cprogram;//c程序        float culture;//文化课成绩        float average;//平均成绩        float score[4];//用数组记录成绩,后面在函数中在看}jibenxingxi;//定义结构体变量的类型名为jjibenxingxi//void mainprint();//打印主界面void scoreInput();//成绩录入void scoreStat();//成绩统计系统void studentStatus();//学生管理功能界面void bukao();         /*生成并打印补考通知单*/                                            void sortAnhao();    /*按学号排序*/             void jisuanPingjun();/*计算平均分并排序*/             void tongjiFenshu(); /*统计分数段*/      void outdanke(); //输出单科成绩void qitafunction();//void findstudent();//查找学生//void main(){        char choose='\0',yes_no='\0';        do        {                system("color 4f");                system("cls");                mainprint();                printf("                             ");                choose=getch();                switch(choose)                {                        case '1':scoreInput(); break;//成绩录入                        case '2':scoreStat(); break;                        case '3':studentStatus(); break;                        case '4':qitafunction(); break;                        case '0': break;                        default:printf("   你所输入的选项非法\n");                }                if(choose=='0') break;                printf("                          即将进入主菜单,要继续选择吗(Y/N)?\n");                do                {                        yes_no=getch();                }while(yes_no!='y'&&yes_no!='Y'&&yes_no!='n'&&yes_no!='N');        }while(yes_no=='Y'||yes_no=='y');}void mainprint(){        printf("                        |******************************************|\n");         printf("                        |          欢迎使用学籍管理系统            |\n");        printf("                        |******************************************|\n");        printf("                        |            请输入选项编号(0~4)           |\n");        printf("                        |------------------------------------------|\n");        printf("                        |              1--录入成绩                 |\n");        printf("                        |              2--统计成绩                 |\n");        printf("                        |              3--处理学籍                 |\n");        printf("                        |              4--创新功能                 |\n");        printf("                        |              0--  退出                   |\n");         printf("                        |------------------------------------------|\n");}void scoreInput(){        int i=0;        char yes_no='\0';//        jibenxingxi stu[N]={0};        FILE *fp=NULL;        system("color 5f");//头文件windows中的函数,调用DOS命令,5f,中间5代表设置背景颜色,f代表前景颜色(字体颜色)        system("cls");//头文件windows中的函数,清屏        fp=fopen("d:\\学生基本信息.txt","w");//以写入的方式打开文件d:\\学生基本信息.txt        if(fp==NULL)         {                printf("    打开文件失败!\n");                return;        }        printf("\n欢迎进入成绩录入系统\n");        printf("请输入第%d个记录:\n",i+1);        puts("请输入学生学号:(用#结束程序)\n");        scanf("%s",stu.num);        puts("请输入学生姓名:(用#结束程序)\n");        scanf("%s",stu.name);        puts("请依次输入学生的数学、英语、编程、文化课成绩:\n");        scanf("%f%f%f%f",&stu.math,&stu.english,&stu.cprogram,&stu.culture);        while(strcmp(stu.num,"#")&&strcmp(stu.name,"#"))//字符数组比较函数,如果字符相等,则返回0,即跳出循环        {                fprintf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f\n",i+1,stu.num,stu.name,stu.math,                        stu.english,stu.cprogram,stu.culture);//赋值给结构体变量,且把结构体变量写入文件                i++;                printf("请输入第%d个记录",i+1);                puts("请输入学生学号:(用#结束程序)\n");                scanf("%s",stu.num);                puts("请输入学生姓名:(用#结束程序)\n");                scanf("%s",stu.name);                puts("请依次输入学生的数学、英语、编程、文化课成绩:\n");                scanf("%f%f%f%f",&stu.math,&stu.english,&stu.cprogram,&stu.culture);        }        fclose(fp);}//void scoreStat(){        char choose='\0',yes_no='\0';        system("color 6f");        do        {                system("cls");                printf("欢迎进入成绩统计系统\n");                printf("\n                                 |------------------------|");                printf("\n                                 |    请输入选项编号(0~4) |");                printf("\n                                 |------------------------|");                printf("\n                                 |      1--按学号排序     |");                printf("\n                                 |      2--按平均分数排序 |");                printf("\n                                 |      3--统计分数段     |");                printf("\n                                 |      4--返回           |");                printf("\n                                 |      0--退出系统       |");                printf("\n                                 |------------------------|\n");                choose=getch();                switch(choose)                {                case '1':sortAnhao();                case '2':jisuanPingjun();                case '3':tongjiFenshu();                case '4':main();                case '0':break;                default:printf("       这是一个非法选项!");break;                }                if(choose==0) break;                printf("     要继续选择吗?(Y/N)");                do                {                        yes_no=getch();                }while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');        }while(yes_no=='y'||yes_no=='Y');}//void studentStatus(){        char choose='\0',yes_no='\0';        jibenxingxi stu[N]={0};        FILE *fp=NULL;        fp=fopen("d:\\学生基本信息.txt","r");        if(fp==NULL)        {printf("文件打开失败!"); return; }        system("color 2f");        do        {                system("cls");                printf ("                 |---------------------------------------|\n");                printf ("                 |   请输入选项编号(0-3)                 |\n");                printf ("                 |---------------------------------------|\n");                printf ("                 |   1----------生成并打印补考通知单     |\n");                printf ("                 |   2----------查找学生                 |\n");                printf ("                 |   3----------输出单科成绩                 |\n");                                printf ("                 |   4----------返回                     |\n");                printf ("                 |   0----------退出系统                 |\n");                printf ("                 |---------------------------------------|\n");                choose=getche();                while(choose!='0'&&choose!='1'&&choose!='2'&&choose!='3'&&choose!='4')        {                        printf("                  %c为非法选项!请重新输入:",choose);                        choose=getchar();                }                switch(choose)                {                case '1':bukao(); break;                case '2':findstudent(); break;                case '3':outdanke(); break;                case '4':main(); break;                case '0':break;                }                if(choose==0)                {                        printf("\n");                        printf("感谢您的使用!\n");                        break;                }                printf("要继续选择吗?(Y/N)\n");                do                {                        yes_no=getch();                }while(yes_no!='y'&&yes_no!='Y'&&yes_no!='n'&&yes_no!='N');        }while(yes_no=='y'||yes_no=='Y');}void findstudent(){        int i=0,j=0,count=0,n=0,t=0;        char ch[20]="",yes_no='\0';        struct student stu[N]={0};        FILE *fp=NULL;        fp=fopen("d:\\学生基本信息.txt","r");        if(fp==NULL)        {                printf("\n 打开文件失败!\n");  return;         }        while(feof(fp)==0)        {                fscanf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f\n",&t,stu.num,                        stu.name,&stu.score[0],&stu.score[1],&stu.score[2],&stu.score[3]);                i++;                n++;        }        fclose(fp);        do        {                 system("color  8f");                system("cls");                printf("\n                   欢迎进入查询学生系统!\n");                printf("\n请输入要查学的学生的姓名:");                scanf("%s",&ch);                for(i=0;i=n)                                printf("\n                      查无此人.......\n");                        printf("\n                 要继续选择查询学生吗(Y/N)?\n");                        do                           {                                yes_no=getche();                        }while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');        }while(yes_no=='y'||yes_no=='Y'); }                   void sortAnhao(){        int k,i=0,j=0,n=0,t=0;        jibenxingxi stu2[N]={0},temp={0};//temp是为了排序时与结构体变量值进行交换的中间变量        FILE *fp=NULL;        system("color 9f");        fp=fopen("d:\\学生基本信息.txt","r");        if(fp=NULL)        {printf("文件打开失败!\n"); return;}        printf("欢迎进入按学号排序系统\n");        for(i=0;feof(fp)==0;i++)        {                fscanf(fp,"%3d%15s%16s%7.1f%7.1f%7.1f%7.1f\n",&t,stu2.num                        ,stu2.name,&stu2.math,&stu2.english,&stu2.cprogram,&stu2.culture);        }        fclose(fp);         for(j=0;j

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

可能是SDK中的windows.h这个文件有问题,可以重装Visual Studio,选择“修复”试试。

使用道具 举报

发新帖

发布任务需求已有1031168位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!