有哪些适合程序员入门的设计类书籍

有哪些适合程序员入门的设计类书籍,第1张

《程序员修炼之道》对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。 或许他们还是在校生,但对要自己做什么,还感觉不是很安全。就像草图和架构之间的差别。虽然你在学校课堂上学到的是画图,你也可以画的很漂亮, 但如果你觉得你不太知道从哪儿下手,如果某人要你独自画一个P2P的音乐交换网络图,那这本书就适合你了。

clreldraw、Photoshop、Illustrator、pagemake等

报纸版面设计是平面设计的一种,像平面设计的软件有多个,一般都可以使用

看你熟悉的是那一种软件

你好 具体实现如下:

//Readerh

#include<iostream>

#include <iomanip>

using namespace std;

const int Maxbor=5;

class Reader

{

private:

int tag;

int no;

char name[10];

int borbook[Maxbor];

public:

Reader() {}

char getname() {return name;}

int gettag() {return tag;}

int getno() {return no;}

void setname(char na[])

{

strcpy(name,na);

}

void delbook(){ tag=1; }

void addreader(int n,char na)

{

tag=0;

no=n;

strcpy(name,na);

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

borbook[i]=0;

}

void borrowbook(int bookid)

{

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

{

if (borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

}

int retbook(int bookid)

{

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

{

if(borbook[i]==bookid)

{

borbook[i]=0;

return 1;

}

}

return 0;

}

void disp()

{

cout << setw(5) << no <<setw(10) << name<<"借书编号:[";

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

if(borbook[i]!=0)

cout << borbook[i] << "|";

cout << "]"<<endl;

}

};

//Bookh

#include<iostream>

#include <iomanip>

using namespace std;

const int Maxb=100;

class Book

{

private:

int tag;

int no;

char name[20];

int onshelf;

public:

Book(){}

char getname() { return name; }

int getno(){ return no; }

int gettag(){ return tag; }

void setname(char na[])

{

strcpy(name,na);

}

void delbook(){ tag=1;}

void addbook(int n,char na)

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

int borrowbook()

{

if (onshelf==1)

{

onshelf=0;

return 1;

}

return 0;

}

void retbook()

{

onshelf=1;

}

void disp()

{

cout << setw(6) << no << setw(18) << name << setw(10)

<<(onshelf==1 "在架":"已借") <<endl;

}

};

//RDatabaseh

#include<iostream>

#include<cstdlib>

#include <iomanip>

#include"Readerh"

using namespace std;

const int Maxr=100;

class RDatabase

{

private:

int top;

Reader read[Maxr];

public:

RDatabase()

{

Reader s;

top=-1;

fstream file("readertxt",ios::in);

while (1)

{

fileread((char )&s,sizeof(s));

if (!file)break;

top++;

read[top]=s;

}

fileclose();

}

void clear()

{

top=-1;

}

int addreader(int n,char na)

{

Reader p=query(n);

if (p==NULL)

{

top++;

read[top]addreader(n,na);

return 1;

}

return 0;

}

Reader query(int readerid)

{

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

if (read[i]getno()==readerid &&

read[i]gettag()==0)

{

return &read[i];

}

return NULL;

}

void disp()

{

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

read[i]disp();

}

void readerdata();

~RDatabase()

{

fstream file("readertxt",ios::out);

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

if (read[i]gettag()==0)

filewrite((char )&read[i],sizeof(read[i]));

fileclose();

}

};

void RDatabase::readerdata()

{

char choice='1';

char rname[20];

int readerid;

Reader r;

while (choice!='0')

{

system("cls");

cout <<"\n\n\t\t\t读 者 维 护\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 删 除\n\n\t\t 4 查 找\n\n\t\t 5 显 示\n\n\t\t 6 全 删\n\n\t\t 0 退 出"<<endl;

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

cin >> choice;

GOTO1:switch (choice)

{

case '1':

cout << "\n\n\t\t输入读者编号:";

cin >> readerid;

cout << "\n\n\t\t输入读者姓名:";

cin >> rname;

addreader (readerid,rname);

cout<<"\n\t\t添加成功^_^"<<endl;

system("pause");

break;

case '2':

cout << "\n\n\t\t输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout << "\n\n\t\t该读者不存在 ";

system("pause");

break;

}

cout << "\n\n\t\t输入新的姓名:";

cin >> rname;

r->setname(rname);

cout<<"\n\t\t修改成功^_^"<<endl;

system("pause");

break;

case '3':

cout << "\n\n\t\t输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<"\n\n\t\t该读者不存在" << endl;

system("pause");

break;

}

r->delbook();

cout<<"\n\t\t删除成功^_^"<<endl;

system("pause");

break;

case '4':

cout << "\n\n\t\t读入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<"\n\n\t\t该读者不存在"<< endl;

system("pause");

break;

}

r->disp();

system("pause");

break;

case '5':

disp();

system("pause");

break;

case '6':

clear();

cout<<"\n\t\t已清空!"<<endl;

system("pause");

break;

case '0':

cout<<"\n\t\t欢迎再次使用^_^"<<endl;

system("pause");

break;

default:cout<<"\n\t\t输入错误,请从新输入:"; goto GOTO1;

}

}

}

