• 计算机讨论版
  • 电脑诊所
  • 菜鸟学院
  • 软件世界
  • 安全专区
  • 硬件世界
  • 网络世界
  • 网页设计
  • 图像设计
  • 程序设计
  • 操作系统
  • 计算机考试
  • 电脑故障
  • 电脑学习
  • 电脑技术
  • 电脑入门
  • 计算机知识
  • 电脑之家
  • 故障诊断
  • 电脑医院
  • 电脑学校
  • 电脑维护
  • 电脑医生
  • 电脑问答
  • 计算机问题
  • 电脑小知识
  • 电脑软件
  • 电脑diy
  • 你问我答
  • 网友俱乐部
  • 实用技巧
  • 初级应用
  • 心得分享
  • 软硬兼施
  • 电脑之家
  • 维护资料
  • 软件应用
  • 软件交流
  • 电脑硬件
  • 硬件知识
  • 电脑网络
  • windows
  • 程序设计

    程序设计
    ·关于c++
    ·请教一个数据结构问题谢谢!
    ·VB高手请进来,有个很幽默的问题想问[求助]
    ·[求助]
    ·紧急求助!  一道非常有挑战性的c  c++问题!
    ·如何把文本文件的内容读入到数据库中?[求助]
    ·[求助]怎么样深入学习SQL?
    ·[讨论]这里有学习编译程序吗?
    ·请教:VC++与C++Builder能否在同一个系统...
    ·[推荐]网络编程
    ·关于Delphi
    ·[求助]求c和pascal的编译程序,拜谢!!!
    ·请教MS-SQL与MY-SQL的区别?
    ·如何编写图书信息管理系统
    ·电脑课件下载!有CCNA的全教程是视频的
    ·求助:关于计算机操作系统的课程设计
    ·sql 问题[求助]
    ·想用c++和java买什么书好?
    ·请教一个编程问题,谢谢
    ·我菜鸟的问题?
    ·0x00000041是什么意思
    ·求助
    ·Delphi 的封装问题  求助!
    ·谁能帮做一个JAVA2小程序
    ·VB程序安装后运行结果不对?
    ·新手请教
    ·[原创]介绍 ORBacus
    ·一个小问题
    ·请问哪有foxpro6.0下载啊?
    ·跪求清华版IBM-PC习题答案

    c++高手来帮帮忙!谢谢了

    类别: 程序设计  时间: 2007.03.15

    害羞的处男
    c++高手来帮帮忙!谢谢了
    《题目三:成绩管理系统》(难度系数1.0)   
    一:需求分析:
    1、基本信息:学号、姓名、班级、课程、成绩;
    2、实现成绩录入、成绩查询功能
    3、提供班成绩排序功能 、显示课程中成绩的分布情况。
    二、概要设计:
      1、选择合适的存储结构,有数据类型定义,并标明每项含义;
      2、定义各功能模块,并标明模块的功能及参数含义;
      3、主程序框架。
    三、详细设计:
        源代码及必要的说明。
    四、调试分析:(碰到的问题及解决方法)
    五、测试数据及结果:

    夜妖精

    我以前编过的一个作业和你的差不多,给你参考一下。我是按成绩的升序显示并保存于一个结构数组中的学生记录,但不得改变结构数组中学生记录的原有的排列顺序。
    学生记录的结构如下:
    struct Student{           //学生结构记录
       char  num[8];          //学号
       char  name[10];      //姓名
          short grade;        //成绩
    };
    程序如下:
    #include <string.h>
    #include<iomanip.h>

    struct Student{           //学生结构记录
       char  num[8];          //学号
       char  name[10];      //姓名
          short grade;        //成绩
    };

    Student a[5]={{"ch231","小敏",69},{"ec115"," 小文",82},{"dt327","小明",72},{"cs102","小平",78},{"bx214","小远",65}};

    //显示Student型的全局结构数组a中的n个记录
    void output(int n)     {
       cout<<"显示具有Student结构的"<<n<<"个记录:"<<endl;
       cout.setf(ios::left);              //使输入数据左对齐显示,默认对齐方式为右对齐
      for(int i=0;i<n;i++){
            cout<<stew(8)<<a[i].num<<stew(12)<<a[i].name;
            cout<<stew(5)<<a[i].grade<<endl;
        }
       cout<<endl;
    }

    //以数组b中元素为下标,显示a中的对应记录
    void output1(int *b,int n)
    {
       cout.setf(ios::left);              
      for(int i=0;i<n;i++){
            cout<<stew(8)<<a[i].num<<stew(12)<<a[i].name;
            cout<<stew(5)<<a[i].grade<<endl;
        }
       cout<<endl;
    }

    //对数组的n个学生记录按grade的升序显示,但不允许改变a中记录的原有位置
    void rangel(int n)
    {
      int i,*b=new int[n];
      for(i=0;i<n;i++)  b[i]=i;            //一开始b[i]的值为a[i]的下标i
         for(i=1;i<n;i++){                    //顺序处理无序表中的元素
         int d=b[i];                      //取出无序表中的第一个下标,让出空位
         int j;
           //从后向前检查有序表中下标所对应的记录,寻找插入位置
        for(j=i;j>0&&a[b[j-1]].grade>a[d].grade;j--)
               b[j]=b[j-1];  //不能插入当前空位,表中下标后移,空位前移
        b[j]=d;            //找到插入位置,下标插入空位
       }
        output(b,n);        //利用位置数组b输出数组a中的记录
       delete[] b;
    }

    void main()
    {
      int n=5;
      cout<<"输出数组a中的记录"<<endl;
      output(n);
    }


    程序的输出结果是:
     输出具有Student结构的5个记录:
     ch231      小敏        69
      ec115      小文        82
      dt327      小明        72
      cs102      小平        78
      bx214      小远        65

    按记录中grade值域的升序输出数组a中的记录:
      bx214      小远        65
      ch231      小敏        69
      dt327      小明        72
      cs102      小平        78
      ec115      小文        82

    再一次输出数组a中的记录:
    输出具有Student结构的5个记录:
     ch231      小敏        69
      ec115      小文        82
      dt327      小明        72
      cs102      小平        78
      bx214      小远        65

    [此贴子已经被作者于2004-1-1 16:14:00编辑过]


    cheyenne

    原来这里还提供帮助做作业的服务啊

    cheyenne

    其实楼主的问题不难,随便找本儿书就可以看到例子了。比如老谭的书。

    ALLISON

    大家多切磋!

    篮球女孩

    我们实习的时候也做类似的管理系统,不过不是用C++

    清风引


    真厉害阿

    月下暇想曲

    希望大家以后以相互学习的想法发贴 
    我们可不是服务行业

    上一篇:关于c++ 下一篇:求助:关于计算机操作系统的课程设计

    计算机讨论版 © 版权所有

    提示:计算机讨论版致力于电脑信息的分享与传播,内容仅供参考,按此操作责任自负。