目录
前言    1
正文    1
2.1 设计的目的和意义    1
2.2目标与总体方案    1
2.3设计方法和内容    2
2.3.1 开发环境    2
2.3.2 设计流程图    2
2.3.3设计内容    3
2.4 设计关键技术    3
2.5结论    4
致谢    4
参考文献:    4
附录   
电脑c语言编译器前言
Visual C++是一个功能强大的可视化软件开发工具。自1993Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。[1]
Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。[2]
对于这次C++课程设计,我设计的是学生选修课管理系统。学生选修课管理系统是所有大学
学生管理事务中的一项重要工作,在管理过程中牵涉到大量的程序,而传统的人工管理已经无法完全胜任。特别是随着在校学生的不断增多给选修课管理工作人员带来了很大的工作量。这些工作量复杂而繁琐为了解决学生选修课管理问题,我设计的这个程序正好可以解决这些问题,它分为两个模板选课系统学生端和选课系统管理端,可以方便选课。[3]
正文
2.1 设计的目的和意义
设计选课管理系统有以下目的:
1)简化学生选课过程和方便老师对于系统的管理。
2)老师能够管理系统,可以进行一些操作(增加学生增加课程修改成绩退出系统的等)。
3)学生便于学生选课并且能够查看自己的成绩和选课情况最后能够退出该系统。
在此次课程设计中,我设计的内容是学生选课管理程序。在现在的大学中,有成千上万的学
生要选课,需要去选必修课和公共性基础课。我们不可能拿笔和纸去登记,因为这样我们的工作量是很大很繁琐的,还很容易出错。这时我们可以使用计算机为我们服务。为了能提高工作效率,减少工作量,提高选课得速度和选课的准确度,我们可以利用VC++编程,把对选课的过程交给计算机去运行,让计算机为我们工作。这也是为什么电脑如此在公司管理层和大学管理系统中受到青睐的原因吧,同时,这也是本次设计的意义所在。
2.2目标与总体方案
目标:(1)实现选修课系统学生端的几个操作功能(学生选课、学生情况、选课情况、退出系统)。
2)实现选修课系统管理端的几个操作功能(增加学生、增加课程、删除学生、删除课程、填写成绩、更改学分、学生情况、选课情况、保存数据、退出系统)。[4]                         
总体方案先定义课程,在此类中先声明课程名称的字符型常量,然后声明课程成绩和指向下一个课程的指针。[5]然后分开开始定义学生类,课程类。在学生类中和课程类中声明要操
作的步骤,在学生类中要声明学生姓名、学生选课、学生成绩、学生的课程平均成绩,最后用链表连接起来。在课程类中声明课程名称,课程的学分,该课程最多选的人和实际选该科得人,把他们用链表连接起来。[6]最后用一个总菜单将学生选课、学生情况、选课情况、增加学生和课程、删除学生、删除课程等连接,这样程序设计就算完成了。
                  2-1选修课管理功能图
