C课程设计报告含代码
求解有理数分式方程(含代码,功能增强)
.海南大学信息科学技术学院课程设计报告课程名称:《C++程序设计》课程设计课题名称:求解有理数分式方程专业:信息与计算科学学号:20151614310002姓名:ti tie de jin se指导教师:设计时间:2016~2017学年第二学期2017年6 月29日目录1.设计内容 (3)1.1问题描述 (3)1.2设计思路 (3)1.3数据结构定义 (4)2.总体设计 (4)2.1程序设计函数接口 (4)2.2程序功能说明 (5)2.3程序流程图 (6)3.调试结果 (6)3.1程序运行 (6)3.2总结分析 (10)4. 程序清单 (10)头文件(类的定义): (10)类的实现: (11)主函数: (14)1.设计内容1.1问题描述一、定义分式类,其中包含分子和分母。
二、实现功能:求解一元一次有理数分式方程三、要求:1、设计菜单实现功能选择2、输入功能:输入有理数分式方程3、计算并输出方程的根,并用最简分式表示4、使用多文件方式设计:1)类的说明设计成.h 头文件2)类的实现为一个.cpp 文件3)主函数为另一个.cpp 文件 1.2设计思路1)定义类Fenshi 和jisuan ,对成员函数进行定义,并运用带默认形参值的构造函数,拷贝构造函数,析构函数,类的组合,运算符的重载等方法。
2)设计多个函数并进行调用实现求解一元一次有理数分式方程。
3)设计一个对象数组存储运算结果。
b d f x ac e+=4)提供查看历史结果功能。
5)提供按照指定规则查询结果功能。
1.3数据结构定义定义一个类jisuan接受参数,使用类Fenshi类对运算符进行重载计算。
定义一个jisuan类的动态数组p存储结果。
2.总体设计2.1程序设计函数接口1.Fenshi类1)Fenshi(int n=0,int d=1);//带默认形参值的构造函数2) Fenshi(Fenshi &fen);//拷贝构造函数3) ~Fenshi();//析构函数4)void simplify();//将分式化为最简形式5) bool operator ==(Fenshi &fen);//运算符重载6) Fenshi operator +(Fenshi& fen);7) Fenshi operator -(Fenshi& fen);8) Fenshi operator *(Fenshi& fen);9) Fenshi operator /(Fenshi& fen);10) void print();//输出分式11)int Gcd(int a,int b);//辗转相除法求最大公因子12) bool Isneg();//判断分式是否为正数2.jisuan 类1)jisuan();//默认构造函数2)jisuan(int a,int b,int c,int d,int e,int f);//构造函数3)~jisuan();//析构函数4)void cal();//计算有理分式的结果5)void print();//以分数形式输出结果6)Fenshi A;//待求解方程x的系数3.主函数1)void DrawWarn();//输出警告界面2)void DrawMenu();//输出菜单2.2程序功能说明1)输入参数:录入方程的参数并输出结果。
C语言数据结构课程设计航空订票实验报告(含源代码)
数据结构课程设计实验报告设计题目__________________________________________________________________ 设计者__________________________________________________________________ 指导老师__________________________________________________________________ 班级___________________________________________________________________ 学号____________________________________________________________________一、设计要求任务通过此系统可以实现如下功能:1.录入航班信息:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据定)2.查询航班:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓);3.订票:(订票情况可以存在一个数据文件中,结构自己设定);4.退票:可退票,退票后修改相关数据文件;5.修改航班信息6.退出程序客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;二、设计概要主界面选择操作项目1.录入航班信息通过单链表这种数据结构,设置了剩余票数,航班号,出发地点,到达地点,起飞日期,出发时间,到达时间,票价。
2.订票输入旅客的姓名,证件号,航班号,和订票张数。
程序中自动查询输入要定的航班号,如果没有则叫其重新输入,有则执行:票数足够则订票成功,票数不充足叫其选择其它航班。
此也采用单链表的数据结构。
C语言课程设计报告——贪吃蛇源程序
C 语言课程设计(小游戏贪吃蛇得程序设计报告)设计人:班级:201年月号目录一:概述1:研究背景及意义2:设计得任务与需要知识点3:具体完成设计内容二:需求分析1:功能需求2:操作方法三:总体设计1:模块划分2:数据结构设计四:详细设计1:主空摸块设计2:绘制游戏界面3:游戏得具体过程4:游戏得结束处理5:显示排行榜信息模块五:程序得调试与测试1:动画与音乐同步2:蛇得运行3:终止程序六:结论七::结束语八:程序清单九:参考文献一. 概述本课程设计以软件工程方法为指导,采用了结构化,模块化得程序设计方法,以C语言技术为基础,使用TurboC++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统得实现与测试。
1、1 研究得背景及意义随着社会得发展,人们生活得节奏日益加快,越来越多得人加入了全球化得世界。
人们不再拘泥与一小块天地,加班,出差成了现代人不可避免得公务。
而此时一款可以随时随地娱乐得游戏成为了人们得需要。
此次课程设计完成得贪吃蛇小游戏,正就是为了满足上述需求而设计出来得。
贪吃蛇游戏虽小,却设计诸多得知识点。
通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程得与那个发,技术与工具开发软件得过程,进一步掌握结构化,模块化得程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构得使用方法,掌握图形,声音,随机数等多种库函数得使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程得学习与将来实际软件开发打下坚实得基础。
1、2设计得任务与需要得知识点1、2、1 课程设计主要完成得任务1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计得思想,培养解决实际问题得能力。
2)有同步播放动画,声音效果。
3)设计好数组元素与蛇,食物得对应关系。
猜数字游戏课程设计报告
XXXX学校《C程序设计》课程设计报告设计题目:猜数字游戏附录完整源代码专业:班级:学生:学号:指导教师:起止时间: xxx。
x。
x —xxx。
x.xxxxx-xxxx年 xx 学期目录1 、程序设计描述1。
1 程序设计目的:1.2 程序设计要求:1.3、猜数字游戏的简介:2 、程序设计内容:2。
1、游戏主要框架图:2.2、开始游戏框架:2。
3、最佳排行框架:2。
4、游戏操作说明模块:2。
5、退出游戏系统:2.6、游戏系统总流程图:3、猜数字游戏源代码:3.1、void main()函数函数功能:3.2、void game();//双人游戏void pgame();//单人游戏3.4、排行榜模块函数功能:3。
5、继续游戏模块函数功能:3.6、操作说明模块函数功能:4、调试与测试:4.1、调试方法4.2、测试结果的分析与讨论4。
3、测试过程中遇到的主要问题及采取的解决措施5、程序具体说明书:6、程序设计心得:7、参考文献1 、程序设计描述1.1 程序设计目的:综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础.1。
2 程序设计要求:1、巩固和加强《C语言程序设计》课程的理论知识。
2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。
3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。
4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。
5、掌握调试程序的基本方法及上机操作方法.6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。
课程设计的思想和方法还可以作为做毕业论文时的参考资料.7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力.为做毕业设计打好基础。
数据结构课程设计(附代码)-数据结构设计
上海应用技术学院课程设计报告课程名称《数据结构课程设计》设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成绩管理系统;院系计算机科学与信息工程专业计算机科学与技术班级姓名学号指导教师日期一.目的与要求1. 巩固和加深对常见数据结构的理解和掌握2. 掌握基于数据结构进行算法设计的基本方法3. 掌握用高级语言实现算法的基本技能4. 掌握书写程序设计说明文档的能力5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力表。
3、输出功能:void print(LinkList *head);通过一个while的循环控制语句,在指针p!=NULL时,完成全部学生记录的显示。
知道不满足循环语句,程序再次回到菜单选择功能界面。
4、删除功能:LinkList *Delete(LinkList *head);按想要删除的学生的学号首先进行查找,通过指针所指向结点的下移来完成,如果找到该记录,则完成前后结点的连接,同时对以查找到的结点进行空间的释放,最后完成对某个学生记录进行删除,并重新存储。
5、插入功能:LinkList *Insert(LinkList *head);输入你想插入的位置,通过指针所指向结点的下移,找到该位置,将该新的学生记录插入到该结点,并对该结点后面的指针下移。
链表长度加一,重新存储。
(5) 程序的输入与输出描述输入:调用LinkList *create()函数,输入学生的姓名、学号、三门功课的成绩;输出:调用void print(LinkList *head)函数,输出学生的记录。
(6) 程序测试主菜单:成绩管理系统的主界面:学生成绩记录的输入:输出学生成绩记录:学生成绩记录的删除(删除学号是1101的学生记录)插入新的学生成绩记录(插入学号为1103的学生记录)(7) 尚未解决的问题或改进方向尚未解决的问题:该成绩管理系统还存在不少缺陷,而且它提供的功能也是有限的,只能实现学生成绩的输入、输出、删除、插入。
C语言程序设计(医院信息管理系统)附源代码
专业设计报告课程名称: C 语言程序设计课题名称:医院信息管理系统专业班别:12本计算机科学与技术二班姓名:学号:指导教师:设计日期:2012-5-25教师评语:成绩评定:指导教师签名:日期:2012 年月日课程设计题目医院信息管理程序作者姓名:同组成员:摘要利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的信息;能完成对医院内所有病人信息的注册、查询、删除和修改等操作,同时又能对药房内库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示1.专业设计目的1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历2、掌握对二进制文件的创建、增添等基本操作。
3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式2.设计基本要求(1、使用结构体来存储病人的信息,结构体中包括病的id号码、姓名、病历以及消费信息,并用链表将所有病人信息整合。
2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。
4、要求用四个源文件main.c、link.c、find.c、save_load.c5、系统完成后应实现类似下面所示界面3、算法分析1、数据结构设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义:struct patient{char id[10];char name[10];char casehist[200];int cost[3];int transfusion;int surgery;struct patient *next;};其中cost数组用来存储病人卖药的的个数(总共三种药),casehist存储病历内容,transfusion用来存储病人输液的花费,surgery存储手术的花费。
Struct patient *next用来指向下一个病人结构体的起始地址从而形成一个链表。
C++课程设计实验报告
该实验要求建立一个排序的类模板,利用模板建立排序类,首先建 立一个 Rank 类模板,在类中定义一个整数 n(元素的个数)以及一个
-1-
指针 p(未指定类型),接着编写构造函数,在构造函数中为指针 p 动 态开辟空间,然后分别编写选择排序与冒泡排序的成员函数,在成员函 数中直接输出,之后编写 set 函数,实现从键盘读入元素个数 n 以及数 组元素,各成员函数前要重新定义 TYPE,最后编写主函数,在主函数 中建立 Rank 的对象并指定类型,调用 Rank 类中的 set 函数,选择排序 函数以及冒泡排序函数即可。
另一特色是,较之其他的实验,此实验使用了类模板,并将模板实 例化,这也是本次实验中我的收获之一。
体会
这是我第一次使用类,由于对 C++中与类相关的知识的掌握程度 不是很高,所以我在教材和网络上查找了很多相关的资料。在照着书本 制作的过程当中还是出现了很多问题,为此我调试了很长时间,这让我 发现原来写程序是一件很费精力的事情,尤其是大型的程序的编辑。
int judge(int a); int max(int a); int change(int a); int m; cout << "请输入任意四位数" << endl; cin >> m; judge(m); if (flag == true) {
// 计算两分数相减
} return 0; }
int multiply(int m, int n, int i, int j) {
int e, f, k; e = n*j; f = m*i; k = measure(e, f); e = e / k; f = f / k; if (e == 1)
C语言程序设计医院信息管理系统附源代码
专业设计报告课程名称: C 语言程序设计课题名称: 医院信息管理系统专业班别:12本计算机科学与技术二班姓名:学号:指导教师:设计日期:2012-5-25教师评语:成绩评定:指导教师签名:日期: 2012 年月日课程设计题目医院信息管理程序作者姓名:同组成员:摘要利用结构体存储每个病人的信息与每种药品的信息,并使用链表存储全部病人的信息;能完成对医院内所有病人信息的注册、查询、删除与修改等操作,同时又能对药房内库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示1.专业设计目的1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历2、掌握对二进制文件的创建、增添等基本操作。
3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式2.设计基本要求(1、使用结构体来存储病人的信息,结构体中包括病的id号码、姓名、病历以及消费信息,并用链表将所有病人信息整合。
2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。
4、要求用四个源文件main、c、link、c、find、c、save_load、c5、系统完成后应实现类似下面所示界面3、算法分析1、数据结构设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义:struct patient{char id[10];char name[10];char casehist[200];int cost[3];int transfusion;int surgery;struct patient *next;};其中cost数组用来存储病人卖药的的个数(总共三种药),casehist存储病历内容,transfusion用来存储病人输液的花费,surgery存储手术的花费。
Struct patient *next用来指向下一个病人结构体的起始地址从而形成一个链表。
数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)
算法与数据结构实验报告航班查询与检索题目:航班查询与检索指导老师:组长:成员:一:航班信息得查询与检索按时间查询:按站点查询:二分法查询:二:算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息得查询与检索*/三:/*航班信息得查询与检索*/#include<iostream、h>#include<string、h〉#include<stdio、h〉#defineN 6//航班数//航班信息typedef struct flight{char flight_number[10];//航班号charstart_address[10];//起飞站char arrived_address[10];//终点站char work_date[10];//班期char start_time[6];//起飞时间chararrived_time[6];//到达时间char FlightType[4]; //机型int fare;//票价}DataType;struct flight Flight[N];//----—-----—按航班号进行基数排序——---——----typedef charKeyType;#define D 7 // D为排序码得最大位数#defineR 'a' //R为基数,这里为小于字母’a'代表得整型值struct Node; //单链表结点类型typedef struct Node RadixNode;structNode{KeyType key[D];//关键字DataType info;//数据信息RadixNode*next;};typedef RadixNode *RadixList;typedefstructQueueNode{RadixNode *f;//对列得头指针RadixNode *e; //对列得尾指针}Queue;Queue queue[R];//用队列表示桶void radixSort(RadixList* plist,int d,int r){int i,j,k;RadixNode *p, *head;head=(*plist)->next;for(j=d—1;j>=0;j—-) //进行d次分配与收集{p=head;for(i=0;i〈r;i++){queue[i]、f=NULL;queue[i]、e=NULL; //清队列}while(p!=NULL){k=p—〉key[j]; //按排序码得第j个分量进行分配if(queue[k]、f==NULL) queue[k]、f=p;//若第k个堆为空,则当前记录为队头else(queue[k]、e)-〉next=p;// 否则当前记录链接到第k队得队尾queue[k]、e=p;p=p->next;}i=0;while(queue[i]、f==NULL)i++;//从r个队列中找出第一个非空得队列p=queue[i]、e; head=queue[i]、f;//head为收集链表得头指针for(i++;i〈r;i++)if(queue[i]、f!=NULL){ p->next=queue[i]、f; p=queue[i]、e; } // 收集非空队列p—〉next=NULL;}(*plist)->next=head;}//初始化航班信息structNode element[N+1]={””,””,"”,"",”",”"," ”," ",0,NULL,//表头ﻩ"CA1544”,"CA1544”,"合肥”,”北京","1245 ”,"10:55",”12:40",”733”,960,NULL, ﻩﻩ "MU5341”,”MU5341","上海","广州","每日",”14:20",”16:15","M90",1280,NUL L,”CZ3869”,"CZ3869","重庆”,”深圳”,"246","08:55","10:35","733",1010,NULL,"MU3682","MU3682”,"桂林","南京",”23467",”20:50",”22:15”,"M 90",1380,NULL,"HU1836”,"HU1836”,"上海”,"北京","每日","09:40","11:20","738",1250,NULL,”CZ3528”,"CZ3528","成都",”厦门”,"13457”,”15:10","16:50","CRJ",1060,NULL,};//---——-——-———信息显示———-—-——--—-//按表得格式输出某个航班信息//显示头部信息voidCout_info1(){cout〈<”****************************************\n"<〈endl;ﻩcout〈<”*欢迎您使用*\n"<〈endl;cout〈<" *航班信息表*\n"<<endl;cout<<"****************************************\n”〈<endl;cout〈〈"航班号起飞时间到达时间起飞站终点站班期机型票价\n"<<endl;}//显示主体信息void Cout_info2_1(Nodep[])//方式一{cout<<" "<〈p-〉info、flight_number;cout〈<”"<<p—〉info、start_time;cout<<" ”<<p—>info、arrived_time;cout〈<""〈<p-〉info、start_address;cout<〈” "〈〈p—>info、arrived_address;cout<〈" "<〈p—〉info、work_date;cout〈<"”<<p->info、FlightType;cout〈〈””<〈p—>info、fare<<”元"<<endl;}void Cout_info2_2(flight F[],inti)//方式二{cout〈〈” "<<F[i]、flight_number;cout<〈” ”<<F[i]、start_time;cout<〈” "<<F[i]、arrived_time;cout〈〈" "〈<F[i]、start_address;cout<<" ”<<F[i]、arrived_address;cout〈〈” "<<F[i]、work_date;cout〈<" ”<<F[i]、FlightType;cout<<""<<F[i]、fare〈〈"元”〈〈endl;}//显示所有航班信息void output_ALL_info1(Node element[]) //方式一{RadixList p=element;Cout_info1();p=p->next;while(p!=NULL){Cout_info2_1(p);p=p->next;}cout〈〈endl;}void output_ALL_info2(flightF[])//方式二{Cout_info1();for(inti=0;i〈N;i++){Cout_info2_2(F,i);}cout〈〈endl;}//—-—-—————-—---信息复制--———---—-—--——-//将排好得序列(链表)转化成顺序表存储形式void copy(flight F[],Nodeelement[]){RadixList p=element;p=p->next;int i;for(i=0;i<N&& p!=NULL;i++){strcpy(F[i]、flight_number,p->info、flight_number);strcpy(F[i]、start_time,p—>info、start_time);strcpy(F[i]、arrived_time,p->info、arrived_time);strcpy(F[i]、start_address,p—〉info、start_address);strcpy(F[i]、arrived_address,p—>info、arrived_address);strcpy(F[i]、work_date,p—〉info、work_date);strcpy(F[i]、FlightType,p—〉info、FlightType);F[i]、fare=p-〉info、fare;p=p->next;}}//-—--—--—------—服务菜单-—-—----—-----void F_By_Time(flight F[],int);voidF_By_Address(flightF[],int);void F_By_fare(flightF[]);void F_By_FN(flight F[]);//主菜单voidmainmenu(){charch;int y;cout〈<"主菜单\n”<<endl;cout<〈” ===========================================================\n"〈<endl;cout〈<" Please choose: (input the number)(输入查询/排序命令)\n"<〈endl;cout<<"0、showthe mainmenu(显示主菜单)\n"〈〈endl;cout〈<”1、Find by flightnumber(按航班号查询)\n"<<endl;cout〈〈”2、Findby starttime(按起飞时间查询)\n”<〈endl;cout<<"3、Find by arrived time(按到达时间查询)\n"<<endl;cout<〈"4、Find by start address(按起飞地点查询)\n”〈<endl;cout<<" 5、Find by arrived address(按目得地点查询)\n"<<endl;cout<〈"6、Find by the fare(按票价范围查询)\n”〈〈endl; cout<<”—---其她键退出"<<endl;cout<〈” ===========================================================\n"<〈endl;while(1){cout〈〈”请输入服务命令:”;cin〉>y;switch(y){case0: mainmenu();break;case 1:F_By_FN(Flight);break;case2:F_By_Time(Flight,1);break;case 3:F_By_Time(Flight,2);break;case4:F_By_Address(Flight,1);break;case 5:F_By_Address(Flight,2);break;case 6:F_By_fare(Flight);break;default :cout<<" 谢谢惠顾!"<<endl;break;}cout〈<”就是否退出?(Y/N):";cin>〉ch;if(ch=='Y'||ch=='y')break;}}//-------————--—查询系统—-—-—--——-—-—-//通过航班号实现二分查找法查找void F_By_FN(flight F[]){int low=0,high=N,mid;char Num[10];cout<<"请输入您要查询得航班号:”;cin>>Num;Cout_info1();//显示头部信息while(low<=high){mid=(low+high)/2;if(strcmp(Num,F[mid]、flight_number)==0){Cout_info2_2(F,mid);break;}else if(strcmp(Num,F[mid]、flight_number)<0)high=mid—1;elselow=mid+1;}cout〈<" *************对不起,没有您要查找得航班号********** ”〈〈endl;}//通过起飞/到达时间查询void F_By_Time(flight F[],intTime){inti;charT[6];cout〈<"请输入您要查询得航班得起飞/抵达时间:";cin〉〉T;Cout_info1();//显示头部信息for(i=0;i<N;i++){if(Time==1) //按起飞时间查询{if(strcmp(T,F[i]、start_time)==0) Cout_info2_2(F,i);}if(Time==2) //按抵达时间查询{if(strcmp(T,F[i]、arrived_time)==0) Cout_info2_2(F,i);}}cout〈<”*******对不起,该时间没有航班*******"〈〈endl; }//通过站点查询void F_By_Address(flight F[],int AD){char str[10];cout<<"请输入您要查询得航班得起飞/抵达地址:";cin>>str;Cout_info1();for(inti=0;i〈N;i++){ﻩif(AD==1)//按起点站查询ﻩ{ﻩﻩif(strcmp(str,F[i]、start_address)==0) Cout_info2_2(F,i);ﻩ}if(AD==2)//按目得站查询ﻩ{ﻩﻩif(strcmp(str,F[i]、arrived_address)==0)Cout_info2_2(F,i);ﻩ}}cout<<" ********对不起,该站点不存在********"<<endl;}//通过票价范围查询void F_By_fare(flightF[]){int T1,T2,i;cout<〈”请输入您要查询得航班得最低票价(单位:元):";cin>>T1;cout〈<"请输入您要查询得航班得最高票价(单位:元):";cin>>T2;Cout_info1();for(i=0;i<N;i++){if(T1〈=F[i]、fare&&T2〉=F[i]、fare)Cout_info2_2(F,i);}cout〈〈"*******对不起,没有适合您得航班,请修改您得票价范围********”<〈endl;}//—---—---——--——主函数-—--——--———----—int main(){RadixList p=element;for(int i=0;i〈N;i++)element[i]、next=&element[i+1];element[10]、next=NULL;radixSort(&p,D,R);//基数排序output_ALL_info1(element);//输出排序后得有序序列(航班信息)copy(Flight,element); //另存储排序后得航班信息mainmenu(); //给出主菜单return0;}测试数据及测试结果:、边界值处理:四:遇到得问题及解决策略:首先就是要实现所要得功能需用什么数据结构得问题,比如排序问题究竟用那一种,在组员得商量下与上网搜寻资料,采用对排序最符合,其次就是在时间得查询过程中,比如输入时间16:40开始只能实现输入1640,最后通过改时间得数据类型实现了时间得输入,最后就是在各个模块得组合过程中由于各个成员编程所起得名字或者其她原因,程序无法运行,最后在大家得努力下一起修改错误使得程序可以正常运行。
操作系统课程设计报告题目及代码
题目一模拟操作系统设计设计一个模拟操作系统管理程序,实现以下管理功能:1.内存管理功能2.文件管理功能3.磁盘管理功能题目二虚拟存储器各页面置换算法的实现与比较内容:设计一个虚拟存储区和内存工作区,通过产生一个随机数的方法得到一个页面序列,假设内存给定的页面数由键盘输入,分别计算使用下述各方法时的内存命中率:先进先出算法〔FIFO〕、最近最少使用算法〔LRU〕、最正确淘汰算法〔OPT〕、最少页面算法〔LFU〕等。
题目三文件系统设计通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。
内容:为Linu*系统设计一个简单的二级文件系统,以实现以下功能:1.可以实现以下几条命令(1)login 用户登录(2)dir 文件目录列表(3)creat 创立文件(4)delete 删除文件(5)open 翻开文件(6)close 关闭文件(7)read 读文件(8)write 写文件2.实验提示〔1〕首先确定文件系统的数据构造:主目录、子目录及活动文件等。
主目录和子目录都以文件的形式存放在磁盘,这样便于查找和修改。
〔2〕用户创立的文件,可以编号存储于磁盘上。
如file0、file1、file2……等,并以编号作为物理地址,在目录中进展登记。
[清华大学?操作系统教程? *丽芬编著题目四设计一个按时间片轮转法进程CPU调度的程序。
提示:〔1〕假设系统有5个进程,每个进程用一个进程控制块PCB来代表,PCB中包含进程名、指针、到达时间、估计运行时间、进程状态表。
其中,进程名即为进程进标识。
〔2〕为每一个进程设计一个要示运行时间和到达时间。
〔3〕按照进程到达的先后顺序排成一个循环队列,再设一个队首指针指向第一个到达的进程首址。
〔4〕执行处理机调度时,开场选择队首的第一个进程运行。
另外再设一个当前运行进程指针,指向当前正运行的进程。
〔5〕由于本实验是模拟实验,所以对被选中进程并不实际启运运行,只是执行:a.估计驼行时间减1b.输出当前运行进程的名字。
C++学生信息管理系统课程设计报告
一、课程设计目的1.通过C++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。
2.用所学的C++语言知识及其编程方法,包括类和对象、继承与多态等面向对象的基本思想和方法以及文件流的基本操作等内容。
通过布置具有一定难度的实际程序设计项目,要求学生独立完成所布置项目。
在分析设计过程中,要求学生养成良好的编程习惯,学会分析解决简单的实际问题,学会C++编程环境(VC++)的实际调试技巧和方法,要求学生在教师的指导下逐步完成应用程序的分析与设计过程。
二、课程设计的内容(一)、题目:学生信息管理系统(二)、目的与要求1。
目的:(1)基本掌握面向对象程序设计的基本思路和方法;(2)达到熟练掌握C++语言的基本知识和技能;(3)能够利用所学的基本知识和技能,解决简单的程序设计问题2。
要求基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义三个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。
创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
3。
信息描述学生信息:学号、姓名、系别、班级和所选科目及各科成绩等。
4。
功能描述(1)使用继承的方法构造3个类(如人员类——-基类,普通学生类和管理员类—---派生类)使用相应的对象放置相应信息(2) 编写同名的display()成员函数,用来输出相应的内容(3)录入学生信息并保存(4)按不同类别输出学生信息(如按性别、年龄等)(5)查询学生信息(以一种或多种方式,如按名字、学号等检索)(6) 修改学生信息并保存(7) 删除学生信息(8) 计算学生的平均成绩三、设计说明总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理.也可根据自己对题目的理解增加新的功能模块.系统以菜单界面方式工作,运行界面友好,演示程序以用户和计算机的对话方式进行。
系统软件程序设计报告(linux下C语言程序课程设计报告)
一、 引言(简要说明设计题目的目的、意义、内容、主要任务等) 1.1 设计目的
本次系统软件课程设计的主要目的有两个:一方面是分析设计 linux 源代码,另一方面 是进行系统级的程序设计。 1.2 题目与要求
我计划编写的题目是:⑴小学算术运算测试程序。制作一个可供小学数学运算的程序: 10 以内加减法,能根据输入题数出题,判断题是否正确,最后计算分数。并用 make 工程管 理器编译,编写 makefile 文件。⑵简单聊天程序。在 linux 下用 C 语言编写一个简单的网络 聊天程序。实现网络传输功能。 1.3 内容及主要任务
2
⑴出题模块(question_out()):这一模块主要负责对题目的储存和调出这两个功能。 ⑵答题模块(answer()):这一模块主要负责将用户端的答案通过键盘输入到系统。 ⑶检查计分模块(check()):这一模块主要负责检查判断用户所提供的答案是否正确并 根据它来记录每题所的总分。 ⑷评分模块(count()):这一模块主要负责统计总得分并打印。 ⑸评价模块(assessment()) :这一模块主要负责根据给出的总得分打印相应的评语。 总之这五个模块都有着各自的功能且互相联系,五者在程序中缺一不可。 2.1.4 makefile 介绍 ⑴Makefile 文件介绍 Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中, makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些 文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile 就像一个 Shell 脚本一 样,其中也可以执行操作系统的命令。 ⑵makefile 主要功能 Make 工具最主要也是最基本的功能就是通过 makefile 文件来描述源程序之间的相互关 系并自动维护编译工作。而 makefile 文件需要按照某种语法进行编写,文件中需要说明如 何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文 件是许多编译器--包括 Windows NT 下的编译器--维护编译信息的常用方法,只是在集成开 发环境中,用户通过友好的界面修改 makefile 文件而已。 ⑶自动化编译 Makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个 make 命令,整 个工程完全自动编译,极大的提高了软件开发的效率。make 是一个命令工具,是一个解释 makefile 中指令的命令工具,一般来说,大多数的 IDE 都有这个命令,比如:Delphi 的 make, Visual C++的 nmake,Linux 下 GNU 的 make。可见,makefile 都成为了一种在工程方面的编 译方法。 2.1.5 makefile 规则
c语言课程设计报告 职工工资管理系统
一.设计需求说明一、职工工资管理系统功能设计要求1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。
•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5. 删除记录:可删除数据文件中的任一记录。
6.恢复记录:能恢复被删除的任一记录。
7. 统计: (A) 计算各项工资平均工资及总工资, (B)•统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。
(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。
8.保存数据文件功能。
9.打开数据文件功能。
经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。
程序运行结果如下表所示(记录个数至少8 个)。
二.模块设计分析系统功能模块图:工作程序分析①输入:输入职工工资资料通过结构体的数组来进行操作,先头定义数组em[],先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。
同时将数据储存在ckerk_list文件中并自动保存至磁盘。
注:如首次使用,尚未输入数据,请先输入数据。
输入的数据将自动保存。
再次选择输入功能时原数据将被覆盖。
②保存:将输入的资料存入磁盘读取文件clerk_list,若文件不存在,打印“打开失败并退出。
若存在,则通过循环语句将输入到结构体数组的数据逐个输入磁盘。
C语言课程设计报告模版(电子版)
1.熟悉Turbo C的编程环境、主要菜单功能。
2.通过上机验证运算符、表达式、运算规则、函数使用。
3.熟练使用C语言的典型语句编写简单程序。
4.调试典型例题或习题。
5.提高上机编程能力
二、实验类型
设计类型
三、实验学时
40学时
四、实验设备
微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0软件一套
(3)输出候选人及其得票数。
1.2
(将程序执行图,粘贴在此)
1.3
#include"string.h"
struct person
{ char name[20];
int count;
} leader[5]={"liang",0,"wei",0,"long",0,"chen",0,"chao",0};
main()
float d ;
for(i=0;i<n;i++)
{ d=0.0;
for(j=0;j<4;j++)
d+=p->s[j];
p->sum=d;
p++;
}
}Hale Waihona Puke void sort(struct student *p,int n)
{ struct student t;
int i,j,k;
for(i=0;i<n-1;i++)
。
4.1
需求分析是软件开发中最重要的环节,它直接影响着项目的成功与失败。通过对用户需求进行调查分析,写出需求分析的文档。需求分析的文档可以作为项目设计的基本要求,也可以作为系统分析员进行系统分析和测试人员进行软件测试的手册。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C课程设计报告含代码文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]专业:C++课程设计报告学号:姓名:同组人:提交日期:【设计目的】1、通过设计一个较为简单的《商场库存货物管理系统》,进一步熟悉C++中类的概念、类的封装、继承的实现方式。
2、了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
【设计内容】1、设计某公司的库存管理系统。
此程序是为了更好的处理货物的详细信息。
包括货物的货物的入库、出库、查询、统计。
并且能够很好的让使用者了解库存货物的有关信息。
2、系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。
输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。
3、系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:。
4、作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能,所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。
5、下图中黑体字部分程序块为我完成的代码块【实验环境】1.硬件环境:(1)电脑型号戴尔 Inspiron 5557 笔记本电脑 (扫描时间:2017年01月11日)(2)操作系统Windows 10 Enterprise 64位 ( DirectX 12 )(3)处理器英特尔 Core i7-6500U @ 双核(4)主板戴尔 03XTY7 ( 英特尔 PCI 标准主机 CPU 桥 - 100 Series 芯片组Family/eSPI Controller - 9D48 )(5)内存8 GB ( 镁光 DDR3L 1600MHz )(6)主硬盘三星 SSD 850 EVO 500GB ( 500 GB / 固态硬盘 )(7)显卡Nvidia GeForce 930M ( 4 GB )(8)显示器友达 AUO38ED ( 英寸 )2.软件环境:Windows 10 Enterprise 64位 ( DirectX 12 )、Visual Studio 2015【设计中使用函数说明】char manage::first_face()品入库3.商品查询4.按商品名查询5.按商品价格查询6.按商品大类查询7.商品报损【设计总结】经过一个学期对《C++程序设计》的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的基础。
在为期近一周的C++课程设计中,我体会颇多,学到了很多东西。
我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识。
这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。
像职工信息表这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。
而这些问题,这并不是我们平时只靠课本,就可以轻易解决的。
所以,锻炼了我们挑战难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。
特别是学会了在VisualC++中如何调试程序的方法。
当然,老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。
在老师和同学的帮助下,通过自己的努力,终于完成了这次职工信息表的简单课程设计。
我经过这段时间的编程,对其中的艰辛,我是深有体会。
从刚开始的选择程序、理解程序到后来的调试程序以及改进程序这个过程中,我遇到了各种各样的困难和挫折。
但是我坚定信念,对自己充满了信心,想尽一切办法克服重重困难。
通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会到了面向对象程序设计的方便和巧妙。
懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。
另外某些具体的细节内容也是相当的重要。
这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。
这些经验对我以后的编程会有很大的帮助的,我要好好利用。
虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。
我很欣慰自己能在程序中加入自己的想法和有关程序内容,也就是对它的程序改进了一番改进,并有创新。
但是我感觉自己的创新还不够典型,总之还不是很满意。
另外由于时间的紧迫和对知识的了解不够广泛,造成了系统中还存在许多不足,功能上还不够完善。
以后我会继续努力,大胆创新,争取能编写出透射着自己思想的程序。
这次课程设计让我充分认识到了自己的不足,认识到了动手能力的重要性。
我会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!【参考文献】[1]BjarneStroustrup,THEC++PROGRAMMINGLANGUAGE,HigherEducationPressPearsonEducation,2002[2][美]WalterSavitch着,周靖译,C++面向对象程序设计——基础、数据结构与编程思想,清华大学出版社,2004[3][美]BrianOverland着,董梁等译,C++语言命令详解,电子工业出版社,2000[4][美]AIStevens着,林瑶等译,C++大学自学教程,电子工业出版社,2004[5]刁成嘉主编,面向对象C++程序设计,机械工业出版社,2004[6]刘瑞新主编,曹建春,沈淑娟,张连堂等编着,VisualC++面向对象程序设计程,机械工业出版社,2004【源程序清单】商品入库◆"<< endl <<"\t\t◆◆"<< endl <<"\t\t◆ 2. 商品出库◆"<< endl <<"\t\t◆◆"<< endl <<"\t\t◆ 3. 查询统计◆"<< endl <<"\t\t◆◆"<< endl <<"\t\t◆ 4. 商品报损◆"<< endl <<"\t\t◆◆"<< endl <<"\t\t◆ 5. 退出系统◆"<< endl <<"\t\t◆◆"<< endl <<"\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆"<< endl << endl <<"\t\t";return _getch();}....."<< endl << endl <<"\t";system("pause"); ();();cout << endl <<"\t这些商品已经出库, 请仔细检查!!!"<< endl << endl <<"\t";system("pause");}按商品名称查询 ||"<< endl<<"\t|| ||"<< endl<<"\t|| 2. 按商品价格查询 ||"<< endl<<"\t|| ||"<< endl<<"\t|| 3. 按大类查询 ||"<< endl<<"\t|| ||"<< endl<<"\t|| 4. 返回 ||"<< endl<<"\t|| ||"<< endl<<"\t============================================================="<< endl << endl <<"\t\t";char select = _getch();switch (select){case'1':find_name();break;case'2':find_price();break;case'3':find_kind();break;case'4':return; ();();cout << endl << endl <<"这些商品已经损坏,请尽快从仓库中取出!!!"<< endl << endl;cout <<"报损成功,记录已经更改!!!"<< endl << endl;system("pause");}。