设计一个学生的学分管理程序

设计一个学生的学分管理程序,第1张

大一时自己写的一个东西。。。很简单的一个,不要笑。。你的那个太难了。。

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

#include<ctype.h>

#include<string.h>

struct student{

int num

char name[10]

int yuwen

int shuxue

int yingyu

int kexue

int sum

}record[50]

void readin()

void display()

void find()

void order()

void add()

void del()

int menu_select()

int m=5

extern float sum1 =0

extern float sum2=0

extern float sum3=0

extern float sum4 =0

extern int w = 0

void main()

{

for(){

switch(menu_select()){

case 1:

readin()

break

case 2:

display()

break

case 3:

order()

break

case 4:

find()

break

case 5:

add()

break

case 6:

del()

break

case 7:

printf("Goodbye!\n")

exit(0)

}

}

}

//菜单选择

int menu_select()

{

char s

int cn

printf("1.输入5个人的数据\n")

printf("2.显示数据\n")

printf("3.数据排序\n")

printf("4.查询数据\n")

printf("5.增加数据\n")

printf("6.删除数据\n")

printf("7.Goodbye\n")

printf("Input 1-7:")

do{

s=getchar()

cn=int(s)-48

}while(cn<0||cn>7)

return cn

}

//显示数据

void display()

{

char *c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"}

char *d[1]={"平均成绩"}

int i

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6])

sum1 = 0

sum2 = 0

sum3 = 0

sum4 = 0

for(i=0i<50i++)

{

record[i].sum=0

record[i].sum=record[i].sum+record[i].yuwen+record[i].shuxue+record[i].yingyu+record[i].kexue

if(record[i].sum==0) break

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i].num,record[i].name,record[i].yuwen,record[i].shuxue,record[i].yingyu,record[i].kexue,record[i].sum)

sum1=sum1+record[i].yuwen

sum2=sum2+record[i].shuxue

sum3=sum3+record[i].yingyu

sum4=sum4+record[i].kexue

}

w = i+1

record[i+1].sum = 0

printf("\n%8s\t\t\t %3.1f%3.1f%3.1f%3.1f",d[0],sum1/m,sum2/m,sum3/m,sum4/m)

printf("\n")

}

//输入数据

void readin()

{

char ch[10]

int i

printf("输入数据\n")

for(i=0i<5i++)

{

printf("学号:")

scanf("%d",&record[i].num)

printf("姓名:")

getchar()

gets(ch)

strcpy(record[i].name,ch)

printf("语文:")

scanf("%d",&record[i].yuwen)

printf("数学:")

scanf("%d",&record[i].shuxue)

printf("英语:")

scanf("%d",&record[i].yingyu)

printf("科学:")

scanf("%d",&record[i].kexue)

}

printf("输入结束!\n")

}

//排序

void order()

{

struct student t

int i,j

char *c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"}

char *d[1]={"平均成绩"}

for(i=0i<50i++)

{

record[i].sum=record[i].yuwen+record[i].shuxue+record[i].yingyu+record[i].kexue

if(record[i].sum==0) break

}

for(i=0i<wi++)

{

if(record[i].sum==0) break

for(j=0j<50j++){

if(record[i].sum>record[j].sum)

{

t=record[i]

record[i]=record[j]

record[j]=t

}

}

}

printf("\n")

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6])

for(i=0i<50i++)

{

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i].num,record[i].name,record[i].yuwen,record[i].shuxue,record[i].yingyu,record[i].kexue,record[i].sum)

if(record[i+1].sum==0) break

}

printf("\n%8s\t\t\t %3.1f%3.1f%3.1f%3.1f",d[0],sum1/m,sum2/m,sum3/m,sum4/m)

printf("\n")

}

//查询

void find()

{

int i

char na[10]

printf("\n查询姓名:")

gets(na)

gets(na)

for(i=0i<50i++)

{

if(record[i].sum == 0)

break

if(strcmp(na,record[i].name)==0)

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d\n",record[i].num,record[i].name,record[i].yuwen,record[i].shuxue,record[i].yingyu,record[i].kexue,record[i].sum)

}

}

//删除

void del()

{

int i,j

char ma[10]

char *c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"}

char *d[1]={"平均成绩"}

printf("请输入要删除的姓名:")

gets(ma)

gets(ma)

for(j=0j<50j++)

{

if(strcmp(ma,record[j].name)==0)

{ m=m-1

if(m<=0) break

for(i=ji<50i++)

{

record[i].num=record[i+1].num

strcpy(record[i].name,record[i+1].name)

record[i].yuwen=record[i+1].yuwen

record[i].shuxue=record[i+1].shuxue

record[i].yingyu=record[i+1].yingyu

record[i].kexue=record[i+1].kexue

record[i].sum=record[i+1].sum

}

}

}

sum1 =0

sum2 =0

sum3 =0

sum4 =0

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6])

