| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 928 人关注过本帖
标题:自己第一次编写的程序!想编一个学生管理系统,有错,求助!
取消只看楼主 加入收藏
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:10 
自己第一次编写的程序!想编一个学生管理系统,有错,求助!
程序代码:
        #include <stdio.h>

        # define N  1000

        struct student

         {   long num;

             char name[20];

             char sex;

             float score[5];

          }stu[N];  /*定义一个结构体数组*/

        int main(void)

        {
           void  sum(struct student);  /*求学生总成绩的函数*/

           void  average(struct student);/*求各科平均分的函数*/

           void  search(struct student ); /*求出有不及格的学生成绩*/

           int i=0,j=0;

           printf("please input the data:\n");

           for(i=0;i<N;i++)

           {  printf("please input ----num----name----sex----score----\n");

              scanf("%ld,%c,%c",&stu[i].num,&stu[i].name,&stu[i].sex); /*输入学生数据*/

              for(j=0;j<5;j++)

              scanf("%3f%3f%3f%3f%3f",stu[i].score[j]);

              printf("\n");

            }

           for(i=0;i<N;i++)

            {  printf("please output----num----name----sex----score----\n");

               printf("%ld,%c,%c",stu[i].num,stu[i].name,stu[i].sex); /*输出学生数据*/

               for(j=0;j<5;j++)

               printf("%3f%3f%3f%3f%3f",stu[i].score[j]);

               printf("\n");

            }

           sum( stu );

           average( stu);  /*函数调用*/

           search(stu);

           getch();

          }

          void  sum(  stu[])  /*定义求总分的函数*/

          {  float sum=0.0,saverage=0.0; /*saverage为每个学生的平均分*/

             int i,j;

             for(i=0;i<N;i++)

                {  printf("No %d",stu[i].num);

                   for(j=0;j<5;j++)

                   sum+=stu[i].score[j];

                   saverage=sum/5;

                   printf("%5f,%5f\n",sum,saverage);

                   printf("\n");

                }

           }

           void  average( stu[] ) /*定义求各科成绩平均分的函数*/

           {  float sum=0.0,average=0.0;

              int i,j;

              for(j=0;j<5;j++)

              {  printf("the average of %d score:"j+1);

                 for(i=0;i<N;i++)

                 sum+=stu[i].score[j];

                 average=sum/N;

                 printf("%f\n",average);

              }

           }

            void search( stu[]) /*定义求出不及格学生的成绩的函数*/

           {   int m=0;

               int i,j;

               for(i=0;i<N;i++)

                {   for(j=0;j<5;j++)

                    if(stu[i].score[j]<60)

                    m++;

                    if(m)

                    printf("%ld,%c,%c",stu[i].num,stu[i].name,stu[i].sex);

                    printf("%3f%3f%3f%3f%3f\n",stu[i].score[j]);   /*输出不及格学生的成绩*/

                    printf("\n");

                }

             }
这是第一次独立编写程序,想实现学生管理系统的部分功能,其实我还不太会,可能这根本就不算是学生管理系统,但是还是希望各位高手帮忙解答!谢谢了,提些意见!
搜索更多相关主题的帖子: 系统 学生 编写 
2010-09-23 12:59
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 2楼 ppfly
谢谢你的帮忙,我试着改了一下代码,但是还是有错误,我把代码再贴出来。望大侠再帮忙看看。
程序代码:
        #include <stdio.h>

        # define N  10

        struct student

         {   long num;

             char name[20];

             char sex;

             float score[5];

          }stu[N];  /*定义一个结构体数组*/

        int main(void)

        {
           void  sum(struct student);  /*求学生总成绩的函数*/

           void  average(struct student);/*求各科平均分的函数*/

           void  search(struct student ); /*求出有不及格的学生成绩*/

           int i=0,j=0;

           printf("please input the data:\n");

           for(i=0;i<N;i++)

           {  printf("please input ----num----name----sex----score----\n");

              scanf("%ld,%s,%c",&stu[i].num,&stu[i].name,&stu[i].sex); /*输入学生数据*/

              for(j=0;j<5;j++)

              scanf("%3f%3f%3f%3f%3f",stu[i].score[j]);

              printf("\n");

            }

           for(i=0;i<N;i++)

            {  printf("please output----num----name----sex----score----\n");

               printf("%ld,%c,%c",stu[i].num,stu[i].name,stu[i].sex); /*输出学生数据*/

               for(j=0;j<5;j++)

               printf("%3f%3f%3f%3f%3f",stu[i].score[j]);

               printf("\n");

            }

           sum( struct student stu[] );

           average(struct student stu[]);  /*函数调用*/

           search(struct student stu[]);

           return 0;

           getch();

          }

          void  sum( struct student  stu[])  /*定义求总分的函数*/

          {  float sum=0.0,saverage=0.0; /*saverage为每个学生的平均分*/

             int i,j;

             for(i=0;i<N;i++)

                {  printf("No %d",stu[i].num);

                   for(j=0;j<5;j++)

                   sum+=stu[i].score[j];

                   saverage=sum/5;

                   printf("%5f,%5f\n",sum,saverage);

                   printf("\n");

                }

           }

           void  average(struct student  stu[ ]) /*定义求各科成绩平均分的函数*/

           {  float sum=0.0,average=0.0;

              int i,j;

              for(j=0;j<5;j++)

              {  printf("the average of %d score:"j+1);

                 for(i=0;i<N;i++)

                 sum+=stu[i].score[j];

                 average=sum/N;

                 printf("%f\n",average);

              }

           }

            void search(struct student  stu[]) /*定义求出不及格学生的成绩的函数*/

           {   int m=0;

               int i,j;

               for(i=0;i<N;i++)

               {       m=0;

                      for(j=0;j<5;j++)

                   {  if(stu[i].score[j]<60)

                     m++;

                   }

                    if(m)

                   {   printf("%ld,%c,%c",stu[i].num,stu[i].name,stu[i].sex);

                       printf("%3f%3f%3f%3f%3f\n",stu[i].score[j]);   /*输出不及格学生的成绩*/

                    }

                    printf("\n");

                }

             }
