资源简介
能完美运行 包含功能: 1、输入:函数input把20学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。 2、插入:insert 函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。 3、排序:sort函数对所有学生按要求排序(1.学号 2.总成绩 ),并输出。 4、查找:find函数输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要求能查询多次。 5、删除:delete函数输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容。 6、输出:函数output 输出全部学生的记录。 7、main函数使用菜单,菜单可以调用所有函数,实现全部函数功能(注:除了定义结构外,不允许使用全局变量,函数之间的数据全部使用参数传递)。若出现中文乱码可以联系我
代码片段和文件信息
#include
#include
#include
#include
#define LEN sizeof(struct student)
struct student
{
int num;
char name[20];
char sex[5];
int age;
float score[11];
float ave;
float sum;
struct student *next *nex;
};
void main()
{
struct student * sort(struct student *p int A char *o);//排序
struct student *insert(struct student *p int A char *o);//插入
void find(struct student *p1 int A char *o);//查找
struct student* delete_(struct student *p1);//删除
struct student* start(int A char *o);//启动
void output(struct student *p int A char *o);//输出
struct student *head;
int A i a b=0 flag = 1 flag1 = 1 flag2 = 1 flag3 = 1 flag4 = 0;
char k[10][20] *o;
o = k[0];
printf(“****************************************************************************************************\n“);
printf(“ \n“);
printf(“ \n“);
printf(“ ��ӭʹ��ѧ���ɼ���ѯϵͳ \n“);
printf(“ \n“);
printf(“ \n“);
printf(“****************************************************************************************************\n“);
printf(“������γ���Ŀ�������ƣ��Կո���\n“);
scanf(“%d“ &A);
for (i = 0; i {
scanf(“%s“ k[i]);
}
while (flag)
{
flag1 = flag2 = flag3 = 1;
head = start(A o);
head = sort(head 0 o);
while (flag1)
{
flag3 = 1;
if (flag2)
{
printf(“------------------------------------------------------------------------------\n“);
printf(“1.����ɼ��� \n2.ѧ���������� \n3.����ѧ������\n4.����ѧ������ \n5.ɾ��ѧ������ \n6.������������ \n7.�˳�\n��ѡ���ܣ�“);
scanf(“%d“ &a);
}
printf(“------------------------------------------------------------------------------\n“);
if (a == 1) output(head A o);
else if (a == 2)
{
head = sort(head A o);
output(head A o);
}
else if (a == 3) find(head A o);
else if (a == 4)
{
head = insert(head A o);
flag4 = 1;
}
else if (a == 5)
{
head = delete_(head);
flag4 = 1;
}
else if (a == 6) flag1 = flag2 = flag3 = 0;
else if (a == 7) flag = flag1 = flag2 = flag3 = 0;
else
{
printf(“�����������������:“);
flag3 = 0;
}
while (flag3)
{
if (flag4) printf(“0.����� “);
printf(“1.�������˵� 2.����ִ�� 3.�˳�\n“);
printf(“��ѡ��“);
scanf(“%d“ &b);
if (flag4&&b == 0)
{
output(head A o);
flag4 = 0;
}
else
{
if (b == 1)
{
flag2 = 1;
flag3 = 0;
}
else if (b == 2) flag2 = flag3 = 0;
else if (b == 3) flag = flag1 = flag2 = flag3 = 0;
else printf(“�����������������:\n“);
}
}
}
}
}
struct student *insert(struct student *p int A char *o)
{
struct student * sort(struct student *p int A char *o);
void ave_sum(struct student *p int A);
int scan(struct
评论
共有 条评论