当前位置:首页 » 课程大全 » 数据与计算课程设计

数据与计算课程设计

发布时间: 2021-02-15 06:51:07

A. 求数据结构课程设计 算数表达式报告及C语言源代码

ok 目标已完成

B. 数据结构课程设计:电费核算系统

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
一、数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:
1.集合结构
数据结构中的元素之间除了"同属一个集合" 的相互关系外,别无其他关系;
2.线性结构
数据结构中的元素存在一对一的相互关系;
3.树形结构
数据结构中的元素存在一对多的相互关系;
4.图形结构
数据结构中的元素存在多对多的相互关系。
二、数据的物理结构:指数据的逻辑结构在计算机存储空间的存放形式。
数据的物理结构是数据结构在计算机存储器中的具体实现,是逻辑结构的表示(又称存储映像),它包括数据元素的机内表示和关系的机内表示。由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。
数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。
关系的机内表示(映像方法):数据元素之间的关系的机内表示可以分为顺序映像和非顺序映像,常用两种存储结构:顺序存储结构和链式存储结构。顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。

C. 求一篇关于数据分析的课程设计论文

希望能够帮到你:毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文,我们拿“机械毕业设计”举例:随着科技发展的进步,各大高校对机械毕业设计的内容提出了一定的要求,2004年以前设计内容一般包括:毕业设计图纸+说明书(毕业论文),2005年以后国家教育部门提出新的要求,结合工厂需求加入了三维设计,模拟仿真,及程序分析研究。其中包括:毕业设计图纸(三维“UG ,PRO/E,CAM,CAXA,SWOLIDWORD”+CAD二维工程图)+开题报告+任务书+实习报告+说明书正文。这足够的说明了做一份优质的毕业设计是要付出相当的努力!
高等学校技术科学专业及其他需培养设计能力的专业或学科应届毕业生的总结性独立作业。要求学生针对某一课题,综合运用本专业有关课程的理论和技术,作出解决实际问题的设计。毕业设计是高等学校教学过程的重要环节之一。相当于一般高等学校的毕业论文。目的是总结检查学生在校期间的学习成果,是评定毕业成绩的重要依据;同时,通过毕业设计,也使学生对某一课题作专门深入系统的研究,巩固、扩大、加深已有知识,培养综合运用已有知识独立解决问题的能力。毕业设计也是学生走上国家建设岗位前的一次重要的实习。
一些国家根据学生的毕业设计,授予一定的学衔。如建筑师、农艺师、摄影师等。中国把毕业设计和毕业考试结合起来,作为授予学士学位的依据。
目的要求
目的
毕业设计公开答辩会
毕业设计公开答辩会
(1)培养学生综合运用所学知识,结合实际独立完成课题的工作能力。
(2)对学生的知识面,掌握知识的深度,运用理论结合实际去处理问题的能力,实验能力,外语水平,计算机运用水平,书面及口头表达能力进行考核。
要求
(1)要求一定要有结合实际的某项具体项目的设计或对某具体课题进行有独立见解的论证,并要求技术含量较高;
(2)设计或论文应该在教学计划所规定的时限内完成;
(3)书面材料:框架及字数应符合规定。
基本步骤
编辑
确定课题
选题是毕业设计的关健。一个良好的课题,能强化理论知识及实践技能,使学生充分发挥其创造力,圆满地完成毕业设计。
毕业设计的课题可从以下几个方面综合考虑:
(1)有利于综合学生所学知识。
(2)能结合学科特点。
(3)尽可能联系实际。
(4)有一定的应用价值。
根据以上要求,可以考虑从下面一些角度挖掘课题:
(1)学科教学的延伸。例如:结合电气控制线路,要求学生设计机械动力头控制电路并安装调试。结合数字电
路进行逻辑电路的设计与装接。
(2)多学科的综合。结合某专业学科确定一个综合课题,假如课题较大,可分解为几个子课题,交由不同的小组完成,最后再整合成一个完整的课题。例如,机电专业可设计以下课题:大型城市的交通信号灯指示。这个课题就可分为以下两个子课题:PLC控制的信号灯显示、信号长短计时的时钟电路。
(3)结合生产实际。学校可以和一些单位联合,共同开发一批有实用价值、适合学生设计的课题,甚至可以以某些单位的某项生产任务作为设计课题。学校应注重课题资料的积累,尽量选取最适合教学内容又贴近生产实际的课题,完成资料库的建设,为今后课题的不断完善创造良好的基础。
项目分析
毕业设计需对一个即将进行开发的项目的一部份进行系统分析(需求分析,平台选型,分块,设计部分模块的细化)。这类论文的重点是收集整理应用项目的背景分析,需求分析,平台选型,总体设计(分块),设计部分模块的细化,使用的开发工具的内容。论文结构一般安排如下: 1)引言(重点描述应用项目背景,项目开发特色,工作难度等) ;2)项目分析设计(重点描述项目的整体框架,功能说明,开发工具简介等);3)项目实现(重点描述数据库设计结果,代码开发原理和过程,实现中遇到和解决的主要问题,项目今后的维护和改进等,此部分可安排两到三节);4)结束语。
指导设计
指导教师布置给学生任务后,要指导学生分析课题,确定设计思路,充分利用技术资料,注重设计方法和合理使用工具书。学生设计时应注重理论与实际的差距,充分考虑设计的可行性。指导教师要注重学生完成任务的质量和速度,及时指出其存在的不足,启发其独立思考。在设计过程中,应指导学生养成良好的安全意识和严谨的工作作风。设计完成后应撰写毕业设计论文,对自己的设计过程作全面的总结。
组织答辨
答辨是检查学生毕业设计质量的一场“口试”。通过这一形式,有助于学生进一步总结设计过程,检验
毕业设计论文及图纸
毕业设计论文及图纸
其应变能力及自信心,为真正走上社会打下坚实的基础。答辩主要考查学生的一些专业基础知识和基本理论。答辩的过程实际上也是帮助学生总结的过程。教师要积极引导学生总结在设计过程中积累起来的经验,分析设计效果,找出不足以及改进方法,帮助学生把实践转化成自己的知识和技能。通过答辩,也有助于学生提高应变能力及自信心,为真正走上社会打下坚实的基础。评定成绩
评定成绩的根据主要有两个方面:一是毕业设计的质量;二是答辩的表现,而答辩的表现不低于毕业设计的质量。
优秀:按期圆满完成任务书中规定的项目;能熟练地综合运用所学理论和专业知识;有结合实际的某项具体项目的设计或对某具体课题进行有独立见解的论证,并有较高技术含量。立论正确
,计算、分析、实验正确、严谨,结论合理,独立工作能力较强,科学作风严谨;毕业设计(论文)有一些独到之处,水平较高。
良好:按期圆满完成任务书中规定的项目;能较好地运用所学理论和专业知识;有一定的结合实际的某项具体项目的设计或对某具体课题进行有独立见解的论证,并有一定的技术含量。立论正确
水平。
及格:在指导教师的具体帮助下,能按期完成任务,独立工作能力较差且有一些小的疏
,计算、分析、实验正确,结论合理;有一定的独立工作能为,科学作风好;设计〈论文〉有一定的
忽和遗漏;能结合实际的某项具体项目的设计或对某具体课题进行有独立见解的论证,但技术含量不高。
在运用理论和专业知识中,没有大的原则性错误;论点、论据基本成立,计算、分析、实验基本正确。毕业设计(论文)基本符合要求。
不及格:任务书规定的项目未按期完成;或基本概念和基本技能未掌握。没有本人结合实际的具体设计内容或独立见解的论证,只是一些文件、资料内容的摘抄。毕业设计(论文)未达到最低要求。
设计环节
编辑
实践环节
1、计算机专业实践环节形式:毕业设计
2、毕业论文实践环节应注意的事项:
(1)、“毕业论文”实践环节在全部毕业学分中占有一定学分;
(2)、“毕业论文”实践环节从起步到毕业答辩结束历时至少4周以上;
(3)、“毕业论文”实践环节包括两部分内容:①完成“毕业论文”所开发的应用程序;②针对所开发的应用程序书写“毕业论文”说明书(即论文);
3、毕业论文实践环节应先完成的工作在毕业论文实践环节之前,应向有关主管设计工作的单位或老师上报如下材料:
(1)《毕业论文实践环节安排意见》(包括领导小组名单,毕业班专业、级别、性质、工作计划安排、实践环节工作步骤,指导教师名单,学生分组名单);
(2)《毕业论文(论文)审批表》一式两份(要求认真审核、填写指导教师资格,包括职称、从事专业、有何论著,每人指导学生不得超过一定人数,兼职(或业余)指导教师指导学生数根据情况酌减)。
4、关于“毕业论文”工作的过程步骤:
(1)、“毕业论文”题目的选择选题时应遵循以下原则:
①选题必须符合计算机专业的综合培养要求;
②应尽可能选择工程性较强的课题,以保证有足够的工程训练;
③毕业论文工作要有一定的编程量要求,以保证有明确的工作成果;
④选题原则上一人一题,结合较大型任务的课题,每个学生必须有毕业论文的独立子课题;
⑤选题应尽量结合本地、本单位的教学、科研、技术开发项目,在实际环境中进行。
总之选题要体现综合性原则、实用性原则、先进性原则、量力性原则等选题时要达到以下目标:
①选题与要求提高综合运用专业知识分析和解决问题的能力;
②掌握文献检索、资料查询的基该方法和获取新知识的能力;
③掌握软硬件或应用系统的设计开发能力;
④提高书面和口头表达能力;
⑤提高协作配合工作的能力。
(2)、“毕业论文”题目审核有关单位将毕业学生选择的题目填写在同一个“毕业论文(论文)审批表”中的“毕业论文安排表”相应栏目中,审核通过后方可开展下一步工作。
应用程序开发实施
(3)、“毕业论文”应用程序开发实施(大致用时安排)
①需求分析阶段(约一周时间完成)
②系统分析阶段(约一周时间完成),同时完成毕业论文说明书前两章资料整理工作。
③系统设计阶段(约一周时间完成)
④代码实现阶段(约三周时间完成)同时完成毕业论文说明书第三章、第四章资料整理工作。
⑤系统调试阶段(约二周时间完成),同时完成毕业论文说明书第五章资料整理工作。
⑥投入运行阶段(约一周时间完成),同时完成毕业论文说明书中第六章资料整理工作。
⑦毕业论文说明书的整理定稿阶段(约二周时间完成)
设计大纲
编辑
一、实习(调研)的目的
实习(调研)是培养学生工程意识和实践能力、实现专业培养目标的重要实践性教学环节,通过实习(调研),使学生受到以下几方面的训练。
1.理论联系实际,将书本知识融会贯通,形成个人在某一领域或某一方面的知识体系,并了解这些知识体系在工程中的应用。加强在工程实践中发现问题、解决问题的能力,以及创新能力的培养和训练。
2.实现专业培养目标,熟悉相关技术领域的工程设施与相关的设备,了解工程项目的设计思路与过程。
3.本学院的毕业实习和毕业设计实行捆绑制。通过实习(调研)为毕业设计做准备,在资料收集、方案确定、资料查询等环节获得必要的训练。也可根据实习单位的具体情况,初选毕业设计题目。
4.受到适应现场、社会活动与人际交往能力方面的训练,提高综合素质。
二、实习(调研)内容与要求
1.了解毕业设计课题研究的对象及生产、科研的实际,加强理论与实际的联系,培养深入实际调查研究的作风,提高工程技术素质。
2.独立深入到与毕业设计课题有关的单位、部门了解课题的来源及提出的依据,了解与毕业设计课题有关的生产设备、生产过程、检测手段、生产特点的实际知识。收集有关的数据、图表、文献、资料,并进行分析、归纳、整理及研究,对课题设计方案起到指导作用。
3.调研要有记录。学生在实习结束后,均需按规定的格式提交书面的毕业实习报告,实习报告要求格式统一(封面、内容格式均需统一),字数在5000字以上。
三、实习时间及分配
见“电气工程与自动化学院关于06届毕业实习与设计工作安排”(2005年1月9日文件)。
四、考核内容和方式
实习考核内容包括下列各项:
1.对于导师安排进行调研的学生,考核其调研记录。对于在现场实习的学生,考核其实习日记与实习单位的鉴定与证明。
2.书面实习报告。
结合上述各项情况,由指导老师按五级记分制(优、良、中、及格、不及格)给出恰当的成绩。
(五)实习(调研)注意事项
1.应遵守实习(调研)单位的规定及指导,遵守实习单位的劳动纪律。
2.实习(调研)过程中,要文明礼貌,勤学好问,谦虚谨慎。
3.旅途过程中,要注意安全,要有自我保护意识。

