C++语言课程设计报告(长途客运)订票系统)

C++语言课程设计报告(长途客运)订票系统)
C++语言课程设计报告(长途客运)订票系统)

xxxx大学xx学院

C

题目:长途客运售票系统

专业:计算机科学与技术

班级:

姓名:

完成时间:

目录

第一部分:源程序(3-12页)

第二部分:函数流程图(13-25页)

(1)menu函数流程图(第13页)

(2)enter函数流程图(第14页)

(3)Order函数流程图(第15页)

(4)input函数流程图(第16页)

(5)browse函数流程图(第17页)

(6)Search_time函数流程图(第18页)

(7)Search_end函数流程图(第19页)

(8)search函数流程图(第20页)

(9)void menu1函数流程图(第21页)

(10)book函数流程图(第22页)

(11)back函数流程图(第23页)

(12)save函数流程图(第24页)

(13)load函数流程图(第25页)

第三部分:心得体会(第26-27页)

第一部分:源程序

#include

#include

#include

#define N 1000

typedef struct plane

{

char ID[10]; /*客运代号*/

char BePlace[10];/*客运发车地点*/

char EnPlace[10];/*客运到达终点*/

char data[15];/*客运发车时间*/

int max;/*客运最大乘客人数*/

int price;/*客运票价*/

int num;/*客运已售票数*/

}PLANE;

PLANE ti[N];

int n;/*当前的车次数目*/

void menu();

void menu1();

void input(int i)

{

printf("请输入客运代号:\n");

scanf("%s",ti[i].ID);

printf("请输入发车地点:\n");

scanf("%s",ti[i].BePlace);

printf("请输入到达地点:\n");

scanf("%s",ti[i].EnPlace);

printf("请输入发车时间:\n");

scanf("%s",ti[i].data);

printf("请输入客运的最大载客人数:\n");

scanf("%d",&ti[i].max);

printf("请输入客运的票价:\n");

scanf("%d",&ti[i].price);

ti[i].num=0;

}

void enter()

{

int i;

system( "cls" );

printf("请输入客运的数目(0-%d)?:",N);

scanf("%d",&n); /*要输入的记录个数*/

printf("\n请输入数据\n\n");

for(i=0;i

{

printf("\n请输入第 %d 车次记录.\n",i+1);

input(i); /*调用输入函数*/

}

getchar();

menu();

}

void printf_one(int i) /*显示一个记录的函数*/ {

printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BePlace,

ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);

}

void browse()

