- 主题
- 1
- 帖子
- 1
- 精华
- 0
- 积分
- 7
- C币
- 7 枚
- 在线时间
- 0 小时
- 注册时间
- 2011-11-9
- 最后登录
- 2011-11-10
- 性别
- 男
- 居住地
- 上海市 浦东新区

- 主题
- 1
- 帖子
- 1
- C币
- 7 枚
- 在线时间
- 0 小时
|
发表于 2011-11-9 14:33:39
|显示全部楼层
/*
1.输入:函数input把20学生的学号,姓名,性别,年龄,四科成绩以及平均成绩和总成绩
放在一个结构体数组中,学生的学号,姓名,四科成绩由键盘输入,然后计算出平均成绩
和总成绩放在结构体对应的域中;
2.插入:insert函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容;
3.排序:sort函数对所有 学生按平均分排序,并输出;
4.查找:find函数输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要
求能查询多次;
5;删除;delete函数输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容;
6:输出:函数output输出全部学生的记录
7:mian调用所有函数, 实现全部函数功能(注:除了定义结构外,不允许使用全局变量,
函数之间的数据全部使用参数传递)
略...是需要填写代码
*/
#include "stdio.h"
void main()
{
struct node
{
int code; //学号
char name[20]; //姓名
char type; //性别
int age; //年龄
int chinese; //语文成绩
int english; //英语成绩
int computre; //数学成绩
int total; //总成绩
int average //平均成绩
}stud[10];
struct node temp;
void menu()
{
system("cls"); //清屏
//.........略 编写menu函数,显示菜单,略表示要编写
scanf("%d",&n);
switch(n)
{
case 1;input();break; //调用input函数
case 2;input();break; //调用find函数
case 3;input();break; //调用insert函数
case 4;input();break; //调用del函数
case 5;input();break; //调用output函数
case 6;input();break; //调用sort函数
case 7;input(0);break; //程序退出
default:error(); //调用error函数
}
}
void error()
{
printf("输入错误,请输入(1-7):\n");
printf("按任意键结束....\n");
fflush(stdin);
getchar();
system("cls");
menu();
}
void main()
{
/*编写main函数,调用menu函数显示菜单,根据输入的数字,分别进入各个功能之菜单*/
//........略 //调用menu函数,显示菜单
}
void input()
{
/*
编写input函数,利用for循环,录入学院数据,
并使计算总成绩以平均成绩,输入完成,提示返回主菜单;
*/
//略.....x
}
void find()
{
/*
编写find函数,实现按姓名和按学号查找,找到后,
输出该学员的信息。显示完后,按任意键返回主菜单
*/
int n,m,j;
char k[20];
system("cls");
printf("按学员查找(按1):\n");
printf("按姓名查找(按2):\n");
printf("请选择:");
scanf("%d",&n);
if(n==1)
{
//略...; //按学员查找
}
else if(n==2)
{
//略...; //按姓名查找
}
//略.....
syetem("cls"); //清屏
menu(); //调用menu函数名显示主界面
}
void output()
{
/*
编写output函数,显示所有学员的数据。显示完后,按任意键返回主菜单
*/
//略......;
}
viod sort()
{
/*
编写sort函数,按平均分有高低排序,(提示,利用冒泡算法)。排序后
返回主菜单利用output函数,查看结果。利用一个临时变量来交换数据
*/
//略...;
for(i0;i<20;i++)
{
for(j=0;j<i;j++)
{
if(stud[j].average>stud[j+1].average)
{
交换数据;
}
}
}
//略...; //排序完后,返回主菜单
}
void insert()
{
/*
编写insert函数,利用一个临时变量存储插入的学员资料,
比较学号,找到插入的位置
*/
int i,j;
system("cls");
//录入插入数据
printf("请输入要插入学生的信息:\n");
printf("请输入学生学好:");
scanf("%d",&temp.name);
getchar();
printf("请输入学生性别:");
scanf("%c",&temp.type);
printf("请输入学生年龄:");
scanf("%d",&temp.age);
printf("请输入学生英文成绩:");
scanf("%d"&temp.english);
printf("请输入学生国文成绩:");
scanf("%d"&temp.chinese);
printf("请输入学计算机成绩:");
scanf("%d"&temp.computer);
printf("请输入学生数学成绩:");
temp.total=temp.english+temp.chinese+temp.computer+temp.math;
temp.average=temp.total/4;
for(i=0;i<20;i++)
{
if(temp,code<stud[i].code)
{
for(j=20;j>i;j++)
{
stud[j].code=stud[j-1].code;
strcpy(stud[j];name,stud[j-1].name);
stud[j].type=stud[j-1].type;
stud[j].age=stud[j-1].age;
stud[j].english=stud[j-1]english;
stud[j].chinese=stud[j-1].chinese
stud[j].computer=stud[j-1].computer;
stud[j].math=stud[j-1].math;
stud[j].total=stud[j-1].total;
stud[j].average=stud[j-1].average;
}
}
stud[i].code=temp.code; //插入到数组中
strcpy(stud[j].name,temp,name);
stud[j].type=temp.type;
stud[j].age=temp.age;
stud[j].english=temp.english;
stud[j].chinese=temp.chinese;
stud[j].computer=temp.computer;
stud[j].math=temp.math;
stud[j].total=temp.total;
stud[j].average=temp.average;
break;
}
//略....... 返回主菜单
}
void delete()
{
int i,j,l,n;
printf("请输入学号:\n");
scanf("%d",&n);
for(i=0i<20;i++)
{
if(stud[i].code==n) //找到删除的位置
{
for(j=i;j<19;j++) // 数组后面元素前移
stud[j].code=stud[j+1].code;
strcpy(stud[i].name,stud[j+1].name);
stud[j].type=stud[j+1]type;
stud[j].age=stud[j+1].age;
stud[j].english=stud[j+1].english;
stud[j].chinese=stud[j+1].chinese;
stud[j].computer=stud[j+1].computer;
stud[j].math=stud[j+1].math;
stud[j].total=stud[j+1].total;
stud[j].average=stud[j+1].average;
}
}
}
//略.....返回主菜单 |
|