D. 求 机械设计基础 课程设计的数据计算 数据已给

╮(╯▽╰)╭,N多年来前做过,毕源业时候都扔掉了。

记得书上有例子,照着计算就行了,自己动手做一遍还是个很不错的经历。

过了6,7年了,做的参数,过程什么的都不记得了,就怀念当时的气氛,紧张和投入。回想起来还是个很不错的经历。如果你交给别人做了,你浪费掉的时间若干年后什么也回想不起来。

我建议你还是自己做吧

E. 数据结构与算法课程设计求助

看上去有点象游戏引擎。
我最近也在研究这个。

不过,这是编译原理的范畴。

具体实现起来很复杂的,不过,可以给你一些大致的思路:

1、文本编辑器或者源代码读取程序(可以是用户输入或者从文件读入)
2、词法分析。(其实词法分析就是将各个元素比如变量、关键字、运算符等分离出来)
3、语法分析,语义分析。(其作用是生成语法树)
4、解释器,运行时环境。(维护程序运行时的环境,比如局部变量的建立、撤销;函数调用时环境的保存;堆、栈维护等。另外,还要提供固有命令(函数)的实现,就是说,用户调用了固有的命令时,将会发生什么。)

总的来说,很复杂的。这是一个很大的项目。别说200分,就是2000元,也很难找到。