主要错误:错误 xueshe~1.c 58: 表达式语法错在 main 函数中
错误 xueshe~1.c 60: 表达式语法错在 main 函数中
错误 xueshe~1.c 62: 表达式语法错在 main 函数中
警告 xueshe~1.c 66: 不能到达的代码在 main 函数中
错误 xueshe~1.c 72: 与'sum'声明中的类型不匹配
错误 xueshe~1.c 96: 与'average'声明中的类型不匹配
错误 xueshe~1.c 102: 函数调用缺少 ')'在 average 函数中
错误 xueshe~1.c 118: 与'search'声明中的类型不匹配
我也不会改了。希望大家帮帮忙!

付出终将有回报!Ibelieve!
2010-09-23 18:50
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 3楼 gongyaping
谢谢你的夸奖,这还是我学习C语言来第一次受到别人的夸奖!!呵呵,大哥帮帮忙行吗?呵呵。我实在没找出来错误了!

付出终将有回报!Ibelieve!
2010-09-23 18:53
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 6楼 sunyh1999
谢谢版主的帮忙了!!

付出终将有回报!Ibelieve!
2010-09-23 22:29
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
      
程序代码:
            #include <stdio.h>

            #define N  4

            struct student

             {   long num;

                 char name[20];

                 char sex;

                 float score[5];

             }stu[N];  /*定义一个结构体数组*/

           void  sum(struct student []);  /*求学生总成绩的函数*/

           void  average(struct student []);/*求各科平均分的函数*/

           void  search(struct student [] ); /*求出有不及格的学生成绩*/

           int main(void)
          {
                 int i=0,j=0;

                 float f;

                 f = 0.0;

                 printf("input ----num----name----sex");

                 for(i=0;i<N;i++)

               {
                    scanf("%ld,%s,%c",&stu[i].num,stu[i].name,&stu[i].sex); /*输入学生数据*/

                    printf("\ninput score1----score2----score3----score4----score5\n");

                    for(j=0;j<5;j++)

                       {    scanf("%3f", &f);

                            stu[i].score[j] = f;

                        }

                }

                  printf("output----num----name----sex");

                 for(i=0;i<N;i++)

              {
                     printf("%ld,%s,%c",stu[i].num,stu[i].name,stu[i].sex); /*输出学生数据*/

                     printf("output score1----score2----score3----score4----score5\n");

                     for(j=0;j<5;j++)

                     printf("%10f ",stu[i].score[j]);

                     printf("\n");
              }

                 sum( stu );

                 average( stu );  /*函数调用*/

                 search( stu );

                 getch();

                 return 0;

            }

             void  sum( struct student  stu[])  /*定义求总分的函数*/
       {
             float sum=0.0,saverage=0.0; /*saverage为每个学生的平均分*/

             int i,j;

             for(i=0;i<N;i++)
            {
                  printf("No %d ",stu[i].num);

                  sum = 0.0;

                  for(j=0;j<5;j++)

                  sum+=stu[i].score[j];

                  saverage=sum/5;

                  printf("%5f,%5f\n",sum,saverage);

                  printf("\n");
            }

       }

            void  average(struct student  stu[ ]) /*定义求各科成绩平均分的函数*/

       {
               float sum=0.0,average=0.0;

               int i,j;

               for(j=0;j<5;j++)
            {
                  printf("the average of %d score:", j+1);

                  sum = 0.0;

                  for(i=0;i<N;i++)

                  sum+=stu[i].score[j];

                  average=sum/N;

                  printf("%f\n",average);
             }

       }

           void search(struct student  stu[]) /*定义求出不及格学生的成绩的函数*/

      {
              int m=0;

              int i,j;

              for(i=0;i<N;i++)
           {
                m=0;

                for(j=0;j<5;j++)

                   {  if(stu[i].score[j]<60)

                          m++;

                   }

              if(m)
                   {
                      printf("%ld,%s,%c",stu[i].num,stu[i].name,stu[i].sex);

                      for(j=0;j<5;j++)

                      printf("%3f ",stu[i].score[j]);   /*输出不及格学生的成绩*/
                   }

               printf("\n");

          }

       }
