C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

查看: 109|回复: 0

[求助] c语言高手求助啊 [复制链接]

回帖奖励 1 枚C币 回复本帖可获得 1 枚C币奖励! 每人限 1 次

Rank: 1

主题
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;
                    }
            }
    }
    //略.....返回主菜单
您需要登录后才可以回帖 登录 | 加入社区!

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-5-20 18:15

©2009-2011 cyuyan.com.cn

回顶部