《计算机导论》课程设计报告书(模板)

时间:2024.4.8

  中南大学 信息科学与工程学院

课程设计报告

设计名称:         《计算机导论》课程设计                

    名:                   号:               

专业班级:                                      

院):                                        

设计时间:                                       

设计地点:                                          



第二篇:《C++程序设计》课程设计报告书(模板)


河南城建学院

《C/C++程序设计》课程设计报告书

设 计 题 目:

指 导 老 师:崔雪冰

学 生 学 号:

学 生 姓 名:

同 组 人 员:

时 间:20xx年 12月 10 日

目 录

第1章 选 题 ............................................................................................................................... 2

1.1 题目背景 .............................................................................................................................. 2

1.2系统实现的具体分工 ........................................................................................................... 2

1.2.1 标题 ............................................................................................................................... 2

1.3开发环境 ............................................................................................................................... 2

第2章 设计内容 ........................................................................................................................... 3

2.1实现功能 ............................................................................................................................... 3

2.2 概要设计(涉及类的框图) .............................................................................................. 3

2.3 界面设计 .............................................................................................................................. 4

第3章 系统实现 ........................................................................................................................... 5

3.1 涉及知识点 .......................................................................................................................... 5

3.2 系统运行(主要运行界面抓图) ...................................................................................... 5

3.3 源程序清单(关键代码) .................................................................................................. 6

第4章 结束语 ............................................................................................................................. 16

第1章 选 题

1.1 题目背景

随着信息时代的到来和全社会信息化、网络化建设的兴起,传统的图书管理模式和操作方法越来越不能满足用户的需要.智能化、网络化、信息化的图书管理系统应用势在必行。

1.2系统实现的具体分工

系统分为读者类、读者类库、图书类以及主函数等几大模块,其中读者类实现对读者信息的描述,读者类库实现建立读者的个人资料,图书类实现对图书信息的描述,main() 函数实现对程序主界面的引导。

1.2.1 标题

高校图书管理系统

1.3开发环境

Visual C++ 6.0

机型: 方正电脑 处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 @ 2.53GHz 硬盘驱动器:WDC WD1600AAJS-22WAAO 系统内存: 金士顿内存2GB 显示卡: NVIDIA GeFORCE 9400 GT 显示器: 方正科技FG981-W9

操作系统: Microsoft Windows XP Professional

第2章 设计内容

2.1实现功能

系统主要包括读者服务、借还图书和退出功能。用户只需先进入读者服务中注册一下就可以进行借阅、查询。

2.2 概要设计(涉及类的框图)

C程序设计课程设计报告书模板

2.3 界面设计

界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。

结构设计 Structure Design

结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该图书管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1 读者服务、2 借还图书、0 退出。其中读者服务又下分目录1 新增、2 更改、3 查找、4 显示、5 删除、0 退出。借还图书一栏中详细列出了书库中所存书本的编号及书名,即1 大学英语、2 高等数学、3 高级语言程序设计。充分体现了结构化的界面设计理念。

交互设计 Interactive Design

交互设计的目的是使产品让用户能简单使用。 任何产品功能的实现都是通过人和机器的交互来完成的。该图书管理系统中包含1)清楚的错误提示,误操作后,系统提供有针对性的提示。例如读者输入的姓名或编号错误时,系统会给出相应的提示,以指导读者进行正确的操作。2) 使用用户的语言,而非技术的语言。 3)方便退出。4)导航功能。随时转移功能,很容易从一个功能跳到另外一个功能。例如读者所需各服务间功能转换。人的因素被作为设计的核心体现出来。

视觉设计 Visual Design

该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模型和任务达成进行了视觉设计。

第3章 系统实现

3.1 涉及知识点

类封装、面向对象程序设计、数组的应用、循环语句的使用、过程化设计的思想等

3.2 系统运行(主要运行界面抓图)

主界面

C程序设计课程设计报告书模板

读者服务

C程序设计课程设计报告书模板

借还图书

C程序设计课程设计报告书模板

退出

C程序设计课程设计报告书模板

3.3 源程序清单(关键代码)

#include <iostream>

#include <iomanip>

#include <string>