//BDatabaseh

#include<iostream>

#include<cstdlib>

#include <iomanip>

#include"Bookh"

using namespace std;

class BDatabase

{

private:

int top;

Book book[Maxb];

public:

BDatabase()

{

Book b;

top=-1;

fstream file("booktxt",ios::in);

while (1)

{

fileread((char )&b,sizeof(b));

if (!file) break;

top++;

book[top]=b;

}

fileclose();

}

void clear()

{

top=-1;

}

int addbook(int n,char na)

{

Book p=query(n);

if (NULL==p)

{

top++;

book[top]addbook(n,na);

return 1;

}

return 0;

}

Book query(int bookid)

{

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

if (book[i]getno()==bookid &&book[i]gettag()==0)

{

return &book[i];

}

return NULL;

}

void bookdata();

void disp()

{

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

if (book[i]gettag()==0)

book[i]disp();

}

~BDatabase()

{

fstream file("booktxt",ios::out);

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

if (book[i]gettag()==0)

filewrite((char )&book[i],sizeof(book[i]));

fileclose();

}

};

void BDatabase::bookdata(){

char choice='1';

char bname[40];

int bookid;

Book b;

while (choice!='0')

{

system("cls");

cout <<"\n\n\n\t\t\t图 书 维 护 "<<endl<<endl;

cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 删 除\n\t\t4 查 找\n\t\t5 显 示\n\t\t6 全 删\n\t\t0 退 出"<<endl;

cout<<"\n\t\t请输入你的选择:";

cin >> choice;

GOTO2:switch (choice)

{

case '1':

cout << "\n\n\t\t输入图书编号:";

cin >> bookid;

cout << "\n\n\t\t输入图书书名:";

cin >> bname;

addbook(bookid,bname);

cout<<"\n\t\t添加成功^_^"<<endl;

system("pause");

break;

case '2':

cout << "\n\n\t\t输入图书编号:";

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout << "\n\n\t\t该图书不存在 ";

system("pause");

break;

}

cout << "\n\n\t\t输入新的书名:";

cin >> bname;

b->setname(bname);

cout<<"\n\t\t修改成功^_^"<<endl;

system("pause");

break;

case '3':

cout <<"\n\n\t\t读入图书编号:";

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout <<"\n\n\t\t该图书不存在" ;

system("pause");

break;

}

b->delbook();

cout<<"\n\t\t删除成功^_^"<<endl;

system("pause");

break;

case '4':

cout << "\n\n\t\t读入图书编号:";

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout <<"\n\n\t\t该图书不存在"<< endl;

system("pause");

break;

}

b->disp();

system("pause");

break;

case '5':

disp();

system("pause");

break;

case '6':

clear();

cout<<"\n\t\t已清空!"<<endl;

system("pause");

break;

case '0':

cout<<"\n\t\t欢迎再次使用^_^"<<endl;

system("pause");

break;

default:cout<<"\n\t\t输入错误,请从新输入:"; goto GOTO2; }

}

}

//main主函数

#include <iostream>

#include <iomanip>

#include <string>

#include <fstream>

#include"RDatabaseh"

#include"BDatabaseh"

using namespace std;

void main()

