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

📄 stujxt.c

📁 这是一个学生成绩管理系统
💻 C
字号:
/*以下为主程序*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#define LEN sizeof(struct xscj)
struct xscj
{char xh[20];
 char xm[8];
 int match;
 int computer;
 int english;
 int zf;
}stud[30];                                      /*定义结构体*/
int recno=0,rccount=0;                          /*定义全局变量存放当前记录、记录数*/
void s_read();                                  /*函数声明:读记录*/
void s_disp();                                  /*函数声明:显示所有记录*/
void s_save();                                  /*函数声明:保存记录*/
void s_insert();                                /*函数声明:追加记录*/
int xhexist(struct xscj *,char[],int);                                   /*函数声明:判断该学号是否存在*/
void query_rec(struct xscj *);                   /*函数声明:按记录号查询*/
void query_xh(struct xscj *);                    /*函数声明:按学号查询*/
void query_xm(struct xscj *);                    /*函数声明:按姓名查询*/
void update_rec();                              /*函数声明:按记录号修改*/
void update_xh();                               /*函数声明:按学号修改*/
void update_xm();                               /*函数声明:按姓名修改*/
void delete_rec();                              /*函数声明:按记录号删除*/
void delete_xh();                               /*函数声明:按学号删除*/
void delete_xm();                               /*函数声明:按姓名删除*/
void s_sort();                                  /*函数声明:按部分排序*/
int menu_select();                              /*函数声明:菜单选择*/
void handle_menu();                             /*函数声明:菜单处理*/
main()
{
 s_read(stud);                                   /*调用读记录函数*/
 handle_menu();									 /*调用菜单处理函数*/


}
/*以下定义菜单处理函数*/
void handle_menu()
{int sel,flag;
 while(1)
 {
  switch(menu_select())
  {case 49:
    printf("1\n");
    s_insert(stud);                             /*调用追加记录函数*/
    s_save(stud);                               /*调用保存记录函数*/
    s_disp(stud);                               /*调用显示所有记录函数*/
    break;
   case 50:
	printf("2\n");
    flag=1;
    while(flag)
    {/*以下显示修改记录子菜单*/
     printf("\n                  [修改记录子菜单]\n\n");
     printf("           +******************************+\n");
     printf("           *   1.按记录号修改             *\n");
     printf("           *   2.按学号修改               *\n");
     printf("           *   3.按姓名修改               *\n");
     printf("           *   0.返回                     *\n");
     printf("           +******************************+\n");
     printf("                    请选择(0~3)并回车:");
     scanf("%d",&sel);
     switch(sel)
     {case 0: flag=0;break;
      case 1: update_rec(stud);break;
      case 2: update_xh(stud);break;
      case 3: update_xm(stud);break;
     }
     s_save(stud);
     s_disp(stud);
	}
     break;
    case 51:
	 printf("3\n");
     flag=1;
     while(flag)
     {/*以下显示删除记录子菜单*/
       printf("\n                  [删除记录号删除]\n\n");
       printf("           +------------------------------+\n");
       printf("           |    1.按记录号删除            |\n");
       printf("           |    2.按学号删除              |\n");
       printf("           |    3.按姓名删除              |\n");
       printf("           |    0.返回                    |\n");
       printf("           +------------------------------+\n");
       printf("                    请选择 (0-3)并回车:");
       scanf("%d",&sel);
       switch(sel)
       {case 0: flag=0;break;
        case 1: delete_rec(stud);break;
        case 2: delete_xh(stud);break;
        case 3: delete_xm(stud);break;
       }
       s_save(stud);
       s_disp(stud);
       }
       break;
    case 52:
	   printf("4\n");
       flag=1;
       while(flag)
       {/*以下显示查询子菜单*/
        printf("\n           [查询记录子菜单]\n\n");
        printf("        +------------------------------+\n");
        printf("        |    1.按记录号查询            |\n");
        printf("        |    2.按学号查询              |\n");
        printf("        |    3.按姓名查询              |\n");
        printf("        |    4.查询全部                |\n");
        printf("        |    0.返回                    |\n"); 
        printf("        +------------------------------+\n"); 
        printf("             请选择(0~4)并回车:");
        scanf("%d",&sel);
        switch(sel)
        {case 0: flag=0;break;
         case 1: query_rec(&stud);break;
         case 2: query_xh(&stud);break;
         case 3: query_xm(&stud);break;
         case 4: s_disp(stud);break;
		 default: printf("        输入错误,请重新输入!\n");
        }
       }
       break;
      case 53: printf("5\n");s_sort(stud);break;
      case 48: printf("exit,bye!\n");exit(0);
     }
    }
   }
/*以下定义选择菜单函数*/
int menu_select()
{char cn;
 int i=0;
 /*以下显示主菜单*/
 printf("\n\n                              [主菜单]\n\n");
 printf("               +----------------------------------+\n");
 printf("               |     1-输入记录                   |\n");
 printf("               |     2-修改记录                   |\n");
 printf("               |     3-删除记录                   |\n");
 printf("               |     4-查询记录                   |\n");
 printf("               |     5_排序记录                   |\n");
 printf("               |     0-退出                       |\n");
 printf("               +----------------------------------+\n");
 while(1)
 {printf("\n                     请选择(0~5):");
    cn=getch();
	
   if(cn<48||cn>53)
  {
	  i++;
	  printf("\n");
	  putch(cn);
	  if(i==3)
	  {printf("\n       对不起,您的输入次数已超过限制。请按任意键退出...");
	  getch();
	  exit(2);
	  }
	  printf("\n              输入错误!请按任意键继续...");
	  getch();
  }
  else break;
 }
 return cn;
}

⌨️ 快捷键说明

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