📄 stujxt.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 + -