| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:成绩处理程序,求高手指点!
只看楼主 加入收藏
胡萝卜
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-5-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
成绩处理程序,求高手指点!
/*
程序功能:编写程序,首先提示用户输入法10个学生的成绩信息(包括每个学生的姓名、学号、数学成绩、计算机成绩)
               根据用户输入的10个学生成绩,实现输出学生信息、查找学生信息(按姓名查找)、对学生按总成绩排序输出显示等。
作者:
日期:
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 10
int input ();
int output();
int findValue ();
int sortValue ();


int main(void)
{
    int  grade[SIZE][4] = {0};
    char name[SIZE][20];
    int choice;
    char str[20];
    int no;

    do
    {
        printf("[1] 信息输入\n");
        printf("[2] 信息输出\n");
        printf("[3] 信息查找\n");
        printf("[4] 信息排序\n");
        printf("[0] 退出\n");
        printf("请键入你的选择:");
        scanf("%d",&choice);
        switch (choice)
        {
            case 1:
                input(&name[0][0],&grade[0][0],10);
                break;
            case 2:
                output(&name[0][0],&grade[0][0],10);
                break;
            case 3:
                printf("请输入学生学号:");
                scanf("%d",&no);
                findValue(&no,&name[0][0],&grade[0][0],10);
                break;        
            case 4:
                findValue(&name[0][0],&grade[0][0],10);
                break;
            case 0:
                break;
            default:
                break;   
        }
        if (choice==0)
        {
            break;
        }        
        system("pause");
        system("cls");
        fflush(stdin);
    } while (1);
  
    system("pause");
    return 0;
}
int input (char name[][20],int grade[][4],10)
{
    int i;
    printf("请输入学生的信息:\n");
    for (i = 0; i<SIZE;i++)
    {
        printf("请输入第%d个学生信息:\n",i+1);
        scanf("%s%d%d%d",name[i],&grade[i][0],&grade[i][1],&grade[i][2]);
        grade[i][3] = grade[i][1]+grade[i][2];
    }
    return -1;
}
int output (char name[][20],int grade[][4],10)
{
    int i;
    printf("\n姓名\t学号\t\t数学成绩\t计算机成绩\t总成绩\t平均成绩\n");
    for (i = 0; i<SIZE;i++)
    {
        printf("%-8s%12d%12d %14d%10d %8.2g\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3],grade[i][3]/2.0);
    }
    return -1;
}
int findValue (int no,char name[][20],int grade[][4],SIZE)
{
    int i;
    for (i = 0;i<SIZE;i++)
    {
        if (grade[i][0]==no)
        {
            printf("\n姓名\t学号\t\t数学成绩\t计算机成绩\t总成绩\t平均成绩\n");
            printf("%-8s%12d%12d %14d%10d %8.2g\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3],grade[i][3]/2.0);
        }
    }
    return -1;
}
int sortValue (char name[][20],int grade[][4],10)
{
    int i,j,k,tmp;
    char str[20];
    for (j = 0;j<SIZE-1;j++)
    {
        for (i = 0;i<SIZE-1-i;i++)
        {
            if (grade[i][3]>grade[i+1][3])
            {
                for (k = 0;k<4;k++)
                {
                    tmp = grade[i][k];
                    grade[i][k] = grade[i+1][k];
                    grade[i+1][k] = tmp;
                }
                strcpy(str,name[i]);
                strcpy(name[i],name[i+1]);
                strcpy(name[i+1],str);
            }
        }
    }
    return -1;
}
搜索更多相关主题的帖子: 输入法 计算机 总成绩 作者 姓名 
2011-05-31 22:32
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:20 
自己慢慢输入吧

                                         
===========深入<----------------->浅出============
2011-05-31 22:50
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:0 
这是干什么?

。。。!!!)))000
2011-06-01 01:34
胡萝卜
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-5-31
收藏
得分:0 
回复 2楼 laoyang103
编写程序,首先提示用户输入法10个学生的成绩信息(包括每个学生的姓名、学号、数学成绩、计算机成绩)
根据用户输入的10个学生成绩,实现输出学生信息、查找学生信息(按姓名查找)、对学生按总成绩排序输出显示等。
------------------------------------------分割线----------------------------------------
我用了2维数组 grade[SIZE][4],表示一个学生的的 学号 数学成绩 计算机成绩 总成绩,
然后主函数里的4个功能分别封装成4个函数了,但是运行不出来,错误很多:
1>f:\c语言代码\visual studio 2005\第13次作业\成绩处理\成绩处理\成绩处理.c(103) : error C2059: 语法错误 : “,”
1>f:\c语言代码\visual studio 2005\第13次作业\成绩处理\成绩处理\成绩处理.c(103) : error C2143: 语法错误 : 缺少“)”(在“常量”的前面)
1>f:\c语言代码\visual studio 2005\第13次作业\成绩处理\成绩处理\成绩处理.c(103) : error C2143: 语法错误 : 缺少“{”(在“常量”的前面)
1>f:\c语言代码\visual studio 2005\第13次作业\成绩处理\成绩处理\成绩处理.c(103) : error C2059: 语法错误 : “<未知>”
1>f:\c语言代码\visual studio 2005\第13次作业\成绩处理\成绩处理\成绩处理.c(103) : error C2059: 语法错误 : “)”
2011-06-01 06:01
快速回复:成绩处理程序,求高手指点!
数据加载中...
 
   



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

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