for(i=0i<50i++)

{

record[i].sum=0

record[i].sum=record[i].sum+record[i].yuwen+record[i].shuxue+record[i].yingyu+record[i].kexue

if(record[i].sum==0) break

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i].num,record[i].name,record[i].yuwen,record[i].shuxue,record[i].yingyu,record[i].kexue,record[i].sum)

sum1=sum1+record[i].yuwen

sum2=sum2+record[i].shuxue

sum3=sum3+record[i].yingyu

sum4=sum4+record[i].kexue

}

printf("\n%8s\t\t\t %3.1f%3.1f%3.1f%3.1f",d[0],sum1/m,sum2/m,sum3/m,sum4/m)

printf("\n")

}

//增加

void add()

{

int i,k

char ch[20]

char *c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"}

char *d[1]={"平均成绩"}

printf("你要增加的人数:")

scanf("%d",&k)

for(i=0i<ki++)

{

printf("学号:")

scanf("%d",&record[m+i].num)

printf("姓名:")gets(ch)

strcpy(record[m+i].name,gets(ch))

printf("语文:")

scanf("%d",&record[m+i].yuwen)

printf("数学:")

scanf("%d",&record[m+i].shuxue)

printf("英语:")

scanf("%d",&record[m+i].yingyu)

printf("科学:")

scanf("%d",&record[m+i].kexue)

}

m=m+k

w = w+k

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6])

sum1 =0

sum2 =0

sum3 =0

sum4 =0

for(i=0i<50i++)

{

record[i].sum=record[i].yuwen+record[i].shuxue+record[i].yingyu+record[i].kexue

if(record[i].sum==0) break

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i].num,record[i].name,record[i].yuwen,record[i].shuxue,record[i].yingyu,record[i].kexue,record[i].sum)

sum1=sum1+record[i].yuwen

sum2=sum2+record[i].shuxue

sum3=sum3+record[i].yingyu

sum4=sum4+record[i].kexue

}

printf("\n%8s\t\t\t %3.1f%3.1f%3.1f%3.1f",d[0],sum1/m,sum2/m,sum3/m,sum4/m)

printf("\n")

}

“Design management is the effective deployment by project managers of design resources available to an organization in the pursuance of its corporate objectives.”----Peter Gorb.

--“设计管理是由项目经理组织在其企业目标的依据设计资源的有效部署。”----彼得Gorb。

“项目经理为了实现共同目标,对现有的可资利用的设计资源进行有效的调用”

这是Ron Newman先生较为推崇的一个关于设计管理的观点。当然,Ron Newman先生还介绍了其它的17种观点。限于篇幅,在此不作一一陈列。我援引DMJ(Design Managenment Journal)编辑Thomas Walton对这18种看法的归纳如下:

※ 设计就是想象力----有策略的管理设计,把设计管理当作实现梦想的具有远见性的领导者。

※ 一般来说,组织本身就有平衡幻想与事实的功能。

※ 超越价值管理的界限,设计管理其实是态度管理。它描述了公司的特征和现象----好的设计管理能了解组织的特性并传达看法。

※ 设计管理是核心策略,创办人帮助最后的使用者了解公司。

※ 设计管理从对公司有利的建议入手,它与实际相联系,如想象、任务、目标、战略和行为计划。

这样的表述似乎不太符合我们的习惯。在学习期间就有学员强烈的希望得到一个确切的关于设计管理的定义,以便于传达。但实际上这很难。我觉得这里有一个观念转换的问题。不是所有的事物都可以给一个明确的定义的,很多时候,我们会发现描述比界定简单得多。设计管理也属于这一类。但仍然有勉为其难而且不错的定义,比如:

※ 设计管理是完成设计合作计划的核心部分,它是运转设计资源的一套知识体系,包括设计计划、组织系统、设计人员、评估机构等等。

---- Kono Noboru(日本合作策略学家)

※ 设计管理是一个正式程序设计活动的完成,在公司内通过长期合作项目的沟通来调节设计资源,以使所有合作活动达到一定水准。

----Robert Blaich(前Herman Miller、Philips设计主管)

※ 设计管理是一个研究领域,它把设计管理作为一个管理的战略工具,研究管理者、设计师和专家的知识结构,用以实现组织目标并创造有生命力的产品。设计管理旨在有组织地联合创造性及合理性去完成组织战略,并最终为促进环境文化做出贡献。