推荐你看看编译原理(不过国内的编译原理的书籍,都只讲皮毛,要看就看英文的)另外,有一本《高级游戏脚本程序设计》不错。

再就是,你可以使用现成的语法分析生成器,比如:Lex+Yacc,不过需要修改生成的代码,才能在VC中使用。

F. 求一个《数据结构与算法分析》课程设计 交通咨询系统设计 问题描述见下 如果有帮助 还会加悬赏的

这其实很简单,强烈建议去看《Discrete Mathematics and Its Applications》(fifth edition),看图论那章,应该不是什么问题的。

G. 数据结构与算法课程设计——集合运算

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
struct set{
int coef;
struct set *next;
};

void createlist_p(struct set *&p,int n)
{
int i;
struct set *L;
p=(struct set *)malloc(sizeof(set));
p->next=NULL;
for(i=n;i>0;i--)
{
L=(struct set *)malloc(sizeof(set));
printf("请输入该集合中第%d个整数元素:",n-i+1);
scanf("%d",&L->coef);
L->next=p->next;
p->next=L;
}
}//生成新链表用于存放两集合中的元素
void printlist_p(struct set *&p)
{
struct set *L;
int i;
L=p->next;
if(!L) printf("该表为空!\n");
while(L!=NULL)
{
printf("%d ",L->coef);
L=L->next;
i++;
}
printf("\n");
}//打印输入的两集合中的元素
void Addset(struct set *&p,struct set *&q,struct set *&r)
{
struct set *k,*m,*n;
r=(struct set *)malloc(sizeof(set));
r->next=NULL;
k=p->next;
for(;k;)
{
m=(struct set *)malloc(sizeof(set));
m->next=r->next;
r->next=m;
m->coef=k->coef;
k=k->next;
}//把第一个集合中的元素放在新集合中
k=q->next;
m=(struct set *)malloc(sizeof(set));
m->next=r->next;
r->next=m;
m->coef=k->coef;
k=k->next;
for(;k;)
{
for(n=r->next;(k->coef!=n->coef)&&n->next;){
n=n->next;
}//与新集合中的元素比较
if((k->coef!=n->coef)&&!(n->next)){
m=(struct set *)malloc(sizeof(set));
m->next=r->next;
r->next=m;
m->coef=k->coef;
}
k=k->next;
}//对第二个集合中的元素进行分析

}//求A∪B
void Subset(struct set *&p,struct set *&q,struct set *&r){
struct set *k,*m,*n;
r=(struct set *)malloc(sizeof(set));
r->next=NULL;
n=q->next;
for(;n;){
m=p->next;
for(;(m->coef!=n->coef)&&m->next;){
m=m->next;
}
if(m->coef==n->coef) {
k=(struct set *)malloc(sizeof(set));
k->next=r->next;
r->next=k;
k->coef=m->coef;
}
n=n->next;
}

}//求A∩B
void Intset(struct set *&p,struct set *&q,struct set *&r){
struct set *k,*m,*n;
r=(struct set *)malloc(sizeof(set));
r->next=NULL;
m=p->next;
for(;m;){
n=q->next;
for(;(m->coef!=n->coef)&&n->next;){
n=n->next;
}
if(!n->next&&(m->coef!=n->coef)) {
k=(struct set *)malloc(sizeof(set));
k->next=r->next;
r->next=k;
k->coef=m->coef;
}
m=m->next;
}
}//求A-B
void bangzhu(){
printf("\n\t\t\t***********************************");
printf("\n\t\t\t* 求集合的交并差 *");
printf("\n\t\t\t*********************************\n");
}
void main()
{
struct set *p,*q,*r;
int m,n,node;
bangzhu();

for(;;)
{
do{
printf("请输入您要选择操作的代码:\n");
printf("1:求两集合的并A∪B\n");
printf("2:求两集合的交A∩B\n");
printf("3:求两集合的差A-B\n");
printf("0:退出该程序\n");
scanf("%d",&node);
} while(node<0||node>3);

if(node==0) exit(1);
printf("\t\t\t/*请输入集合A中元素的个数:*/\n");
scanf("%d",&m);
createlist_p(p,m);
printf("\t\t\t/*请输入集合B中元素的个数:*/\n");
scanf("%d",&n);
createlist_p(q,n);
printf("集合A中元素为:");
printlist_p(p);
printf("集合B中元素为:");
printlist_p(q);
while(node<0||node>3);
switch(node)
{
case 1: Addset( p,q,r);printf("A∪B:\n");printlist_p(r);break;
case 2: Subset( p,q,r);printf("A∩B:\n");printlist_p(r);break;
case 3: Intset(p,q,r); printf("A-B:\n");printlist_p(r);break;
}
printf("\n");
}
}
可以了
楼上方法是正确的,学习!把分给楼上