2.3设计方法和内容
2.3.1 开发环境
硬件配置: PC兼容机或品牌机,配有彩显示器、鼠标、键盘,内存不小于64MB,硬盘自由空间不少于200MB
软件环境:Visual C++集成开发环境、Microsoft Windows XP Professional 版本 2002 Service Pack 2。[7]
2.3.2 设计流程图
2.3.3 设计内容
因为内容过长只选取了其中的一部分作为说明
1. 数据库名:subject
2.1 subject里面的相关数据如下
使用public成员函数、private成员函数[8]
3. 对函数进行如下声明:   
void  getcredit(float a);[9]            用于设置学分
void  getkname(char N[]);            用于读出课程的名称
void  setkname(char N[]); [10]          用于读入课程的名称
void findstudent(studentdb *P);      用于该课程的名称,寻选这课程的学生
void clractivestudnet()              用于从文件中读出来后将实际学生数清零
void subject::getcredit (float a)    用于设置学分
void subject::getkname (char N[])[11]    用于读出课程的名称
void subject::setkname (char N[])    用于读入课程的名称
void subject::findstudent(studentdb *P)[12] 用于根据该课程的名称,寻选这课程的学生
4. 对主要的相关模块进行说
1)按顺序输入学生的信息,但不能超过30
2)输入课程的名称和该课程的学分
3)可以选择删除学生
4)可以选择上出课程
5)可以填写在(1)中输入学生的成绩
6)可以更改在(2)中输入课程的学分
7)可以查看在操作(1)时学生
8)可以查看在操作(2)时输入的课程和选课的人数
9)可以保存在以上的操作过程中输入的内容
(0)可以退出学生选修课系统
调试结果如图二:
2-3选修课系统程序调试图
2.4 设计关键技术
  在设计程序时用到继承与派生[C++中最重要的一个特征,同时用到派生中的虚基类[使其在继承时把重复的成员简化,只保留相同成员中的一个;[13-14]其难点在于运用继承与派生处对函数的继承在进行添加修改[15],使其程序简洁明了;调试程序是一个很重要的步骤,通过调试来出错误,让计算机识别指令最终达到预期效果,有其重要作用。
2.5结论
我设计的程序具有以下优点:
(1)有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。
(2)学生选修课管理程序调试运行后可得到选修课系统学生端和选修课系统管理端,这样方便于留学生的选课和老师的管理,方便又快捷。
3)系统有一定的可靠性。
致谢
首先感谢学校、学院给我提供了这次宝贵的课程设计机会,让我有这次可以把理论知识和实际生活中的一些小的事件联系在一起,既巩固了自己的理论知识,有增加了自己的实践经验,既鼓舞了自己学习编程的信心,又证明了学习编程是可以和实际生活联系起来的,不是想象中的那样抽象到不能在抽象的地步。在这次课程设计中,同学们得到了很大收获。同时也要感谢学院提供了良好的设计环境,让同学们互相之间可以交流,互相答疑,互相学习。使同学们可以在有限的时间内完成这次设计。
参考文献
[1]谭浩强.C++面向对象程序设计程序设计. 北京: 清华大学出版社.2006
[2]吕凤翥.C++语言基础教程.北京:清华大学出版社.1999
[3]邓宗明,张睿哲,张晓竞,等编著.《Visual C++ 6.0 编程实用技术与案例》.北京:清华大学出版社,2001.5
[4]谭浩强.C++面向对象程序设计题解与上机指导.北京:清华大学出版社.2006
[5]谭浩强.C程序设计题解与上机指导(第三版).北京:清华大学出版社.2005
[6]陈维新.C++面向对象程序设计教程.清华大学出版社.2006
[7]吴乃陵,况迎辉,李海文 著.《VC++程序设计》.北京:高等教育出版社,2003.8
[8]Leen Ammeraal.刘瑞挺等译.C++程序设计教程.北京:中国铁道出版社.2003
[9]李海文,吴乃陵 等编《C++程序设计及实践教程》北京:高等教育出版社,2003.9
[10]郑莉,董渊,傅仕星.C++语言程序设计.北京:清华大学出版社.2000
[11]李春葆.C++语言习题与解析.清华大学出版社.2003
[12]姚庭宝,刘青宝,蔡建国.C++语言程序设计.长沙:国防科技大学出版社.2004
[13]陈培.C#语言程序设计教程.中国水利水电出版社.2004
[14]严华峰.visual C++课程设计及案例精选.中国水利水电出版社.2004
[15]钱能.C++程序设计教程.北京:清华大学出版社.1999
附录
为了更好的体现本程序,特将代码列出,以作为参考·.
#include <string.h>
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <fstream.h>
#include <conio.h>
///////////////////////////////////////////////////////////////////////////
//定义课程
struct course        //某个学生所学的课程中的某一个
{
    char cname[20];  //课程名称
    float grade;    //课程成绩
    course *Next;  //指向下一个课程的指针
};
///////////////////////////////////////////////////////////////////////////
//学生类
class student
{
public:
    student()
    {
        root = NULL;
        const maxcourse = 5;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。