----郑庆源(韩国产业设计振兴院院长)

Ron Newman先生的一个图示也很有意思。在这个图示中,设计师处于设计管理的核心位置,我们可以理解为内部核心资源。在设计师的四周排布的是设计、客户、文化和市场,代表设计管理的外围资源。我认为可以作这样理解:设计管理实际上就是以设计师为核心并协调其与设计、客户、文化和市场关系的行为系统。但值得注意的是,即使是同时作为外围资源的设计、客户、文化与市场,其扮演的角色地位是不一样的。设计处在最上面,适当的表明了设计在整个管理过程中的重要性。这让我想起课程中的一个公式:

Good Design = Good process = Art

设计管理是对设计过程的控制,好的设计是产生好的过程的前提,而当过程控制达到“美妙”的境界,设计管理就成了一个艺术行为。不管是站在设计师的角度,还是客户的角度,对好的设计品质似乎没有争议。作为核心的“人”是设计师,作为中心的“事”是设计,这就是设计管理;文化被作为基础的东西放在了整个系统的最下方,其用意似乎不言而喻。应该说,正是不同的文化影响着不同的市场和客户,进而影响与之相适应的设计,包括设计师本身。文化成了系统中最顽固的形态,其特征还表现在它的隐藏性(更多的以一种含蓄的方式被体验)、广泛性(几乎涉及行为的每个部分)、基础性(积淀特征决定的作用体现)。这也成为设计管理指导实践需要完成的最为困难的一个环节----与本土文化的融合;市场和客户位居左右,大概是因为二者也一定程度上“左右”设计管理的缘故吧。然后全面的看一看,图示已经清晰而完整的展示了设计管理的资源结构。

很多的学员都认为在定义的问题上纠缠太多没有必要,笔者也有同感。又花如此的笔墨讨论定义是因为想借此论述扩大对设计管理的接触面,为后面的阐述铺垫。也许需要理解的就是那么几点:

目标:完成既定的设计计划,使设计价值最大化。

方式:计划(项目)、组织(结构)、协调(资源)、控制(进程)、评估(绩效)。

内容:管—管人,协调设计资源,主要是设计师。理—理财,管理设计过程的财务。

标准:设计管理的最高境界就是让所有的问题在当时的环境下圆满解决。

问题:容易与品牌管理、商业管理混淆。

三、 设计管理培养的能力

我比较现实的去考虑这门课程带给我的体验与收获,这就是可以概念化的能力清单。但事实上,当我这么想的时候,就注定要承受失望。但不至于绝望的是我看到了邓成连先生的《设计管理课程与教学探索》一文关于设计管理能力的论述:

设计管理课程旨在让学生了解:影响创造与创新的要素;产品与生产、设计间之相关性;设计程序并对设计提供支援系统;工业创新者与工业设计师所从事工作之性质,以及与设计相关的各种法律保护。

进一步培养学生具有下列之能力:

※ 拟定设计策略之能力;

※ 决定设计政策之能力;

※ 撰写设计专案规范之能力;

※ 监督与控制设计专案进度之能力;

※ 界定、分析设计问题,评估设计资讯及评价研究方法之能力;

※ 选择设计师之能力等。总体而言,设计管理课程之目标在培养学生的设计企划、设计控制与设计执行管理等管理设计的能力,其中未涵盖设计组织,且并非在培养学生的设计执行能力。

实际上,由此能力的陈列可以指引设计管理的另一方面的内容—设计管理的过程。因为我发现,每一种能力的培养正好对应了设计管理的一个方面。Ron Newman先生的课程十分感性,因此很难找到明晰的设计管理程序的阐述。现实的设计管理项目也的确无法断然地分为若干个部分。但是,即使如此,从理想的层面对整个过程的任务进行“块化”也决非完全不可能。许多的管理人在这方面作了努力,比较公认的方案是:设计计划,设计组织,设计监督,设计控制。(关于具体的程序后面有专门章节讨论)

设计计划为整个项目确立最终目标和项目过程设计(拟定设计策略之能力/撰写设计专案规范之能力);

设计组织为项目确定行为主体(选择设计师之能力);

设计监督应该包含评价和敦促两个方面(界定、分析设计问题,评估设计资讯及评价研究方法之能力);

设计控制注重整个设计活动的进程以及是否和项目的目标保持一致(决定设计政策之能力/监督与控制设计专案进度之能力)。

在现实执行中,这四个部分总是互相交织,互动相生。设计计划在最早被提出,但它的作用将贯穿项目始终。设计组织在计划中需要被提出,然后实施,一般来说需要具有一定的稳定性,以保证项目的一致性。设计监督和控制从项目确立的时候就同步开始,类似船长的角色保证项目不偏离既定的航线。四者总是互相联系,不可分割。