经过大量朋友的帮助,这个程序现在可以运行,但是还是有点小错误,不能输入成绩,还请各位大侠帮忙看看!!

付出终将有回报!Ibelieve!
2010-09-24 09:26
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 


付出终将有回报!Ibelieve!
2010-09-24 13:09
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 10楼 ppfly
还是不行啊,只能输入一行,剩下的就不行了。回车后就这样了!
图片附件: 游客没有浏览图片的权限,请 登录注册

付出终将有回报!Ibelieve!
2010-09-24 13:27
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 13楼 ppfly
大侠用的是什么编译器啊?

付出终将有回报!Ibelieve!
2010-09-24 13:55
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 15楼 ppfly
谢谢大侠的帮助,我弄好了!

付出终将有回报!Ibelieve!
2010-09-24 14:34
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
最后在贴出代码来吧,不是好代码!!欢迎大家指点!
程序代码:
            #include <stdio.h>

            #define N  4

            #include <conio.h>

            struct student

             {   long num;

                 char name[20];

                 char sex;

                 float score[5];

             }stu[N];  /*定义一个结构体数组*/

           void  sum(struct student []);  /*求学生总成绩的函数*/

           void  average(struct student []);/*求各科平均分的函数*/

           void  search(struct student [] ); /*求出有不及格的学生成绩*/

           int main(void)
          {
                 int i=0,j=0;

                 float f;

                 f = 0.0;



                 for(i=0;i<N;i++)

                {
                       printf("input ----num----name----sex\n");

                    scanf("%ld,%s,%c",&stu[i].num,stu[i].name,&stu[i].sex); /*输入学生数据*/

                    printf("input score1----score2----score3----score4----score5\n");

                    for(j=0;j<5;j++)

                       {    scanf("%3f", &f);

                            stu[i].score[j] = f;

                        }

                }

                  printf("output----num----name----sex");

                 for(i=0;i<N;i++)

              {
                     printf("%ld,%s,%c",stu[i].num,stu[i].name,stu[i].sex); /*输出学生数据*/

                     printf("output score1----score2----score3----score4----score5\n");

                     for(j=0;j<5;j++)

                     printf("%10f ",stu[i].score[j]);

                     printf("\n");
              }

                 sum( stu );

                 average( stu );  /*函数调用*/

                 search( stu );

                 getch();

                 return 0;

            }

             void  sum( struct student  stu[])  /*定义求总分的函数*/
       {
             float sum=0.0,saverage=0.0; /*saverage为每个学生的平均分*/

             int i,j;

             for(i=0;i<N;i++)
            {
                  printf("No %d ",stu[i].num);

                  sum = 0.0;

                  for(j=0;j<5;j++)

                  sum+=stu[i].score[j];

                  saverage=sum/5;

                  printf("%5f,%5f\n",sum,saverage);

                  printf("\n");
            }

       }

            void  average(struct student  stu[ ]) /*定义求各科成绩平均分的函数*/

       {
               float sum=0.0,average=0.0;

               int i,j;

               for(j=0;j<5;j++)
            {
                  printf("the average of %d score:", j+1);

                  sum = 0.0;

                  for(i=0;i<N;i++)

                  sum+=stu[i].score[j];

                  average=sum/N;

                  printf("%f\n",average);
             }

       }

           void search(struct student  stu[]) /*定义求出不及格学生的成绩的函数*/

      {
              int m=0;

              int i,j;

              for(i=0;i<N;i++)
           {
                m=0;

                for(j=0;j<5;j++)

                   {  if(stu[i].score[j]<60)

                          m++;

                   }

              if(m)
                   {
                      printf("%ld,%s,%c",stu[i].num,stu[i].name,stu[i].sex);

                      for(j=0;j<5;j++)

                      printf("%3f ",stu[i].score[j]);   /*输出不及格学生的成绩*/
                   }

               printf("\n");

          }

       }
图片附件: 游客没有浏览图片的权限,请 登录注册

付出终将有回报!Ibelieve!
2010-09-24 14:37
快速回复:自己第一次编写的程序!想编一个学生管理系统,有错,求助!
数据加载中...
 
   



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

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