H. 算法与数据结构课程设计——迷你计算器,这个算法与程序怎么做

#include <stdio.h>#include <malloc.h> #include <math.h> #include <string.h> #include <ctype.h> #define M 40 /*定义堆栈*/ typedef struct{ double data[M]; int top; }Stack; /*初始化堆栈*/ InitStack(Stack *s) { s->top=0; } /*判断栈是否为空*/ int StEmpty(Stack *s) { if(s->top==0) { return 1; } else { return 0; } } /*入栈操作*/ StPush(Stack *s,double x) { if(s->top==M) { printf("The stack is overflow!"); } else { s->top=s->top+1; s->data[s->top]=x; } } /*出栈操作*/ double StPop(Stack *s) { double t; if(!StEmpty(s)) { t=s->data[s->top]; s->top=s->top-1; } else { printf("StPop:The stack is empty!"); t=NULL; } return t; } /*获取栈顶元素*/ double StGetTop(Stack *s) { double t; if(!StEmpty(s)) { t=s->data[s->top]; } else { printf("StGeTop:The stack is empty!"); t=NULL; } return t; } /*将数字字符转换成整形*/ int ChrTransferint(char c) { int n; switch(c) { case '0': n=0;break; case '1': n=1;break; case '2': n=2;break; case '3': n=3;break; case '4': n=4;break; case '5': n=5;break; case '6': n=6;break; case '7': n=7;break; case '8': n=8;break; case '9': n=9;break; } return n; } /*获取两个操作符之间数字字符的个数,返回的是最后一个数字字符的位置*/ int GetNumsize(char str[],int n1) { int n2=n1; while(isdigit(str[n2])||(str[n2])==46)/*isdigit()判断是否数字字符*/ { n2=n2+1; } return n2; } /*判断上个函数中获得的数字字符串中是否包含小数点,并返回它的位置,不包含,返回-1*/ int IsIncludepoint(char str[],int n1,int n2) { int n3=-1; int i; for(i=n1;i<=n2;i++) { if(str[i]=='.') { n3=i; break; } } return n3; } /*将数字字符转换成数值*/ double Transfer(char str[],int n1,int n2,int n3) { double data=0; int i,ct; if(n3<0) { for(i=n2;i>=n1;i--) { ct=ChrTransferint(str[i]); data=data+ct*pow(10,n2-i);/*pow(x,y)计算x的y次方的值*/ } } else { for(i=n3-1;i>=n1;i--) { ct=ChrTransferint(str[i]); data=data+ct*pow(10,n3-1-i);/*pow(x,y)计算x的y次方的值*/ } for(i=n3+1;i<=n2;i++) { ct=ChrTransferint(str[i]); data=data+ct*pow(0.1,i-n3);/*pow(x,y)计算x的y次方的值*/ } } return data; } /*主程序*/ main() { char str[M],c; char a; int n,p1,p2,p3; /*n为字符串长度,p1,p2,p3分别为数字字符起始位置,结束位置,和小数点位置*/ double data; /*存放转换后的数值*/ int i=0; Stack *so=(Stack *)malloc(sizeof(Stack)); /*存储操作符 '(':1,'+':2,'-':3, '*':4,'/':5 字符'),='不压栈*/ Stack *sd=(Stack *)malloc(sizeof(Stack)); /*存储操作数*/ InitStack(so); InitStack(sd); printf("Please input formula(format:(1+2)*1.2/4=):\n"); n=0; while((a=getchar())!='\n') { str[n]=a; n++; } while(i<n) { char c; c=str[i]; if(c=='(') { /*c若是'('直接入栈so,i++*/ StPush(so,1); i++; } else if(isdigit(c)) { p1=i; /*c若是数字字符,一并将后面的连续数字字符转换为数值并压栈到sd,并把i设为后面的*/ p2=GetNumsize(str,p1); p3=IsIncludepoint(str,p1,p2-1); /*第一个非数字字符的位置*/ data=Transfer(str,p1,p2-1,p3); StPush(sd,data); i=p2; } else if(c=='+') { StPush(so,2); /*c若是'+'直接入栈so,i++*/ i++; } else if(c=='-') { StPush(so,3); /*c若是'-'直接入栈so,i++*/ i++; } else if(c=='*') { if(str[i+1]=='(') /*c若是‘*’它后面的字符是否为'(',若是直接将'*'压栈so,*/ { StPush(so,4); i++; } else { double t1,t2,t3; /*若不是,为数字字符,将后面的连续数字字符一并转换成数值t2,sd出栈给t1,将t3=t2*t1压栈到sd*/ t1=StPop(sd); /*操作符'*'不压栈so*/ p1=i+1; p2=GetNumsize(str,p1); p3=IsIncludepoint(str,p1,p2-1); t2=Transfer(str,p1,p2-1,p3); t3=t1*t2; StPush(sd,t3); i=p2; } } else if(c=='/') { if(str[i+1]=='(') { StPush(so,5); i++; } else { double t1,t2,t3; t1=StPop(sd); /*c是'/'同'*'*/ p1=i+1; p2=GetNumsize(str,p1); p3=IsIncludepoint(str,p1,p2-1); t2=Transfer(str,p1,p2-1,p3); t3=t1/t2; StPush(sd,t3); i=p2; } } else if(c==')') { double t1,t2,t3; int p; while((p=StPop(so))!=1&&!StEmpty(so)) /*c若是')',出栈so,判断是'+'或'-',出栈sd两个操作数,进行加减运算*/ { /*直到StPop=='('*/ t1=StPop(sd); t2=StPop(sd); if(p==2) { t3=t2+t1; StPush(sd,t3); } else if(p==3) { t3=t2-t1; StPush(sd,t3); } } if(StGetTop(so)==4) /*然后判断so栈顶是否为'*'或者'/'*/ { StPop(so); t1=StPop(sd); /*为'*'出栈so,出栈 sd 获得2个操作数,进行乘法操作*/ t2=StPop(sd); t3=t2*t1; StPush(sd,t3); } else if(StGetTop(so)==5) { StPop(so); t1=StPop(sd); /*为'/'出栈so,出栈 sd 获得2个操作数,进行除法操作*/ t2=StPop(sd); t3=t2/t1; StPush(sd,t3); } i++; } else if(c=='=') { double t1,t2,t3; /*c若是'=',这是so内只有加减号,出栈so到p ,sd到t1,t2*/ int p; while(!StEmpty(so)) { t1=StPop(sd); t2=StPop(sd); p=StPop(so); if(p==2) { t3=t2+t1; /*p=='+',加法运算,并将结果t3压栈sd*/ StPush(sd,t3); } else if(p==3) { t3=t2-t1; StPush(sd,t3); /*p=='-',减法运算,并将结果t3压栈sd*/ } } i++; } } if(!StEmpty(so)||StEmpty(sd)) { printf("Input error,Back!\n"); /*若so不为空,或者sd为空,且sd中只有一个元素,则输入的式子不对*/ } else { double end; int i; /*否则,sd中的那个数据就是最后计算结果,打印输出*/ end=StGetTop(sd); printf("The value of this formula:\n"); for(i=0;i<n;i++) { printf("%c",str[i]); } printf("%f\n",end); } getch();}

I. 数据结构与算法课程设计里 题目为栈的实现和应用,急!!!!!!!!

http://wenku..com/view/71324821dd36a32d7375818b.html

看看吧 给你找到了

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919