| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 458 人关注过本帖
标题:[求助]数组的问题,不知怎么处理了?
只看楼主 加入收藏
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
 问题点数:0 回复次数:5 
[求助]数组的问题,不知怎么处理了?

今做一个简单的学生成绩管理系统,需要输入姓名,学号,3门功课的成绩。然后显示出来,然后排序。。。。

我简单的做了个开头,就遇见问题了,是一个数组调用的问题。谁帮我看下,问题出在哪里啊?
代码如下:(比较乱,不好意思)

//###########################
#include<stdio.h>
#define S 50 //这里是定义统计学生的个数;
#define C 3 //这里是统计三门功课的成绩

char input();
void dis_info(int *,char *,char *,float *);

//####定义学生信息结构体####//
struct student
{
int id;
char name[15];
char sex[4];
float achieve[C]; //不知道这么表示3门功课的结构体能行吗?(还是结构体套结构体呢?)
}stus[S];

//######主函数体开始#######//

main()
{
printf("\n┠─────学生成绩系统─────┨\n");
input();

}

//######学生成绩录入函数######//

char input ()
{
int s_id,i;
char s_name, s_sex;
float s_score;
struct student stus;
printf("\n\t请输入学员的详细信息");
printf("\n\n请输入学号:");
scanf("%d",&stus.id);
printf("\n请输入学生姓名:");
fflush(stdin);
gets(stus.name);
printf("\n请输入学生性别:");
fflush(stdin);
scanf("%c",&stus.sex);
printf("\n请输入学生的 %d 门课的成绩:",C); //输入三门功课的成绩,但不知道对不对??
for(i=0;i<C;i++)
{
scanf("%f",&stus.achieve[i]);
}


dis_info(stus.id,stus.name,stus.sex,stus.achieve[i]); //调试一直显示这里错误error C2115: 'function' : incompatible types
}

//####学生信息显示函数####//

void dis_info(int id,char name,char sex,float score[C])
{
int i;
printf("\n\t\t学生的成绩为\n");
printf("\n 学号: %d",id);
printf("\n 姓名: %s",name);
printf("\n 性别: %c",sex);
for(i=0;i<C;i++)
{
printf("\n 成绩: %f",score[i]); //这里实在是不知道如何改了,我觉得这么做好象不对,但又不知道错哪里
}
}

搜索更多相关主题的帖子: 统计 管理系统 include 结构体 三门 
2006-09-16 20:15
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

//###########################
#include<stdio.h>
#define S 50 //这里是定义统计学生的个数;
#define C 3 //这里是统计三门功课的成绩

char input();
void dis_info(int ,char *,char ,float *);

//####定义学生信息结构体####//
struct student
{
int id;
char name[15];
char sex;
float achieve[C]; //不知道这么表示3门功课的结构体能行吗?(还是结构体套结构体呢?)
}stus[S];

//######主函数体开始#######//

main()
{
printf("\n┠─────学生成绩系统─────┨\n");
input();

}

//######学生成绩录入函数######//

char input ()
{
int s_id,i;
char s_name, s_sex;
float s_score;
struct student stus;
printf("\n\t请输入学员的详细信息");
printf("\n\n请输入学号:");
scanf("%d",&stus.id);
printf("\n请输入学生姓名:");
fflush(stdin);
gets(stus.name);
printf("\n请输入学生性别:");
fflush(stdin);
scanf("%c",&stus.sex);
printf("\n请输入学生的 %d 门课的成绩:",C); //输入三门功课的成绩,但不知道对不对??
for(i=0;i<C;i++)
{
scanf("%f",&stus.achieve[i]);
}


dis_info(stus.id,stus.name,stus.sex,stus.achieve); //调试一直显示这里错误error C2115: 'function' : incompatible types
}

//####学生信息显示函数####//

void dis_info(int id,char *name,char sex,float score[])
{
int i;
printf("\n\t\t学生的成绩为\n");
printf("\n 学号: %d",id);
printf("\n 姓名: %s",name);
printf("\n 性别: %c",sex);
for(i=0;i<C;i++)
{
printf("\n 成绩: %f",score[i]); //这里实在是不知道如何改了,我觉得这么做好象不对,但又不知道错哪里
}
printf("\n");
}


倚天照海花无数,流水高山心自知。
2006-09-16 20:46
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
主要是声明,定义,调用时的参数不匹配.
还有一个就是定义性别时也要一个字符就可以了.
你上面并没有出现结构体嵌套.
结构体嵌套是合理的.
比如:
struct list{
int info;
int flag;
};

struct node{
list data[50]; //嵌套
int len;
}

倚天照海花无数,流水高山心自知。
2006-09-16 20:51
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
得分:0 
以下是引用nuciewth在2006-9-16 20:51:21的发言:
主要是声明,定义,调用时的参数不匹配.
还有一个就是定义性别时也要一个字符就可以了.
你上面并没有出现结构体嵌套.
结构体嵌套是合理的.
比如:
struct list{
int info;
int flag;
};

struct node{
list data[50]; //嵌套
int len;
}

你意思是说,用结构体嵌套更好些,嵌套我没使用过,我试试看的。谢谢啦!!

2006-09-16 20:59
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

这里根本用不着.
不是叫你去用那个,只是告诉你可以嵌套.


倚天照海花无数,流水高山心自知。
2006-09-16 21:13
cnrainboy
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-8-27
收藏
得分:0 
明白了啊,谢谢你了啊!!!
2006-09-16 22:34
快速回复:[求助]数组的问题,不知怎么处理了?
数据加载中...
 
   



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

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