pull/20/head
commit
abcca07ce4
@ -0,0 +1,83 @@
|
|||||||
|
void save_data(void)
|
||||||
|
{
|
||||||
|
puts("保存数据");
|
||||||
|
printf(" 请输入文件名");
|
||||||
|
char filename[256];
|
||||||
|
scanf("%s", filename);
|
||||||
|
FILE *fp = fopen(filename, "r");
|
||||||
|
if (fp == NULL)
|
||||||
|
{
|
||||||
|
perror(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < num_parts; i++)
|
||||||
|
{
|
||||||
|
fprintf(fp, "%d,%s,%d\n", stu[i].number, stu[i].name, stu[i].score);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
printf("保存%d 成功", num_parts);
|
||||||
|
}
|
||||||
|
|
||||||
|
//排序
|
||||||
|
void sort_data(void)
|
||||||
|
{
|
||||||
|
printf("排序\n");
|
||||||
|
for (int i = 0; i < num_parts; i++)
|
||||||
|
{
|
||||||
|
int change = 0;
|
||||||
|
static struct students t;
|
||||||
|
for (int j = 0; j < num_parts - i - 1; j++)
|
||||||
|
{
|
||||||
|
if (stu[j].number > stu[j + 1].number)
|
||||||
|
{
|
||||||
|
t = stu[j + 1];
|
||||||
|
stu[j + 1] = stu[j];
|
||||||
|
stu[j] = t;
|
||||||
|
change = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!change)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < num_parts; i++)
|
||||||
|
{
|
||||||
|
int change = 0;
|
||||||
|
static struct students t;
|
||||||
|
for (int j = 0; j < num_parts - i - 1; j++)
|
||||||
|
{
|
||||||
|
if (stu[j].score > stu[j + 1].score)
|
||||||
|
{
|
||||||
|
t = stu[j + 1];
|
||||||
|
stu[j + 1] = stu[j];
|
||||||
|
stu[j] = t;
|
||||||
|
change = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!change)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
printf("排序已完成");
|
||||||
|
}
|
||||||
|
|
||||||
|
void make_chart(void)
|
||||||
|
{
|
||||||
|
printf("NUMBER | NAME score\n");
|
||||||
|
for (int i = 0; i < num_parts; i++)
|
||||||
|
{
|
||||||
|
printf("%d | %s ", stu[i].number, stu[i].name);
|
||||||
|
for (int j = 0; j < stu[i].score; j++)
|
||||||
|
{
|
||||||
|
printf("*");
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
printf("图表\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
int confirm(const char *msg)
|
||||||
|
{
|
||||||
|
char c = 'n'; // 默认选择是 no
|
||||||
|
printf("%s(Y/N): ", msg); // 提示输入 yes/no 进行确认
|
||||||
|
scanf(" %c%*[^\n]", &c); // 读取第一个字符,忽略剩余字符
|
||||||
|
return c == 'y' || c == 'Y'; // 返回确认结果
|
||||||
|
}
|
Loading…
Reference in new issue