今做一个简单的学生成绩管理系统,需要输入姓名,学号,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]); //这里实在是不知道如何改了,我觉得这么做好象不对,但又不知道错哪里
}
}