{

char choice='1';

int bookid,readerid;

RDatabase ReaderDB;

Reader r;

BDatabase BookDB;

Book b;

while(choice!='0')

{

system("cls");

cout <<endl<<endl<<"\t\t\t 图 书 管 理 系 统\n\n\n";

cout <<"\t\t\t1 借 书\n\n\t\t\t2 还 书 \n\n\t\t\t3 图 书 维 护\n\n\t\t\t4 读 者 维 护\n\n\t\t\t0 离 开"<<endl;

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

cin >> choice;

GOTO:switch (choice)

{

case '1':

cout <<"\n\t\t借书\n\t\t读者编号:";

cin >>readerid;

cout <<"\n\t\t图书编号: ";

cin >>bookid;

r=ReaderDBquery(readerid);

if (NULL==r)

{

cout <<"\n\t\t不存在该读者,不能借书"<< endl;

system("pause");

break;

}

b=BookDBquery(bookid);

if (b==NULL)

{

cout <<"\n\t\t不存在该图书,不能借书"<< endl;

system("pause");

break;

}

if (b->borrowbook()==0)

{

cout << "\n\t\t该图书已借出,不能借书"<< endl;

system("pause");

break;

}

r->borrowbook(b->getno());

cout<<"\n\t\t借书成功^_^"<<endl;

system("pause");

break;

case '2':

cout<<"\n\t\t还书\n\t\t读者编号:";

cin >>readerid;

cout << "\n\t\t图书编号:";

cin >>bookid;

r=ReaderDBquery(readerid);

if (r==NULL)

{

cout <<"\n\t\t不存在该读者,不能还书" << endl;

system("pause");

break;

}

b=BookDBquery(bookid);

if (b==NULL)

{

cout <<"\n\t\t不存在该图书,不能还书" <<endl;

system("pause");

break;

}

b->retbook();

r->retbook(b->getno());

cout<<"\n\t\t还书成功^_^"<<endl;

system("pause");

break;

case '3':

BookDBbookdata();

system("pause");

break;

case '4':

ReaderDBreaderdata();

system("pause");

break;

case '0':

cout<<"\n\t\t欢迎再次使用^_^"<<endl;

system("pause");

break;

default:cout<<"\n\t\t输入错误,请从新输入:"; goto GOTO;

}

}

}

共享了 希望能帮助更多人

摘 要:书籍(指电子书除外的实物书籍),作为人们的精神食粮,一种文化产业,它的发展变得日益重要。千篇一律的书籍设计已经不吸引当今读者了,为了在最短的时间抢占读者及商家的眼球,不仅是对封面设计有着特别的设计要求,书籍形态与内容的变化已经是我们设计当中考量的一个重要因素。以“市场需求为导向,书籍整体策划为先行、以逻辑思维为过程,以整体形态创意为目的”的工学结合教学模式,在当今高职院校的书籍设计教学模式中越来越被看好。

关键词:市场需求;书籍设计;教学

一 书籍设计概况及趋势

近年来,国内书籍设计取得了令人瞩目的成就。在这一领域里,人们用书、爱书、惜书、藏书,从而打扮书、设计书,从理论到实践都已经是多元化的发展趋势,各种理论方法与创作手法以及制作工艺互相融合,相互渗透,为书籍设计的进一步发展提供了很多新的视角,同时多元化的发展给书籍设计教学带来很多新的问题。

传统的书籍设计中,由于设备的缺乏及装帧设计制作的难度各因素的限制,很多关于书籍的设计都会避难就简,只作简单的封面设计以及内页版式设计,如果内面一样而书籍设计没有特别的视觉效果,是很难吸引观众的眼球的。很多时候设计都是从商业利益的角度来考虑,从生产到营销,大都以商业成本高低为衡量,方便快捷。市场的需求与当今艺术设计教学有着一定的冲突,由于学生的局限性,他们设计出来的书籍作品,要么不完整,要么流于市场形式,设计出来的东西普通没有吸引力。这样的人才在这方面很难让编辑部门看好。如何在有限的时间内让学生的书籍设计既有个性,又容易被市场采纳与接受,甚至直接把它们的设计方案用于现实市场,这是书籍装帧课程的一个难点。针对这个难点,目前各高职院校纷纷采用一些办法进行教学改革。比如在项目导入的时候,有目的性地针对书籍形态制作难的问题,并强调书籍整体策划,以理论指导设计,以设计验证理论。通过设计,从制作过程到完成整个设计,这些都能使学生在短时间内对书籍设计与市场需求有更全面、更集中的了解。千篇一律的书籍形态已经不吸引当今读者了,为了在最短的时间抢占读者及商家的眼球,不仅是对封面设计有着特别的设计要求,书籍整体形态上的变化已经是我们教学当中考量的一个重要因素。虽然封面的其它元素有着同样的作用,但书籍的整体视觉效果,会更进一步加深读者的印象。