四、 好的设计

在好的设计管理被认识以前,讨论一下什么是好的设计实属必要,因为无论对于设计师或者单纯管理背景的管理者来说都是介入设计管理的一个重要前提。其实在不同的人的心中,对好的设计都有自己的衡量标准。笔者的希望是能在获得公认的好的设计品质方面进行探索。

首先是什么是设计?这也是Ron Newman先生课程的讨论课题,下面是一些典型的看法。

我注意到上述表达中所使用的关键语汇:服务、生活方式、合适、解决方案、策略、计划等对设计特征的描绘,基本都能为大众所理解。笔者在上课的过程中也多次被学生问起同样的问题,我的解释是“设想(idea)与计划(plan)”,包含静态与动态的表达两个方面。这里有一个需要注意的问题,没有必要把设计的范畴作无所不包的泛化。设计就是设计,它是一种意念,一种方法。在我们研究设计管理的时候也是如此,正如曾辉先生所言设计管理也不是一个无所不能的形态,主观地泛化概念只能带来理解和实践上的混乱。

承接上面的描述,“好设计”就是好的设想与好的计划。但是关于“好”的界定是什么呢?Ron Newman先生呈现了一个图示(见左图)。很明显这是一套关于好的设计的价值评判指标。基本点是“利益”,分别是在领域内设计事务所的利益,客户的利益,社会整体的利益。交汇的地方代表影响设计师工作的因素----设计师本身的热情,客户的信任,对社会的责任。在这里,好的设计就是平衡了设计师、客户与社会的利益的设计。这样的说法很完美,离实践却很远。

相对“利益说”的认为,我比较接受能ALESSI的阐述。ALESSI相信人们与生俱来的拥有对艺术、诗歌的潜在的需求。但是他认为现在的很多的大批量生产工业并没有考虑这一点。设计在这样的工业中被看成是市场和科技的工具。设计的作用被无情的降低,企业热衷于生产低成本的,更实用的,大批量的产品。在这些产品中,设计只是一种美化产品外观,吸引消费者的手段,“调味品”。ALESSI和许多的意大利的工厂不同意这种方式,而是把设计预想为“艺术与诗歌”,这几乎成了这些工厂的核心理念和策略。因为ALESSI相信当人们从保守的限制中走出来的时候,必然意识到自己对艺术与诗歌的渴望。而我们整个工业系统正在冒险地生产大量平凡,没有感情的产品。我们要庆幸ALESSI和许多的意大利的工厂长期相信并保有对设计尊重,所以今天我们才能看到那么多的堪称经典动人心魄的意大利设计。

不久前,笔者进行了一个关于“好设计”的调研,被调查对象包括设计师,企业管理者,学生,消费者等等。经过整理,一些“好设计”的特质被提炼出来,如下:

为谁设计

良好的利益

感动

设计以外的东西

导向,新的生活方式

民族性与世界性

沟通 交流

满足隐藏的内心的需求

环保

接下来依据被提及的次数多少作了一个排序,排在前三位的分别是:感动,导向与新的生活方式,良好的利益。最后的一个工作是进行归纳。“好设计”被界定为:

情感的(无论是设计师还是使用者都能感受到的情感)

未来的(提供新的生活方式的指引)

利益的(平衡企业,消费者,设计师利益的)

平等的(保有对人类的尊重,设计提供帮助,但不使我们沦为奴隶。)

社会的(关于设计的良心)

个性的(允许设计师和消费者保持的特质)

丰富的(物超所值。对设计本身而言,成为时代的烙印)

下面谈谈我的看法:

我以为一个好的设计首先是满足设计师的愉悦感。这种愉悦来自设计本身对设计师的打动,即设计师认为好的意念得到了实现。之所以将设计师的感受作为第一个标准,因为我坚信,没有打动设计师自己的设计不具备作为备选好的设计的资格。

其次,好的设计面对生活。在设计的过程中,我们时时能感受到这样的矛盾:设计师的自由意念与限制在激烈斗争。但在确认限制来源的时候,我们往往只看到表层,多数时候我们把这种限制归结于我们的客户和市场,而客户往往并不能给我们正确的建议。我更主张把设计限制延伸到生活的领域。从这个意义上来说,笔者更倾向于将设计定义为一种生活方式。这里的生活又有两个层面:现实的功能层面和理想的哲学层面,分别指向设计的实用性与未来性。好的设计,致力于生活品质的提升,生活方式的丰富与行为方式的合理化。

