| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2002 人关注过本帖
标题:刚做完的课程设计(用C编译的学生成绩管理系统)
只看楼主 加入收藏
wsgaopan
Rank: 1
来 自:湖北 武汉
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-2-29
收藏
 问题点数:0 回复次数:4 
刚做完的课程设计(用C编译的学生成绩管理系统)
#include <stdio.h>//实现库函数的调用
#include <stdlib.h>
#include <string.h>//调用STRCPY函数的字符串连接功能
#define N  8
typedef struct //对结构体进行声明,声明类型名为DATATYPE,它代表int,char,float等指定变量
  {            //在下面的程序中就可以用DATATYPE定义变量了
    int number;
    char name[10];
    float score[5];
}
DATATYPE;
    void input_stu(DATATYPE s1[]);
    void output_stu(DATATYPE s1[]);
    void stu_avg(DATATYPE s1[]);
    void score_avg(DATATYPE s1[]);
    void main()//主函数实现对各个子函数的调用

{
      DATATYPE s[N];
      input_stu(s);
      stu_avg(s);
      score_avg(s);
      output_stu(s);
}

void input_stu(DATATYPE s1[])//实现学生信息的输入
{
      int i,j;//变量声明i表示学生人数 j表示学生科目数
      char t[8];//t表示输入的字符串数
      float x;//x表示输入的分数
      for(i=0;i<N;i++)//for循环语句实现N个学生成绩的录入
      {
         printf("\输入学生的学号:");
         gets(t);//此函数接收有键盘输入的字符串
         s1[i].number=atoi(t);
         if(s1[i].number<=0) break;//学生数目是大于等于0的数
         printf("输入学生的姓名:");
         gets(t);
         strcpy(s1[i].name,t);//此函数实现字符串的复制
         for(j=1;j<5;j++)//for循环语句实现对每个学生5门课的连续输入
           {
             printf("\nscore of %d:",j);
             scanf("%f",&x);//scanf函数
             s1[i].score[j] =x;
           }
         j=getchar();//定义j为getchar函数实现对5门课的同时接收
      }
        printf("\ninput students data end!!!");
}
void output_stu(DATATYPE s1[])//实现学生信息的输出
{
    int i,j;
    printf("\nThe students score list");
    printf("\number\tname\t\ts1\ts2\ts3\ts4\tavg");
    for(i=0;i<N;i++)

    {
        if(s1[i].number<=0) break;
        printf("\n%d\t",s1[i].number);
        printf("%s\t\t",s1[i].name);
        for(j=1;j<5;j++)
        {
           printf("\t%3.1f",s1[i].score[j]);
        }
        printf("\t%3.1f",s1[i].score[0]);
}
 printf("\noutput students data end!!!");
}
void stu_avg(DATATYPE s1[])//实现全部学生一门课成绩的平均
{
    int i,j;
    float x;
    for(i=0;i<N;i++)
    {
        if(s1[i].number<=0) break;
        x=0;
        for(j=1;j<5;j++)
        {
            x+=s1[i].score[j];//实现对学生各门课的成绩的求和
        }
        x=x/4;//实现对每个学生成绩的求平均    
        s1[i].score[0]=x;
    }
    printf("\ncalulate students averge score end!!!");
}
void score_avg(DATATYPE s1[])//此函数实现每个学生各门课的求平均
{
    float savg[5]={0};
    int i,j;
    for(i=0;i<N;i++)
    {
        if(s1[i].number<=0) break;
        for(j=0;j<5;j++)
        {
         savg[j]+=s1[i].score[j];//实现对全部学生各门课成绩的求和
        }
    }
   for(j=0;j<5;j++)
   {
       savg[j]/=i;
   }
   printf("\ncalculate averge of score list\n");
   for(j=0;j<5;j++)
   {
       printf("%3.1f\t",savg[j]);
   }
   printf("\此程序运行结束");
   
}
搜索更多相关主题的帖子: 编译 课程 系统 学生 管理 
2008-02-29 17:09
shyangjie
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-7-7
收藏
得分:0 
有报告么?发我一份好么?急需!sh_yangjie@
2008-07-07 17:47
nj052fgq
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-7-6
收藏
得分:0 
你的程序有问题 放上来干什么呀
2008-07-07 18:27
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
这个程序不错
比较适合初学者

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2008-07-07 19:55
buaa_wangm
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-11-14
收藏
得分:0 
楼主很强~~~~~~~~~~~~~
2008-11-15 11:43
快速回复:刚做完的课程设计(用C编译的学生成绩管理系统)
数据加载中...
 
   



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

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