#include <cstdlib> //新的,模版化的版本

#include <fstream>

using namespace std;

//读者类,实现对读者的信息的描述

class Reader

{

private:

int tag; //删除标记 1:已删 0:未删 int no; //读者编号 char name[10]; //读者姓名 int borbook[5];//所借图书

public:

Reader() {} char *getname() {return name;} //获取姓名 int gettag() {return tag;} //获取删除标记 int getno() {return no;} //获取读者编号 void setname(char na[]) //设置姓名 { strcpy(name,na); //strcpy()是字符串函数,用来进行字符串的复制;strcpy(x,y)把Y的数据复制到X中

}

void addreader(int n,char *na)//增加读者

{

tag=0;

no=n;

strcpy(name,na);

for(int i=0;i<100;i++)

borbook[i]=0;

}

void disp()//读出读者信息

{

cout << setw(5) << no <<setw(10) << name<<"已成功借阅一本图书!"<<endl;

};

//------------------------------------------------------------------------------------ //读者类库,实现建立读者的个人资料

class RDatabase

{

private:

int top; //读者记录指针 Reader read[100];//读者记录 }

public:

RDatabase() //构造函数,将reader.txt读到read[]中 { Reader s; top=-1; fstream file("reader.txt",ios::in);//打开一个输入文件 while (1) { file.read((char *)&s,sizeof(s));//sizeof返回一个对象或者类型所占的内存字节数

} void clear()//删除所有读者信息 { } file.close(); //关闭 reader.txt if (!file)break; top++; read[top]=s;

} top=-1; int addreader(int n,char *na)//添加读者时先查找是否存在 { } Reader *query(int readerid)//按编号查找 { } void disp() //输出所有读者信息 { } void readerdata();//读者库维护 ~RDatabase() //析构函数,将read[]写到reader.txt文件中 { fstream file("reader.txt",ios::out); for (int i=0;i<=top;i++) read[i].disp(); for (int i=0;i<=top;i++) if (read[i].getno()==readerid && { } return NULL; return &read[i]; read[i].gettag()==0) Reader *p=query(n); if (p==NULL) { } return 0; top++; read[top].addreader(n,na); return 1;

for (int i=0;i<=top;i++) if (read[i].gettag()==0) file.write((char *)&read[i],sizeof(read[i]));//sizeof()当操作数具有数组类型时,其结果是数组的总字节数

file.close();

}

};

void RDatabase::readerdata()

{

char choice;

char rname[20];

int readerid;

Reader *r;

while (choice!='0')

{

cout <<"\n\n\t\t\t读 者 服 务\n\n\n\t\t\t 1

\n\n\t\t\t 2 更 改\n\n\t\t\t 3 查 找\n\n\t\t\t 4 \n\n\t\t\t 5 删 除\n\n\t\t\t 0 退 出"<<endl;

cout<<"请输入您的选择:";

cin >> choice;

switch (choice)

{

case '0':

return;

case '1':

cout << "输入读者编号:";

cin >> readerid;

cout << "输入读者姓名:";

cin >> rname;

addreader (readerid,rname);

break;

case '2': 新 增显 示

cout << "输入读者编号:"; cin >> readerid; r=query(readerid); if (r==NULL) { } cout << "输入新的姓名:"; cin >> rname; r->setname(rname); break; cout << "读入读者编号:"; cin >> readerid; r=query(readerid); if (r==NULL) { } r->disp(); break; disp(); break; clear(); break; cout<<"输入错误,请重新输入:"; break; cout <<"该读者不存在"<< endl; break; cout << " 该读者不存在 "<<endl; break; case '3': case '4': case '5': default: }

}

};

//-----------------------------------------------------------------------------------------------------

class Book

{

public:

};

//在类外定义Book类的成员函数

void Book::T()

{

}

void Book::setBook(char *name,int num)

{

strcpy(bookname,name); number=num; cout<<"请输入借阅或归还标志(b/r):"; cin>>flag; switch (flag) {case 'b':borrow();break; case 'r':restore(); } void setBook(char*,int); void borrow(); void restore(); void display(); void T(); char bookname[40]; int number; char flag; private:

}

void Book::borrow()