二 书籍设计教学误区

在传统书籍教学中,由于书籍设计教学课时与时间段的有限性,教学的目标与教学形式都有着很大的局限性。一方面,教师会因为课时不够而简单安排教学内容,删掉设计过程中必要的某些环节,只作局部的教学及设计实践练习与辅导。即使学校有提供相关设备,也因为时间的局限与申请程序繁杂的原因,删除部分环节,学生因此在有限的时间,局部实践中无法整体宏观地理解书籍装帧设计的整体性,经常陷入设计误区中,使他们对书籍整体性认识不足,导致书装设计局限于封面这个方寸之地,如同女孩化妆,只作表面文章。甚至很片面地理解书籍设计就是书籍封面设计,缺乏设计的有机系统性;另一方面,由于市场需求的普遍性,学生也以商业性功能为主,设计出来的东西过于流于社会形式,为了迁就市场对流行文化低俗口味的偏好,在形态仍固守着旧的开本和版式,不愿改变,培养出来的人才平庸,缺乏大胆创意,设计出来的书籍形态俗不可耐,摆不上国际图书市场;再一方面,有的在书籍设计中个性化表现,过分强调发散性个性创意、视觉效果,而不注重市场实际情况,及文化产业市场发展的整体需求,从而导致学生所作出的设计方案经常得不到企业的认可,失去市场价值,使校企合作无法深入发展。而且因为过于强调个性而没有考虑制作的成本,造成大范围的资源浪费,不但增加学生开支,也给提倡低碳生活的今天造成负面影响,这样已经偏离了高职教育教学的初衷。这些误区归结起来有三点:

误区一:由于时间的有限性而只做局部教学。传统书籍教学中,学生无法整体宏观地理解书籍装帧设计的整体性,经常陷入设计误区中,导致书装设计局限于封面这个方寸之地,缺乏设计有机系统性。

误区二:顺应市场需求,书籍设计作品过分流于社会形式。因为是高职高专,针对的是社会最为直接的技术岗位,在教学中误认为,学生只掌握书籍装帧设计技术而忽略设计创意,因此设计出来的书籍俗不可耐,体现不出高职院校技术人才的才能与创意思维。

误区三:过于表达个性,忽略市场需求与当今低碳生活发展。传统书籍设计教学中,学生的发散性个性创意思维与市场、企业需求之间存在较大差异

三 书籍设计教学改革思路

针对三大误区,我们必须解决三个大的基本问题。首先,必须推广在有限的时间里对书籍设计的整体策划与把握的方案与思路。我们高职院校,甚至大部分的艺术类专业院校都是阶段性的教学模式,课时的有限性对书籍设计的质量提出挑战,在短期内有一个整体策划与把握变得非常重要。其次是必须建立以市场需求为导向的书籍设计教学。众所周知,书,设计出来的就是用来读的,是来满足于读者的消费要求的,读者的需求通过市场供求反映出来。而市场的需求大小,消费需求也有多少。如果设计出来的东西与市场相悖,就没有实际的价值与意义。必须建立一种“市场需求为导向,书籍整体策划为先行、以逻辑思维为过程,以整体形态创意为目的”的书籍形态新创意模式。通过市场需求,抓住消费者的消费观念及阅读习惯,从文化创意的形态设计整体策划策略、创意表现进行研究,并通过以市场需求为目标,尽可能与企业共同合作的工学结合的教学手段,在课程中结合社会实际需求项目,让学生获得适应市场需求的设计思维模式和技能,同时对书籍形态有一个全面、深入的了解。在这种模式下培养出来的书籍设计师,与岗位零距离,企业更乐意接纳他们。所以以市场需求为基准,来确定教学,这样更得教学的发展。再之,必须建立一种“低碳生活,从我做起”的设计理念。环保节能,在当今能量越来越少的形势下,在环境破坏越来越严重的情况下,节能环保在设计理念中,是一个重要的必须强调的一点。教学中需向学生重点强调:在表达创意个性设计过程中,不可忽略节能环保意识,也注重成本意识。

