You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
1.9 KiB

#define NAME_LEN 31
#define MAX_PARTS 100
//保存学生成绩信息的结构
struct students
{
int number;
char name[NAME_LEN + 1];
int score;
};
static struct students stu[MAX_PARTS];
static int num_parts = 0;
#include <stdio.h>
#include <stdlib.h>
//定义常量
#define CMD_QUIT 0
#define CMD_QUERY 4
#define CMD_INSERT 5
#define CMD_UPDATE 6
#define CMD_DELETE 7
#define CMD_READ 1
#define CMD_SAVE 2
#define CMD_PRINT 3
#define CMD_SORT 8
#define CMD_CHART 9
// 菜单命令的编号
// 函数声明
void init(void);
void quit(void);
void display_menu(void);
int make_choice(void);
void read_data(void); // 读取
void save_data(void); // 保存
void print_data(void); // 打印
void query_data(void); // 查询
void add_data(void); // 添加
void update_data(void); // 修改
void delete_data(void); // 删除
void sort_data(void); // 排序
void make_chart(void); // 图表
int confirm(const char *msg);
// 主程序
int main(void)
{
init(); // 程序启动
while (1)
{
display_menu();
int c = make_choice();
switch (c)
{
case CMD_QUERY:
query_data();
break;
case CMD_INSERT:
add_data();
break;
case CMD_UPDATE:
update_data();
break;
case CMD_DELETE:
delete_data();
break;
case CMD_READ:
read_data();
break;
case CMD_SAVE:
save_data();
break;
case CMD_PRINT:
print_data();
break;
case CMD_SORT:
sort_data();
break;
case CMD_CHART:
make_chart();
break;
default:
puts("命令错误,请重新选择");
break;
case CMD_QUIT:
if (confirm("确定要退出吗?"))
quit(); // 仅在确认后退出
break;
}
}
return 0;