{

int i;

system( "cls" );

puts("\n-------------------------------------------------------------

-------");

printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售

票数\n");

for(i=0;i

{

printf_one(i);

printf("\n");

}

getchar();

getchar();

menu();

}

void order() /*排序模块(按平均成绩)*/

{

int i,j;

struct plane s;

system( "cls" );

for(i=0;i

{

for(j=i+1;j

if(strcmp(ti[i].data,ti[j].data)>0)

{

s=ti[i];

ti[i]=ti[j];

ti[j]=s;}

}

browse();

}

void search_time()

{

int i,m=0;

struct plane s;

system( "cls" );

printf("\n\nEnter the time:");

scanf("%s",s.data); /*输入出发的时间*/

puts("\n-------------------------------------------------------------

-------");

printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售

票数\n");

for(i=0;i

{

if(strcmp(s.data,ti[i].data)==0)

{

m++;

if((m!=0)&&(m%10==0)) /*目的是分屏显示*/

{

printf("\n\nPress any key to contiune . . .");

getchar();

puts("\n\n");

}

printf_one(i);

printf("\n");

/*调用显示一个记录的函数*/

}

}

puts("\n-------------------------------------------------------------

-------");

getchar(); /*按任意健*/

getchar();

menu1();

}

void serch_end()

{

int i,m=0;

struct plane s;

system( "cls" );

printf("\n\nEnter the end Place:");

scanf("%s",s.EnPlace); /*输入要到达的地方*/

puts("\n-------------------------------------------------------------

-------");

printf("\n\t客运代号发车地点到达地点发车时间票价最大乘客已售

票数\n");

for(i=0;i

{

if(strcmp(ti[i].EnPlace,s.EnPlace)==0)

{

m++;

if((m!=0)&&(m%10==0)) /*目的是分屏显示*/

{

printf("\n\nPress any key to contiune . . .");

getchar();

puts("\n\n");

}

printf_one(i);

printf("\n");

/*调用显示一个记录的函数*/

}

}

puts("\n-------------------------------------------------------------

-------");

getchar(); /*按任意健*/

getchar();

menu1();

}

void menu1()

{

int n,w1;

do

{

system( "cls" ); /*清屏*/

puts("\t\t\t\t 客运售票操作!\n\n");

puts("\t\t*********************MENU*********************\n\n");

puts("\t\t\t\t1.按照时间排序");

puts("\t\t\t\t2.按照时间查找车次");

puts("\t\t\t\t3.按照地点查找车次");

puts("\t\t\t\t4.返回主菜单");

puts("\n\n\t\t**********************************************\n");

printf("Choice your number(1-4): [ ]\b\b");

scanf("%d",&n);

if(n<1||n>4) /*对选择的数字作判断*/ {

w1=1;

printf("your choice is not between 1 and 4,Please input again:"); getchar();

getchar();

}

else w1=0;

} while(w1==1);

/*选择功能*/

switch(n)

{

case 1:order();break;

case 2:search_time();break;

case 3:serch_end();break;

case 4:menu();break;

}

}

int search() /*查找模块*/

{

int i,k;

struct plane s;

k=-1;

system( "cls" );

printf("\n\n请输入要订票的发车地点:");

scanf("%s",s.BePlace); /*输入要到达的地方*/

printf("\n\n请输入要订票的到达地点:");

scanf("%s",s.EnPlace);

printf("\n\n请输入要订票的发车时间:");

scanf("%s",s.data); /*输入出发的时间*/

for(i=0;i

{

if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPl ace)==0&&strcmp(s.data,ti[i].data)==0)

{

k=i; /*找到要修改的记录*/

printf_one(k);

break; /*调用显示一个记录的函数*/

}

}

if(k==-1)

{

printf("\n\nNO exist!");

return -1;

}

else

return k;

}

void book()

{

int i;

system( "cls" );

printf("欢迎进入售票窗口!\n");

i=search();

if(i!=-1)

{

if(ti[i].num>=ti[i].max)

{

printf("\n该趟客运票已售完!");

}

else

{

ti[i].num++;

printf("\n订票成功!\n");

}

}

else

printf("该客运不存在!\n");

getchar();

getchar(); /*按任意健*/

menu();

}

void back()

{

int i,k=-1;

struct plane s;

system( "cls" );

printf("欢迎进入退票窗口!\n");

printf("\n\n输入客运代号:");

scanf("%s",s.ID); /*输入要到达的地方*/

for(i=0;i

{

if(strcmp(s.ID,ti[i].ID)==0)

{

k=i; /*找到要修改的记录*/

printf_one(k);

break; /*调用显示一个记录的函数*/ }

}

if(k==-1)

{

printf("\n\nNO exist!");

}

else

{

ti[i].num--;

printf("\n退票成功!\n");

}

getchar(); /*按任意健*/

getchar(); /*按任意健*/

menu();

}

void save()

{

int w=1;

FILE *fp;

int i;

system( "cls" );

if((fp=fopen("\\ticket.txt","wt"))==NULL) /*以输出打开方式,在此前的

记录被覆盖*/

{

printf("\nCannot open file\n");

return ;

}

for(i=0;i

if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1)

{

printf("file write error\n");

w=0;

}

if(w==1)

{

printf("file save ok!\n");

}

fclose(fp);

getchar();

getchar();

menu();

}

void load()

{

FILE*fp;

int i,w;

w=1;

system( "cls" );

if((fp=fopen("\\ticket.txt","rt"))==NULL)

{

printf("\nCannotopen file\n");

w=0;

return ;

}

n=0;

for(i=0;!feof(fp);i++)

{

fread(&ti[i],sizeof( struct plane),1,fp);

n++;

}

n=n-1;

fclose(fp);

if(w==1)

printf("Load file ok!");

getchar();

getchar();

menu();

}

void menu()

{

int n,w1;

do

{

system( "cls" ); /*清屏*/ /*清屏*/

puts("\t\t\t\t 客运售票管理系统!\n\n");

puts("\t\t*********************MENU*********************\n\n"); puts("\t\t\t\t1.输入新车次");

puts("\t\t\t\t2.浏览 ");

puts("\t\t\t\t3.客运操作");

puts("\t\t\t\t4.订票");

puts("\t\t\t\t5.退票");

puts("\t\t\t\t6.保存");

puts("\t\t\t\t7.载入");

puts("\t\t\t\t8.退出");

puts("\n\n\t\t**********************************************\n");

printf("Choice your number(1-8): [ ]\b\b");

scanf("%d",&n);

if(n<1||n>8) /*对选择的数字作判断*/

{

w1=1;

printf("your choice is not between 1 and 8,Please input enter to choice again:");

getchar();

getchar();

}

else w1=0;

} while(w1==1);

/*选择功能*/

switch(n)

{

case 1:enter();break; /*输入模块*/

case 2:browse();break; /*浏览模块*/

case 3:menu1();break; /*查找模块*/

case 4:book();break; /*订票模块*/

case 5:back();break; /*退票模块*/

case 6:save();break; /*保存模块*/

case 7:load();break; /*加载模块*/

case 8:exit(0);

}

}

int main()

{

menu();

}

第二部分:函数流程图

(2

(4)input函数

函数

函数

机票预订系统课程设计报告

《数据库原理及应用课程设计》 系统开发报告 学号: 姓名: 题目:机票预订系统 指导教师: 提交时间: 2015年12月 计算机工程系 目录 一.概述 (2) 1.1 课程实训目的与要求 (2) 1.2 机票预订系统 (2) 1.2.1 系统功能的基本要求 (2) 1.2.2 数据库要求 (3) 二.需求分析 (3) 2.1背景分析 (3) 2.2 功能分析 (3) 2.3 数据词典 (4) 三.概念结构设计 (6) 3.1概念结构设计的方法与步骤 (6) 3.2 局部 E-R 图设计 (6) 3.4总体概念 E-R 图结构 (7) 四.逻辑结构设计 (9) 4.1 逻辑结构设计 (9) 4.2 数据库表的建立 (10) 五.物理结构设计 (10) 5.1 表的建立与数据载入 (10) 5.2 视图建立 (11) 5.3 索引建立 (11) 5.4 存储过程 (11) 5.5 触发器 (11) 5.6 创建登陆账户和添加数据库用户 (12) 六.数据流图及程序结构框图 (13) 6.1 功能模块图 (13) 6.2数据流图 (13) 七.界面设计与功能测试................................ 错误!未定义书签。 7.1登录界面及代码 (14) 7.2 进入系统界面 (15) 7.3 订票过程 (15) 八.总结 (19)

一.概述 应用对数据库技术及应用的理论学习通过上机实践的方式将理论知识与实 践更好的结合起来巩固所学知识。 实践和巩固在课堂教学中学习的关于数据库的有关知识熟练掌握对于给定 实训任务的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库 系统的建立方法熟练掌握对于给定实际问题为了建立一个关系数据库信息管 理系统必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系 统调试、维护以及系统评价的一般过程为将来在学习工作中的应用打下基础。1.1 课程实训目的与要求 课程实训的目的是本次课程实训的主要任务是运用在《数据库原理及应用》课程中学到的理论知识来指导实践了解数据库设计过程及其实现方法学会用 数据库建模的方法解决实际问题。掌握数据库原理、范式理论、规范化等相关知识掌握数据库分析设计的具体步骤与基本方法掌握 SQL 语言的基本语法和 基本内容并能运用 SQL Server 2005 实现设计数据库掌握 SQL Server 2005 数据库、表、视图、约束、索引、存储过程、触发器的使用利用一种前台开发工 具实现数据库管理系统的开发实现特定的业务功能。通过综合课程实训提高 实践动手技能培养独立分析分析问题和解决问题的能力。 课程实训的要求本次课程实训的选题比较灵活可以是自主选题也可以 自己选择比较感兴趣的题目重点是完成数据库的分析、设计与实现题目要符 合《数据库原理及应用》的要求并且具备一定的难度和深度除此以外可以 从备选题目之外选择一个题目完成。 1.2 机票预订系统 在所给的实训题目中我选择的是机票预订系统的设计。 1.2.1 系统功能的基本要求 每个航班信息的输入 每个航班的坐位信息的输入 当旅客进行机票预定时输入旅客基本信息系统为旅客安排航班打印取 票通知和帐单 旅客在飞机起飞前一天凭取票通知交款取票 旅客能够退订机票

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

高级语言程序设计课程设计报告

高级语言程序设计课程 设计报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

2013-2014学年第二学期 《高级语言程序设计》 课程设计报告 题目:班级档案管理系统 专业:网络工程 班级:二 姓名:朱和芳 指导教 师:孙妍姑 成绩: 计算机与信息工程系 2014年5月11日 班级档案管理系统 设计总说明 一、设计目的 运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰

写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。 二、设计内容 对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。 三、设计方法 结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。

目录 第一章绪论 (5) 第二章需求分析 问题描述 (6) 功能要求 (6) 算法提示 (6) 项目开发的目的 (7) 第三章概要设计 程序模块的组成 (8) 班级档案管理系统 (8) 各个程序的功能介绍 (9) 系统结构图 (9) 第四章模块设计分析 程序的模块组成 (10) 各个函数的主要功能 (10) 系统的功能模块的划分 (10) 总流程图 (12) 功能流程图 (13) 第五章测试 存在的问题 (14) 测试方案 (14) 第六章使用说明书 (15)

第七章总结 (17) 附录 A参考文献 (18) B源程代码 (20)

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

飞机订票系统课程设计报告

数据结构 课程设计报告 院系:信息管理学院 专业:软件工程 班级:软件Q1141 学号:11150132 姓名:王毅 教师:邓沌华 时间:2013. 4 一、问题描述 题目:飞机订票系统 题目要求: (1)可以录入航班情况 (2)可以查询某个航线的情况(如,输入航班号,查询起降时间, 起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)可以退票,退票后修改相关数据文件;

(5)当航班信息改变可以修改航班数据文件 二、系统分析及设计 1 2、概要设计 主函数中 flight a[15]; //全局航班数组,存储供测试的航班信息,一共15架飞机,航班信 息可以在所有文件中改变 o_customer co; //全局乘客数组存储已经买了票的顾客信息,顾客信息可以在所有文 件中调用、修改 int k = 15; //全局变量,当前的共有航班的辆数,也可被所有文件调用和修改供测试的航班情况如下:

○1按航班号查询航班int number_check() //有此辆航班则返回1,无则返回0 ○2按终点站查询航班int station_check() //有到该站的航班则返回1,无则返回0. ○3订票 int Init(int k);//录入乘客信息,订票成功返回1,否则返回0. order_f() //订票函数 { m = n = 0; m = number_check();//乘客选择航班号方式的查询航班,m = 1方可订票 n = station_check();//乘客选择终点站查询方法查询航班,n = 1,方可订票 if(Init(0) == 0){} //按编号查询,只显示一个编号的信息,票存在,但订票失败就给予其它方案 if(Init(k) == 0){}//按照终点站查询,订票失败时给予相应处理方法} ○4退票 void takeoff(){} //请用户输入他的证件号,避免同名现象造成的影响 //买票的乘客的信息已经存入全局数组中,直接从数组中找出该乘客信息,然后改变相应航班和乘客的信息

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

汇编语言课程设计

沈阳大学

2.3 MASM的介绍 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4等指令系统。 2.4总体设计功能 本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯”的模拟显示 程序,由$及*字符相间,从两侧向中间螺旋汇聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最后显示结果。 定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。 视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。 键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器,以及检测键盘状态,有无输入,并检测输入各值。 2.5详细功能设计 2.5.1主程序功能 主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。 沈阳大学

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

《高级语言程序设计》课程设计报告及示例

《高级语言程序设计》课程设计报告(2014――2015年度第二学期) 题目通讯录管理 专业计算机科学与技术 班级2014级B班 小组成员李丽丽2009022899 班级2009级计本四班

《高级语言程序设计》课程设计 成绩评定 指导教师:

摘要:通过本课程设计,对程序控制结构、数组、结构体、函数、文件等的应用进行综合训练,并初步接触软件设计的基本步骤。本设计实现关键词:控制结构,数组,结构体,函数,文件 一、课程设计的目的与要求 通过实践训练,进一步掌握C语言程序控制结构、数组、结构体、函数、文件的使用方法,提高程序编写调试的实际能力,培养初步的工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括功能分析和模块划分、函数设计、 数据的结构分析、设计和存取操作; 2.熟悉Visual C++的代码编制和调试过程; 3.初步培养文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:通讯录管理 1.2系统的主要目标: 本系统目标是实现通讯录管理的功能,对姓名、群组、住宅电话、手机、Email、地址和备注信息进行输入、删除、查找和修改,数据存储于二进制文件。 1.3系统的开发环境及运行环境: 操作系统:Win dows XP Pro SP2 开发工具:Visual C++ 6.0 2.系统分析 1.输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据 作为一个记录。?该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。 2.显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。 3.修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。 4?查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。 5.删除记录:可删除数据文件中的任一记录。 6?恢复记录:能恢复被删除的任一记录。 7.统计:(A)计算各项工资平均工资及总工资,(B)?统计符合指定条件(如职工工资前三项之和在2000元以上、2000~1500元、1500~1000元)以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(?包括各项总的平均工资)。 8 保存数据文件功能。 9.打开数据文件功能。 3.系统设计

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学号 指导教师 完成日期

目录 目录错误!未定义书签。 1 概述错误!未定义书签。 设计目的错误!未定义书签。 设计内容错误!未定义书签。 2 系统需求分析错误!未定义书签。 系统目标错误!未定义书签。 主体功能错误!未定义书签。 开发环境错误!未定义书签。 3 系统概要设计错误!未定义书签。 系统的功能模块划分错误!未定义书签。系统流程图错误!未定义书签。 4系统详细设计错误!未定义书签。 5 测试错误!未定义书签。 测试方案错误!未定义书签。 测试结果错误!未定义书签。 6 小结错误!未定义书签。 参考文献错误!未定义书签。 附录错误!未定义书签。 附录源程序清单错误!未定义书签。

实现加减乘除四则运算的计算器 1 概述 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 开发环境 集成环境 3 系统概要设计 系统的功能模块划分 本题目实现的模块图如图3-1所示

数据结构航空订票系统课程设计报告

攀枝花学院学生课程设计报告摘要 摘要 飞机在现代的生活中扮演者非常重要的角色。它能够快速的把人们送到自己想要去的地方,既快速,又方便。所以现在坐飞机时很普遍的。但是都到机场去买票浪费时间,因此,航空订票系统应运而生。有了航空订票系统,用户可以在该系统进行飞机票的查询,订票,退票等操作。方便了大家 关键词航空订票系统、查询、订票、退票

目录 摘要...................................................................................... I 1 需求分析 . (2) 1.1 需求概述 (2) 1.2 需求环境 (2) 1.3 功能描述 (2) 2 概要设计 (3) 2.1 程序功能模块 (3) 2.2 程序流程图 (3) 2.3 课程设计的思想 (3) 3 详细设计 (4) 3.1 程序初始化 (4) 3.1.1代码功能 (4) 3.1.2 功能实现代码 (4) 3.2 查询航班信息 (6) 3.2.1代码功能 (6) 3.2.3 功能实现代码 (7) 3.3 订票模块 (8) 3.3.1 代码功能 (8) 3.3.2 功能实现代码 (8) 4 测试与运行 (14)

5结束语.................................................................................................... . (16) 6 参考文献.................................................................................................... .. (17) 7附录.................................................................................................... . (18) 1 需求分析 1.1 需求概述 航线管理。每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量 客户管理。有关订票的客房信息(包括姓名、订票量、舱位等级(1,2和3)以及等替补的客房名单(包括姓名、所需标量)。

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

高级语言课程设计报告格式朱立刚

西安郵電學院 高级语言课程设计报告书 系部名称通信工程学院 学生姓名朱立刚 专业名称电子信息科学与技术班级电科0901班 学号04092013 指导教师夏虹 2010年11月22日至 时间 2010年12月03日

实验题目电话簿管理系统 一、实验目的 1.利用静态数组实现电话簿管理,数组中每一个元素是结构体类型; 2.通过这个例子了解数据管理的基本功能; 3.通过实验掌握数组元素为结构体的应用,数组作函数参数,文件读写等知识。 二、实验内容 1.用c语言编写一个简单、但操作齐全的电话簿管理系统; 2.编程时采用结构体、数组(链表)、文件等数据结构存储组织数据。实现: 数据的录入、数据读写和数据存储;数据的添加、修改、删除、查询操作; 数据的统计、排序及报表打印。 三、需求分析 要实现对电话簿进行操作,必须先定义主函数。对于一个合格的电话簿系统,首先必须考虑信息安全问题,我先写了一个密码保护函数,运行前先进行密码输入,有三次出错机会;正确,进入菜单选项,否则,跳出。 对于电话簿,必须能进行信息录入,于是设计了信息录入选项;信息录入后还必须进行显示,又设计了显示记录选项;对于通讯录的一个基本功能——查找,我设计了按姓名查找和按序号查找选项。 对于电话簿的添加、修改、删除问题,还必须有添加修改选项、删除选项。 为方便查找,我设计了按姓名字母字典顺序的排序方法;并进行了文件的保存与备份。对于一个刚打开的新程序,只有进行了文件读入才能对信息进行操作,否则就必须进行信息输入,为避免这种有违设计理念的问题,我加入了读取信息选项。 四、概要设计 1、方案设计 基本功能模块结构图

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

飞机订票系统课程设计报告

飞机订票系统课程设计报告 指导老师: 班级: 学生姓名: 学号: 完成日期: 计算机科学与技术系

飞机订票系统课程设计报告 一、系统分析。 1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。 1.2飞机订票系统简易图 二、系统设计 2.1总体设计(主要功能)

本程序包含六大主要模块①添加信息模块;②浏览信息模块; ③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模 块。 整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。 航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。 输入模块,使用分条输入,以减少错误率并方便操作。 浏览,查询及排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。 订,退票模块调用查询模块实现其功能。 2.2 软件、硬件环境 软件环境 VC2009 硬件环境处理器 Intel(R) Core(TM) i5-3210M CPU @2.50GHz 2.50GHz;显卡 GTX650。 内存 4.0GB 操作系统 Windows 7 2.3主要数据结构和程序的关系说明 主要数据结构是结构体 struct hbxx //定义结构体数组,航班信息 {

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

《高级语言程序设计》课程设计报告及示例

《高级语言程序设计》课程设计报告 (2014——2015年度第二学期) 题目通讯录管理 专业计算机科学与技术 班级2014级B班 小组成员李丽丽2009022899 班级2009级计本四班

《高级语言程序设计》课程设计成绩评定 指导教师:

摘要:通过本课程设计,对程序控制结构、数组、结构体、函数、文件等的应用进行综合训练,并初步接触软件设计的基本步骤。本设计实现 关键词:控制结构,数组,结构体,函数,文件 一、课程设计的目的与要求 通过实践训练,进一步掌握C语言程序控制结构、数组、结构体、函数、文件的使用方法,提高程序编写调试的实际能力,培养初步的工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括功能分析和模块划分、函数设计、 数据的结构分析、设计和存取操作; 2.熟悉Visual C++的代码编制和调试过程; 3.初步培养文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:通讯录管理 1.2系统的主要目标: 本系统目标是实现通讯录管理的功能,对姓名、群组、住宅电话、手机、Email、地址和备注信息进行输入、删除、查找和修改,数据存储于二进制文件。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 开发工具:Visual C++ 6.0 2.系统分析 1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。?该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。 2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。 3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。 4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。 5. 删除记录:可删除数据文件中的任一记录。 6.恢复记录:能恢复被删除的任一记录。 7. 统计: (A) 计算各项工资平均工资及总工资, (B)?统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(?包括各项总的平均工资)。 8.保存数据文件功能。 9.打开数据文件功能。 3.系统设计

高级语言课程设计论文

青岛农业大学 理学与信息科学学院 高级语言课程设计报告 设计题目学生通讯录设计与实现 学生专业班级电子信息工程专业2012级02班 学生姓名(学号)刘涛(20123134) 设计小组其他同学姓名(学号)王博宸(20123190)于勐涛(20123294)周巧丽(20123288)周倩(20123287)邓楚玉(20120822) 指导教师孙华丽 完成时间2014.12.25 设计地点理信学院软件实验室 2014 年 12 月 25 日

学生通讯录设计与实现 一、课程设计目的和意义 高级语言课程设计是计算机科学与技术专业的主要实践性教学环节。其目的在于加深对面向对象程序设计语言程序设计理论和基本知识的理解,掌握使用C++语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力。为毕业设计和以后的工程实践打下良好的基础。该课程设计的意义也十分重大,它可以充分锻炼自己的逻辑思维,提升自己对编程语言的认识和运用,我在设计过程中充分的与其他的学科进行了整合,使自己加深了对程序语言的认识,自己的治学态度也得到了提升。 二、需求分析与设计 1.设计任务分析 设计任务为学生通讯录设计与实现。学生通讯录拥有以下几种功能:添加记录、查找记录、删除记录、修改记录。添加功能可以向数据库中追加数据,查找功能能够根据要求超找记录,删除能够删除数据库中的指定记录,修改功能能够修改制定记录的指定内容。 记录储存在文本数据库中,每个记录记录一个联系人的详细信息,记录内容分别为姓名、年龄、电话、邮箱、地址。 我们小组每个人都有明确的任务分工,本次课程设计我主要负责添加纪录模块的设计与实现。 该程序使用Python语言来进行设计。Python,是一种面向对象、解释型计算机程序设计语言,应用于设计各种各样的应用程序。Python在设计上坚持了清晰划一的风格,语法简洁而清晰,具有丰富和强大的类库,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。 2.设计方案论证 程序通过调用4个函数来实现通讯录的4个模块功能,通过一个home()函数来实现主界面。 home()函数使用一个while循环,根据用户的输入来选定通讯录的功能。 addMes()函数用来添加记录,通过input()函数来获取用户的输入,将一个用户的记录写到一个字典对象中,然后将字典对象字符串化存储到数据库文件中。 findMes()函数用来查找记录,通过input()函数获取要查询的关键类型和关键字,通过字典的键-值映射来查询数据并输出到屏幕上。 delMes()函数用来删除记录,通过input()函数获取要删除的用户的用户名,在循环中通过字典的键-值映射找到要删除的记录,将其余的记录储存在一个list列表中,循环结束后再将列表重新写入数据库文件中。 changeMes()函数用来修改记录,通过input()函数获取要修改的关键类型和关键字,在循环中通过字典的键-值映射找到要修改的记录,将其值修改后与其他记录一同储存在一个list列表中,循环结束后再将列表重新写入数据库文件中。 几大模块功能相辅相成,利用Python语言函数进行纪录的添加,查找,删除和修改,共同实现学生通讯录的设计与实现。 三、设计代码 #!/usr/bin/python # -*- coding: cp936 -*- #Filename : 学生通讯录

(新)汇编语言课程设计四则运算

计算机与信息工程学院《汇编语言》课程设计四则运算器的设计 专业:计算机科学与技术 班级:控制11-2班 姓名: 倪天天 学号:2011025745 指导教师:郝维来 2013年6月28日

摘要 计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。 关键词:计算器,汇编语言,四则运算,功能模块

Abstract Calculator is the easiest calculation tools, a simple calculator with addition, subtraction, multiplication, division four arithmetic functions. Want to use assembly language to achieve a simple calculator, you must pass on the data storage, register usage, addition, subtraction, and related instructions such as assembly language module calls the use of knowledge in order to achieve a basic functional, user-friendly, easy to operate easy calculator. Using assembly language to achieve a simple calculator also involves the design of input and output modules, the judgment of arithmetic operations and exit the program to judge design. Through the rational use of various commands, design various functional modules. When implementing various program modules, through a call to the ultimate realization of the program a simple calculator. Keyword:Calculator, assembly language, four arithmetic, functional modules

相关文档
最新文档