{

}

void Book::restore()

{

}

void Book::display()

{

cout<<"存书情况:number=number+1; cout<<"还一次,现存书量为:"<<number<<endl; if (number==0) {cout<<"已没存书,退出!"<<endl; abort(); } number=number-1; cout<<"借一次,现存书量为:"<<number<<endl; "<<endl<<"bookname:"<<bookname<<endl<<"number:"<<number<<endl;

};

//main() 函数的实现,程序的主界面的引导

int main()

{

char choice;

int bookid,readerid;

RDatabase R;

Reader *r;

Book B;

while(choice!='0')

{

cout <<endl<<endl<<" ★★★★★★欢迎进入高校图书管理

系统★★★★★★\n\n\n";

cout <<"\t\t\t1 读者服务 \n\n\t\t\t2 借还图书 \n\n\t\t\t0 退 出"<<endl;

cout<<"请输入您的选择:"; cin >> choice; switch (choice) { case '0': cout <<" 谢谢使用"<<endl; return 0; R.readerdata(); break; cout <<"\n\n\n\t\t\t 借还图书\n\n\n"; cout<<"\t\t\t书库中现存三种图书:\n\n\t\t\t1 大学英语\n\n\t\t\t2 case '1': case '2': 高等数学\n\n\t\t\t3 高级语言程序设计"<<endl;

cout<<"请输入读者编号:"<<endl; cin >>readerid; cout <<"请输入图书编号: "; cin >>bookid; r=R.query(readerid);//按编号查找 if (NULL==r) { } switch(bookid) { case 1: B.setBook("大学英语",1000); B.display(); cout <<" 不存在该读者,不能借书"<< endl; break;

B.T(); break; case 2: } }

} B.setBook("高等数学",1000); B.display(); B.T(); break; case 3: B.setBook("高级程序语言设计",1000); B.display(); B.T(); break; default:cout<<"输入错误,请重新输入:"; break; }

第4章 结束语

这次课程设计历经一个星期左右,通过这一个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,也有很多闻所未闻的东西,理解实践的能力急需提高。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生运用所学知识解决实际问题的能力。

这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。刚开始的时候,大家就按照分配好了的任务进行,并且经常聚在一起讨论各个方案的可行性。在课程设计中只有一个人的知识是远远不够的,必须要结合每个人的知识,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们成功的一项非常重要的保证。而这次设计也正好锻炼我们这一点,这也是非常宝贵的。 回顾起此次课程设计,至今我仍感慨颇多,起初在选题时,做出决定是非常困难的,若选择简单的题目,很有可能会很早就做完了,那样岂不是浪费了许多宝贵的时间;若选择比较难的题目,感觉自己的能力可能不够,不能完成课程设计,最后,在我们组的商量之下选了高校图书管理系统这个课题。定下了我们的目标。接着我们都开始做了,我们明确的分了一下任务,然后每个人都去干自己的了,对于不会的,不太清楚的我们都会在一起讨论,研究。通过本次课程设计,我深刻认识到了“理论联系实际”的这句话的重要性与真实性,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。最重要的是在实践中理解了书本上的知识,明白了学以致用的真谛。也明白老师为什么要求我们做好这个课程设计的原因。他是为了教会我们如何运用所学的知识去解决实际的问题,提高我们的动手能力。在整个设计到按各种功能输出以及调试过程中,我个人感觉调试部分是最难的,我们把运行错误和不能运行的部分一遍遍的修改直到达到预期的效果。初拿到题目觉得很沮丧,虽然学了这么久的C++语言,但还是觉得它很深奥,对它几乎是一无所知。如何着手?在接下来的时间里大家集思广益,在一起认真讨论,不甚理解的问题去查阅一些资料。然后写代码,运行调试??虽然在这个过程中遇到了很多问题,有时候甚至为某个地方而茶饭不思。但程序编辑成功后那种激动,问题解决中遇到挑战自己亲自动手,终于解决那种成就感,几个人一起讨论,一起分析,同悲同喜那种患难与共的感觉,都使我们深深地体会到了感到学习的快乐和团结的力量,也让我们真正学习到了一些的知识,使我们感到前途是光明的、充满挑战与趣味的。计算机专业是一个需要紧密合作的工