再次,好的设计等于好的生意(Good Design=Good Business)。这是来自Thomas Watson的妙论。好的设计必须经历至少三个方面的考验:设计师的感受,市场的接受与未来的变化。其中市场的考验最为直接,依靠生产数量与销售额等明确的数据来验证设计的市场品质。这些数据影响着设计的生命,至关重要。

第四,好的设计面向未来。Charles Eames关于好的设计也有自己的看法,其中,我认为最重要的一点就是设计的未来(How is it going to look in ten years?)。Charles Eames认为时间是一个检验设计很好的手段,但我觉得他真正想表述的是关于设计面向未来的问题。十年以后,设计的环境会发生很大的变化。文化的,审美的,材料的,工艺的……好的设计赋予产品未来的品质,基于对未来的展望所确立的品质。

关于好的设计还有许多的阐述,难以尽言。真正赋予设计上述品质还是一个艰巨的工作,需要一份设计特有的执著。最后用Charles Eames的话结束关于好的设计的单元:

五、 设计管理的程序(Work program)

首先阐述一个非常矛盾的问题:管理的一个重要特征就是解决非程序化问题,但是在这里我们却在谈论设计管理的程序,多少显得有些冲突。为了避免理解上的偏差,笔者有必要作一些解释。此节探讨的程序,指的是基于设计管理系统的结构程序。退一步说,如果没有程序的建立,也谈不上“非程序”的应用。

Ron Newman先生多次强调程序的重要性。通过阐述他的实际经验,关于设计管理的程序问题。但实际结果是因为我们的急功近利使得他的阐述过于细节化,陷入了散乱而具体的纠缠,失去了对整体设计程序的把握。另外,在讲授的过程中,程序的载体游离于设计公司与纯粹的企业之间,也给设计管理程序带来理解上的混沌,但也许这正是Ron Newman先生希望的。因为他一直强调质疑,混沌,希望观点的碰撞。

我们需要先明白程序的作用。Trevor L Young的阐述是我比较推崇的:

One of the major contributors to success in all projects is for everyone involved to accept the discipline of using a common set of processes and procedures. This makes the sharing of information considerably easier,particularly when working across different sites and countries. Ideally this should extend also to using common computer software for data recording and scheduling. The combined result is the creation of a common,shared “language” in the team that saves much time with the improved communication this brings.

Trevor L Young强调程序产生了便于项目成员交流的“语言”,从而实现时间和资源的节省。设计项目最初的来源可能只是一个模糊的想法,是生活的启示,或者其它不确定的意向。而这样的想法可能很多,而真正能被确立的却是少数,最终成功的可能更少,甚至没有。这就需要对这些想法进行辨识审查,寻找好的设计项目。这也是设计管理第一个阶段--设计项目确立的主要任务。PST(Programme &Project steering team程序与项目管理小组)决定项目的选择,主要的依据有:是否能实现利润的最大化;是否能保持、巩固以及开拓新的市场份额;是否能尽用现有人力资源;是否能控制风险;是否符合公司的技能与经验对应的承受能力等等。

在设计项目开始之前,还有一个重要的问题需要明晰,这就是审查项目小组现有的信息,确保项目从一开始就沿着正确的方向前进。这些信息包括:

谁是设计项目的发起者;

谁是客户以及间接客户;

谁将使用此设计的成果;

设计项目小组的初步候选人;

可能影响设计项目的其他人---利益共享者;

在项目得到确定以后,制定设计管理计划是一个非常必要的工作。中国有句老话“凡事预则立,不预则废”恰当地表达出计划的重要性。以笔者曾经的一些制定设计计划的实践为例:首先明确列出整个设计管理的任务和时间;接下来的工作是细化(分化)任务,也就是将任务分解。分解的办法有两个,一是按照时间分解,大致确定某一时间段内的任务。这一点要考虑任务的前后结构关系;另外就是按照任务的构成分解,主要考虑合理利用人力资源;第三步是分析资源需求。明确项目过程中可能涉及到的资源,考虑解决办法。第四步是风险预测,并且找到规避风险的途径。第五步是明确职责所在,每一个组员的工作应该被写进计划。第六步是优化管理计划,细化时间计划。制作详细的甘特图日程表,设计管理计划总表,工作细化以及职责分配表,监控程序图等图表。重大事件与交流计划也应该被注意。

在制定计划的过程中,应该听取组员的意见,同时设计管理者也必须建立相对的管理权威,形成自己的管理风格。比制定计划更重要事情就是让你的组员理解并支持它。因此设计管理计划的传达也是一个不可忽视的环节。


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

原文地址: http://outofmemory.cn/yw/11493028.html

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

发表评论

登录后才能评论

评论列表(0条)

保存