高职高专大都建立了工学结合的教学模式,项目式教学也取得一定成效。像平面广告设计,VI设计专业已经验证了这种模式的可行性,然而书籍设计至今为止,项目式教学比较难以实施,基本是流于形式,教学与市场往往相脱离。如何在有限的时间做好能适应市场需求的又具有个性的成本实在的书籍设计呢?

针对这个问题,提出我的几点建议。首先我们要突破传统书籍装帧设计中为设计而设计的单一平面设计模式,以市场需求为导向的书籍设计教学为切入点,把实际项目带进课堂,利用教学上的优势,分阶段、有针对性地进行书籍策划、定位、具体方案的实施。针对高职教育的特点,及人才市场需求,在教学上进行大胆的尝试,从学生将来的就业岗位出发,把书籍设计相关职业岗位的工作流程带进课堂,培养学生具备适应该岗位的能力,使设计具有现实的市场价值。第二,要针对市场需求进行分析归纳,提炼出适应于广大文化市场及读者普遍阅读需求的书籍文化创意模式,从内容到形式,整体统一。在设计中强调的不仅仅是书籍实用性、便于翻阅等功能,而且要美观独特。第三,把低碳环保理念与成本观念置入到课程中,情境化教学,运用多种教学手段,调动学生的学习主动性与积极性,对自身设计创意思维的开拓、提练并创作既有社会价值,也有艺术价值的书籍作品。

总之,推广以市场需求为导向的工学结合的书籍设计教学模式有着重要的现实意义。在教学过程中,老师以公司化的管理模式进行教学与管理,针对社会人才需求培养技术人才,符合高职的教育目标。学生把学习角色转换成工作角色,把设计过程当作实际工作过程,很快进入工作状态,有一定的岗位职责,从开始到结束都会严谨对待。学生在设计过程中懂得如何做出既符合市场需求又体现创意特色的书籍设计作品。这种思路使教学更符合现代文化创意需求的针对性,使校企合作往纵深发展,而不是停留于表面。通过具有针对性的创意和技能培训而使培养出来的学生能胜任书籍设计师及相关设计师等诸多职位的战略地位。这种思路使教学与市场需求思路更能一致化,使教学改革顺应文化产业发展方向与市场需求方向相一致,缩小校企差异,共同深化。

作者简介:

蒋玖荣[1972-],湖南道县人,湖南师范大学硕士研究生毕业,广东文艺职业学院,讲师。

1、想象

想象是构思的基点,想象以造型的知觉为中心,能产生明确的有意味形象。我们所说的灵感,也就是知识与想象的积累与结晶,它对设计构思是一个开窍的源泉。

2、舍弃

构思的过程往往“叠加容易,舍弃难”,构思时往往想得很多,堆砌得很多,对多余的细节爱不忍弃。张光宇先生说“多做减法,少做加法”,就是真切的经验之谈。对不重要的、可有可无的形象与细节,坚决忍痛割爱。

3、象征

象征性的手法是艺术表现最得力的语言,用具象形象来表达抽象的概念或意境,也可用抽象的形象来意喻表达具体的事物,都能为人们所接受。

4、探索创新

流行的形式、常用的手法、俗套的语言要尽可能避开不用;熟悉的构思方法,常见的构图,习惯性的技巧,都是创新构思表现的大敌。构思要新颖,就需要不落俗套,标新立异。要有创新的构思就必须有孜孜不倦的探索精神。

以上就是关于有哪些适合程序员入门的设计类书籍全部的内容,包括:有哪些适合程序员入门的设计类书籍、书籍的版式设计用什么软件、用VisualC++写一个图书管理系统的程序设计,我是大一非专业的,所以要尽量简单易懂的,求高手,求速度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10168169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存