面向对象这个概念很难一两句总语言就可以总结完全的,这个还是你要在不断的学习的过程中总结体会。
个人总结来说吧,这个面向对象和类有关,就是万事万物都可抽象成类,再从类出发生成万事万物。
图书馆管理系统
一 实训目的:
掌握结构化程序设计的基本思想;
熟练掌握结构以及指针的设计和应用;
熟练掌握文件的存取方法;
了解综合系统设计的基本原理;
提高C语言程序设计的综合应用能力。
二 实训内容
综合运用C语言的基本知识和程序设计方法,开发一个简单的图书管理系统。具体功能要求如下:
图书管理:增加图书、修改图书、删除图书、统计图书;
借阅管理:查找图书、借阅图书、归还图书、借阅图书统计;
读者管理:申请读者卡、删除读者卡、修改读者卡;
馆员管理:添加管理员、修改管理员信息、删除管理员。
根据以上功能说明,设计馆员信息、读者信息、读者卡信息、图书信息的存储结构,数据存储在文件中,界面要求有合理的提示,每个功能可以设立菜单,根据提示可以完成相关的功能要求。在编译、连接与运行程序的过程中,应充分利用调试方法与工具,同时不断总结编写和调试较大型程序的经验与体会,按设计的要求写出设计报告。
三 实训分析
N—S图
系统结构设计说明了整个系统的功能模块结构以及调用关系,本设计采用自顶向下的结构化方法,将每个模块自顶向下展开。
模块设计:
1、主控模块
在该模块中,提供系统 主菜单,通过主菜单用户选择图书管理、借阅管理、读者管理和馆员管理。
图书管理模块
在该模块中,提供子菜单供用户选择增加图书、修改图书、删除图书、统计图书。增加图书通过数据录入向导逐项输入,完成一条记录输入后,存入文件。删除、修改通过图书 编号查找到该书,然后再进行删除、修改,确认后,保存文件。
借阅管理模块
在该模块中,提供子菜单,供用户选择查找图书、借阅图书、归还图书、借阅统计的 *** 作。查找图书可以通过图书编号、图书作者进行查找,然后将查找的结果输出;借阅图书首先输入读者卡号,然后输入所借图书编号或图书作者,找到图书后,进行借阅登录,确认后,保存相关文件。
读者管理模块
在该模块中,提供子菜单供用户选择申请读者卡、删除读者卡、修改读者卡和借阅情况统计。申请读者卡通过数据录入向导逐项输入,完成一条记录输入后,存入文件。删除、修改读者卡通过读者卡号查找到该记录,然后再进行删除、修改,确认后,保存文件。
馆员管理模块
在该模块中,提供子菜单供用户选择增加馆员、删除馆员、修改馆员和馆员统计的 *** 作。增加馆员通过数据录入向导逐项输入,完成一条记录输入后,存入文件;删除、修改馆员通过馆员号或姓名
查找到该记录,然后再进行删除、修改,确认后,保存文件;馆员统计对全体馆员进行分类
四 实训源程序代码和调试过程
主控模块
printf("1图书管理\n2借阅管理\n3读者管理\n4馆员管理\n5退出程序\n请选择:");
运行结果:
进入每个管理模块,先输入管理员号与密码
printf("请输入管理员号码:");
scanf("%d",&temp1);
for(i=0;i<mcounter;i++)
{
if(m[i]num==temp1)
{
printf("请输入密码:");
scanf("%s",temp);
flag = strcmp(m[i]mi,temp);
if(flag==0)
{
select=0;
break;
}
else
{
printf("密码不正确!\n");
select=5;
break;
1、图书管理模块
printf("1增加图书\n2修改图书\n3删除图书\n4统计图书\n5回主菜单\n请选择:");
scanf("%d",&select);
if(select == 1)
{
printf("请输入要增加的图书的编号 名字 类型:");
scanf("%d %s %s",&b[bcounter]num,b[bcounter]bname,b[bcounter]btype);
b[bcounter]inout=1;
b[bcounter]hnum=100;
bcounter++;
}
else if(select==2)
{
printf("请输入要修改的图书的名字:");
scanf("%s",temp);
for(i=0;i<bcounter;i++)
{
flag=strcmp(b[i]bname,temp);
if(flag==0)
{
printf("%d %s %s\n",b[i]num,b[i]bname,b[i]btype);
printf("请输入要修改的图书的编号 名字 类型:");
scanf("%d %s %s",&b[i]num,b[i]bname,b[i]btype);
b[i]inout=1;
b[i]hnum=100;
break;
}
}
if(flag!=0)
printf("你要修改的图书不存在\n");
}
else if(select==3)
{
printf("请输入要删除的图书的名字:");
scanf("%s",temp);
for(i=0;i<bcounter;i++)
{
flag=strcmp(b[i]bname,temp);
if(flag==0)
{
printf("%d %s %s\n",b[i]num,b[i]bname,b[i]btype);
for(j=i;j<bcounter-1;j++)
b[j]=b[j+1];
bcounter--;
break;
}
}
if(flag!=0)
printf("你要删除的图书不存在\n");
}
else if(select==4)
{
printf("图书馆中现有%d本书\n",bcounter);
}
else if(select==5)
{
select = 0;
break;
}
else
{
printf("输入错误!\n");
}
}
select=0;
}
*** 作结果:
借阅管理模块
printf("1查找图书\n2借阅图书\n3归还图书\n4借阅图书统计\n5回主菜单\n请选择:");
scanf("%d",&select);
if(select == 1)
{
printf("请输入要查找的图书的名字:");
scanf("%s",temp);
for(i=0;i<bcounter;i++)
{
flag=strcmp(b[i]bname,temp);
if(flag==0)
{
printf("%d %s %s\n",b[i]num,b[i]bname,b[i]btype);
if(b[i]inout==0)
printf("该书不在馆!\n");
break;
}
}
if(flag!=0)
printf("你要查找的图书不存在\n");
}
else if(select == 2)
{
printf("请输入要借阅的图书的名字:");
scanf("%s",temp);
for(i=0;i<bcounter;i++)
{
flag=strcmp(b[i]bname,temp);
if(flag==0)
{
printf("%d %s %s\n",b[i]num,b[i]bname,b[i]btype);
if(b[i]inout==0)
printf("该书不在馆!\n");
else
{
b[i]inout=0;
printf("请输入借阅者的编号:");
scanf("%d",&b[i]hnum);
}
break;
}
}
if(flag!=0)
printf("你要借阅的图书不存在\n");
}
else if(select == 3)
{
printf("请输入要归还的图书的名字:");
scanf("%s",temp);
for(i=0;i<bcounter;i++)
{
flag=strcmp(b[i]bname,temp);
if(flag==0)
{
printf("%d %s %s\n",b[i]num,b[i]bname,b[i]btype);
if(b[i]inout==1)
printf("该书已在馆!\n");
else
{
b[i]inout=1;
b[i]hnum=100;
}
break;
}
}
if(flag!=0)
printf("你要归还的图书不存在\n");
}
else if(select == 4)
{
j=0;
for(i=0;i<bcounter;i++)
{
if(b[i]inout==0)
j++;
}
printf("图书馆中有%d本书,已有%d本书借出\n",bcounter,j);
}
else if(select == 5)
{
select = 0;
break;
3、读者管理模块
printf("1申请读者卡\n2删除读者卡\n3修改读者卡\n4回主菜单\n请选择:");
scanf("%d",&select);
if(select == 1)
{
printf("请输入要增加的读者卡的编号 名字:");
scanf("%d %s",&u[ucounter]unum,u[ucounter]uname);
ucounter++;
}
else if(select == 2)
{
printf("请输入要删除的读者卡的名字:");
scanf("%s",temp);
for(i=0;i<ucounter;i++)
{
flag=strcmp(u[i]uname,temp);
if(flag==0)
{
printf("%d %s\n",u[i]unum,u[i]uname);
for(j=i;j<ucounter-1;j++)
u[j]=u[j+1];
ucounter--;
break;
}
}
if(flag!=0)
printf("你要删除的读者卡不存在\n");
}
else if(select == 3)
{
printf("请输入要修改的读者卡的名字:");
scanf("%s",temp);
for(i=0;i<ucounter;i++)
{
flag=strcmp(u[i]uname,temp);
if(flag==0)
{
printf("%d %s\n",u[i]unum,u[i]uname);
printf("请输入要修改的读者卡的编号 名字:");
scanf("%d %s",&u[i]unum,u[i]uname);
break;
}
}
if(flag!=0)
printf("你要修改的读者卡不存在\n");
}
else if(select==4)
{
select=0;
*** 作结果:
管理员模块
printf("1添加管理员\n2删除管理员\n3修改管理员\n4回主菜单\n请选择:");
scanf("%d",&select);
if(select == 1)
{
printf("请输入要增加的管理员的编号 名字 密码 类型:");
scanf("%d %s %s %d",&m[mcounter]num,m[mcounter]mname,m[mcounter]mi,&m[mcounter]type);
mcounter++;
}
else if(select == 2)
{
printf("请输入要删除的管理员的名字:");
scanf("%s",temp);
for(i=0;i<ucounter;i++)
{
flag=strcmp(m[i]mname,temp);
if(flag==0)
{
printf("%d %s %s %d\n",m[i]num,m[i]mname,m[i]mi,m[i]type);
for(j=i;j<mcounter-1;j++)
m[j]=m[j+1];
mcounter--;
break;
}
}
if(flag!=0)
printf("你要删除的管理员不存在\n");
}
else if(select == 3)
{
printf("请输入要修改的管理员的名字:");
scanf("%s",temp);
for(i=0;i<mcounter;i++)
{
flag=strcmp(m[i]mname,temp);
if(flag==0)
{
printf("%d %s %s %d\n",m[i]num,m[i]mname,m[i]mi,m[i]type);
printf("请输入要修改的管理员的编号 名字 密码 类型:");
scanf("%d %s %s %d",&m[i]num,m[i]mname,m[i]mi,&m[i]type);
break;
}
}
if(flag!=0)
printf("你要修改的管理员不存在\n");
}
else if(select==4)
{
select=0
5、退出模块
fclose(fp1);
fclose(fp2);
fclose(fp3);
fp1=fopen("tushutxt","w");
fp2=fopen("managertxt","w");
fp3=fopen("usertxt","w");
for(i=0;i<bcounter;i++)
fprintf(fp1,"%d %s %s %d %d\n",b[i]num,b[i]bname,b[i]btype,b[i]inout,b[i]hnum);
for(i=0;i<mcounter;i++)
fprintf(fp2,"%d %s %d %s\n",m[i]num,m[i]mname,m[i]type,m[i]mi);
for(i=0;i<ucounter;i++)
fprintf(fp3,"%d %s\n",u[i]unum,u[i]uname);
fclose(fp1);
fclose(fp2);
fclose(fp3);
printf("谢谢使用!\n");
一般的大型游戏开发不是单一用某一种软件语言的问题。一个大型游戏的开发需要非常大的团队用各种各样的语言和工具来完成。
总结一下主要有C/C,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。
首先一般的游戏开发架构(Windows平台)从底到顶一般是DirectX64——游戏引擎——游戏。
大型游戏开发的大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。比如比较流行的语言。,然后编写脚本将其组织成一个游戏,不需要什么底层的编程语言。
Windows平台比较流行的方法是使用最新版本的VisualStudio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。
扩展资料:
汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。
汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。
用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件 *** 作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
高级语言
不论是机器语言还是汇编语言都是面向硬件的具体 *** 作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。
这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。
PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植
以上就是关于“C++支持面向对象程序设计的大型语言”中的“面向对象”是什么意思全部的内容,包括:“C++支持面向对象程序设计的大型语言”中的“面向对象”是什么意思、计算机程序设计题解、大型游戏开发语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)