作,只有在一起合作才能高做出好的程序,但在其中也有一些的问题是我们都不能理解的,有很多是我们上课没有碰到的一些的问题真的是很让人头疼的。通过这次编程使我们认识到在以后的学习中要多做练习增加自己的知识面才能更好的适应自己的工作,在其中由最初的沮丧中出来,充满信心地去解决问题。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说return的用法??通过这次课程设计之后,我决定一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在崔老师的辛勤指导下,以及同学们的帮助下,最终迎刃面解。在此我向崔老师和那些帮助过我的同学们表示最衷心的感谢!

参考文献

[1] 钱能. C++程序设计教程(第一版).清华大学出版社

[2] 钱能. C++程序设计教程(第二版).清华大学出版社

[3] C++入门经典(清华大学出版)

更多相关推荐:
计算机实践课程课程设计报告

中南大学本科生课程设计(实践)任务书、设计报告(大学计算机基础)计算机实践过程与体会题目学生姓名指导教师学院专业班级学生学号祁彦翔刘泽星湘雅医学院临床五年12032208120316计算机基础教学实验中心201…

计算机课程设计报告格式

学生成绩管理系统课程设计报告课程设计报告格式一功能描述要求学生对其所完成的课程设计给出各个功能模块详细的描述包括文字说明和图形说明功能模块图二总体设计部份1功能模块设计2数据结构设计3函数功能描述三程序实现1源...

大学计算机基础课程设计报告

北京科技大学计算机应用实践报告机房名称时间1300至1625学院自动化学院专业班级姓名学号指导教师成绩20xx年8月说明一计算机应用实践是本科教学重要的实践教学环节是提高学生应用计算机能力的重要措施所有参加计算...

计算机组成课程设计报告

目录第一章实训任务概述111实训目的112实训任务1第二章课程设计结果221指令的执行流程222位扩展和字扩展523设计计算机运算器624计算机的硬件系统725运算器的组成及设计实验10第三章个人总结1231主...

计算机综合课程设计报告

计算机综合课程设计报告小组编号06课题名称趣味贪吃蛇小组成员20xx年10月计算机综合课程设计报告目录目录11项目背景112系统目标121系统功能分析2211功能12212功能2222系统性能指标223系统平台...

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

计算机绘图课程设计报告

课程设计课程名称计算机绘图课程设计题目名称别墅建筑设计学生学院经济管理学院专业班级土资20xx级1班学号3106006265学生姓名许海帆指导教师杨国清20xx年12月30日广东工业大学课程设计任务书题目名称学...

计算机网络课程设计报告书

计算机网络实验报告题目某大学校园网规划与设计学院信息科学与工程学院专业班级计算机102班学号104162xx学生姓名xx成绩指导教师刘锁兰时间20xx年12月10日某大学校园网规划与设计某大学是一所极具现代意识...

专业教育课程设计报告书——我所认识的计算机专业

课程设计题目:专业教育学院:计算机科学与技术学院专业:计算机科学与技术专业班级:姓名:指导教师:20XX年01月17日专业教育课程设计报告我所认识的计算机专业1、前言大学的课程是多种多样的,当我们在高中毕业之后…

计算机控制技术课程设计报告

计算机控制技术课程设计二阶环节电压跟踪控制系统的设计采用PC机JK实验装置on二阶环节电压跟踪控制系统的设计采用PC机JK实验装置专业自动化专业班级20xx级87班组员姚亮20xx5407刘凤20xx5421罗...

计算机网络课程设计报告

课程设计教学院课程名称题目专业班级某市环境监测部门网络设计方案姓名同组人员指导教师20xx年6月30日1目录一课程设计目的错误未定义书签二设计任务及要求错误未定义书签三需求分析错误未定义书签31调研情况错误未定...

计算机网络课程设计报告

计算机网络课程设计实验报告CSMACD协议仿真学院计算机科学与通信工程班级通信0801学号姓名指导老师周莲英年月一CSMACD协议工作原理查资料及性能分析指标与影响因素CSMACD是carriersensemu...

计算机课程设计报告(37篇)