| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 253 人关注过本帖
标题:哪里有错误啊??求解!!
只看楼主 加入收藏
陈磊0315
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-9-15
收藏
 问题点数:0 回复次数:0 
哪里有错误啊??求解!!
一个班有4个学生,共学习3门课,编写程序,通过菜单选项,分别实现下面的功能:

录入学生的信息如下:
学号    姓名    语文    数学    体育    总成绩
101    张三    91    88    98   
102    李四    50    90    82
103    王五    87    95    46
104    赵六    91    98    99

程序首先根据用户提示,依次输入4个学生的信息,然后进入菜单界面,菜单如下:

一级菜单
1 修改学生成绩
2 总成绩排序
3 显示成绩不及格学生
4 退出
#include<stdio.h>
#include<string.h>
struct mey
{
    int id;
    char name[10];
    int ch;
    int ma;
    int ex;
    int he;
};
int main()
{
    int i,j,k,b,c,t;
    char *min[4];
    char he[10];
    int num[4];
    struct mey xin[4];
    printf("请输入信息:id name ch ma ex\n");
    for(i=0;i<=3;i++)
    {
        scanf("%d%s%d%d%d",&xin[i].id,xin[i].name,&xin[i].ch,&xin[i].ma,&xin[i]. ex);
    }
    printf("请选择\n");
    printf("1 修改学生成绩\n");
    printf("2 总成绩排序\n");
    printf("3 显示成绩不及格学生\n");
    printf("4 退出\n");
    printf("请输入数字:\n");
    scanf("%d",&c);
//    do
//    {
        switch(c)
        {
            case 1:
                for(j=0;j<=3;j++)
                {
                    getchar();
                    printf("是否修改%s的成绩;y/n",xin[j].name);
                    b=getchar();
                    
                    switch(b)
                    {
                        case 'y':
                            getchar();
                            scanf("%d%d%d",&xin[j].ch,&xin[j].ma,&xin[j].ex);
                            break;
                        case'n':
                            break;
                    }
                }
                break;
            case 2:
                for(j=0;j<=3;j++)
                {
                    strcpy(min[j],xin[j].name );
                    num[j]=xin[j].ch+xin[j].ma+xin[j].ex;
                }
                for(i=0;i<=3;i++)
                {
                    for(j=0;j<3-i;j++)
                    {
                        if(num[j]>num[j+1])
                        {
                            t=num[j];
                            num[j]=num[j+1];
                            num[j+1]=t;
                            strcpy(he,min[j]);
                            strcpy(min[j],min[j+1]);
                            strcpy(min[j+1],he);
                        }
                    }
                }
                for(k=0;k<=3;k++)
                {
                    printf("%s:%d\n",min[k],num[k]);
                }
                break;
            case 3:
                for(k=0;k<=3;k++)
                {
                    if(xin[k].ch<60&&xin[k].ma<60&&xin[k].ex<60)
                        printf("%s\n",xin[k].name);
                }
                break;
            case 4:
                break;
        }
    //}while(a!=4);

    printf("\n");
    return 0;
}
搜索更多相关主题的帖子: 菜单 信息 include 总成绩 用户 
2011-09-15 16:19
快速回复:哪里有错误啊??求解!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011705 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved