当前位置:文档之家› 火车票管理系统——C语言程序设计实训报告

火车票管理系统——C语言程序设计实训报告

火车票管理系统——C语言程序设计实训报告
火车票管理系统——C语言程序设计实训报告

实训报告

题目:学生成绩管理系统

院系:信息科技学院

专业:计算机科学与技术

姓名:何荣荣

学号: 04

指导教师:王小琼

日期: 2018年6月28日

桂林电子科技大学信息科技学院

前言

课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者

目录

1、问题定义 (4)

2、系统设计 (4)

2.1 总体设计 (4)

4、详细程序 (12)

5、归纳总结 (15)

5.1 开发经验 (15)

5.2 实训中遇到的问题及解决方法 (15)

5.3 感想和心得体会 (15)

6、参考资料 (16)

火车票管理系统

本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的文件和单链表的各种基本操作。本程序中涉及字符数组的使用、字符指针的使用、数据库的设计和文件使用等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。

1、问题定义

该系统要求实现一个简单、实用的火车票管理程序,主要功能包括火车票数据的录入、查找、删除、显示、售票、退票等。所有火车票数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。

本火车票管理系统应该具备如下功能:

1)录入班次:车次信息包括:班次、发车时间、起点站、终点站、行车时间、额定载

量、已售票)

2)显示所有班次

3)查询班次

4)增加班次

5)售票

6)退票

7)修改班次

8)(退票)删除班次

9)退出

2、系统设计

2.1 总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上

面一层是主模块,下面各层是其上一层模块的逐步细化描述。

车票管理系统软件的功能模块有:

(1)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按enter 键进入该功能。

(2)接受用户输入的功能项,按enter 键结束输入并将进入该系统,其需要的结果显示出来,方便用户查看。

1 调用 录入班次 6调用 退票

5调用 售票

4调用 增加班次

2调用 显示所有班

3调用 查询班次

9调用 退出

8调用 删除班次

7调用 修改班次

火车票信息管理系统

调用主菜单选项

完成功能后返回主菜单

(3)完成每次功能,可保存用户的修改的信息,及时更新文件信息。下次查询时内容为最新信息。实时的信息更新对比等。

一个名TICKET的结构体进行定义,包括num[10] hour[3]; min[3] from[10]; to[10]; hours max; now;等结构体成员。

然后对调用函数进行定义。

int system_time()系统时间

void NewMessage()新纪录录入函数

void ShowTable1() void ShowTable2(int i) 线框调用1和2不用每次输

void Display()显示所有函数

void add()增加记录

void save()保存函数

void save()保存函数

void load()按班次查询函数

void search()查询函数

void change()修改函数

void quit()退出函数

void Ticketorder()售票函数

void Ticketdelete()删除函数

int menu_select()菜单函数

int whether(int)判断时间是否超出函数

void find(char s1[],char s2[])查询函数

车时间.起始

站.终点站.行车时间.额定载量.已售票数,输入完毕后按enter 键将完成录入班次结果,同时程序将再次提醒用户进行新的选择。

显示所有班次

判断键值,调用相应函数,

完成相应功能

开始

登录,确定访问权限

输入[0~9]中的一个数值,选择相应

操作,并选择判断输入值

结束

登录框

主界面

选择窗口

图 主控函数执行流程图

图3-2查询班次界面

可以显示所有录入的信息。

查询所有班次功能

图3-3选择查询方式的界面

该功能将实现程序运行班次的查询。选择3并按enter键将实现该功能。分班次和终点站两种方式查询。

增加班次功能

图3-4增加班次界面

该功能将增加班次信息,帮助用户更新班次信息。选择4并按enter键将实现该功能,再按提示输入就行。按任意键返回主菜单。

售票功能

图3-5-1选择售票功能界面

图3-3-2订票的界面

选择5按enter键实现该功能,按任意键关闭程序。买票程序可提示买票成功否,且自动判断是否可卖。

退票功能

图3-6退票界面

选择6按enter键实现该功能,按任意键关闭程序。退票程序可提示退票成功否,且自动判断是否可退。

修改班次功能

图3-7修改界面

选择7按enter键实现该功能,按任意键关闭程序。按提示操作修改班次。删除班次功能

图3-8删除界面

退出功能

图3-9退出界面该功能可退出系统,选择9按enter键实现该功能

4、详细程序

#include<> 录入班次", "\n 2. 显示所有班次", "\n 3. 查询班次", "\n 4. 增加班次", "\n 5. 售票",

"\n 6. 退票",

"\n 7. 修改班次",

"\n 8. 删除班次",

"\n 9. 退出"};

/**************************主函数*************************/

void main()

{

while(1) um);

for(h=0;h

if(strcmp(records[h].num,records[i].num)==0)

um,records[i].hour,

records[i].min,r ecords[i].from,records[i].to,records[i].hours,

records[i].max,records[i].now);

else

printf("|%10s| 已发车|%10s|%10s|%|%8d|%8d|",records[i].num,

records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

}

ShowTable2(j); ..\n");

getch(); 按班次查询\n");

printf("2. 按终点站查询\n");

printf("3. 退出\n");

printf("请选择(1-3):\n");

scanf("%d",&i);

load(); ..\n");

getch(); um)==0||strcmp(s2,records[i].to)==0)

um,records[i].hour,records[i].min,

records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

h+=2;

if(m==1)

break;

}

ShowTable2(h); 增加班次\n");

printf("2. 返回\n");

printf("请选择(1-2)\n");

scanf("%d",&i);

if(i==1)

{

printf("1. 请输入要增加的班次:\n");

scanf("%s",records[class_num].num);

for(i=0;i

if(strcmp(records[class_num].num,records[i].num)==0)

售票\n");

printf("2. 返回\n");

printf("请选择(1-2):\n");

scanf("%d",&i);

if(i==1)

{

load(); um)==0)ax>records[i].now&&whether(i)==1)

ow++; o,records[i].num);

save(); 退票\n");

printf("2. 返回\n");

printf("请选择(1-2)\n:");

scanf("%d",&i);

if(i==1)

{

load(); um)==0) ow--; 删除班次\n");

printf("2. 返回\n");

printf("请选择(1-2):\n");

scanf("%d",&i);

if(i==1)

{

printf("请输入要删除的班次:\n");

scanf("%s",num);

i=findnum(num); um)==0) um,records[i].hour,

records[i].min,records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

h+=2; at","wb"))==NULL) at","rb"))==NULL) {

printf("文件打开错误!\n");

getch(); our,records[i].min);

if((atoi(records[i].hour)<24&&atoi(records[i].hour)>=0)&&(atoi(records[i].min)<60&&atoi( records[i].min)>=0))

break;else

{

printf("输入错误!\n");

getch(); rom);

printf("请输入终点站:\n");

scanf("%s",records[i].to);

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

scanf("%f",&records[i].hours);

printf("请输入额定载量:\n");

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

for(;;)

{

printf("请输入已售票数:\n");

scanf("%d",&records[i].now);

if(records[i].now<=records[i].max)

break;

else

{

printf("输入错误!\n");

getch();

our)||local->tm_hour==atoi(records[i].hour)&&local->tm_min

}

5、归纳总结

5.1 开发经验

通过对本题目的开发,体会到要掌握以下几点内容很重要:

1.大程序的设计风格。按“自顶向下,逐步细化,模块化”的方法进行程序设计。

2.编写主函数,并进行测试与调试。当被调函数又需要调用其他函数时,也要遵循逐

步细化的原则。C语言提供丰富的库函数,编程序时要善于使用库函数,避免不必

要的劳动。

3.文件使用方法。文件使用完毕后应及时关闭。

4.函数的定义应明确内容。

5.主函数良好的调用会使代码更美观。

5.2 实训中遇到的问题及解决方法

在这次的实训中,主要遇到的问题是

fread(&class_num,sizeof(int),1,fp2); 数据来自给出的输入流. 函数的返回值是读取的内容数量...的意思

打代码过程中,其实重复利用了很多数据,很容易浮躁,幸好有学长的指点,让我们活学活用,自己定义一个新的函数,然后后面需要就直接调用就好了。

5.3 感想和心得体会

通过将近两周的程序设计实习,我首先认识到自己编程水平的有限,还要当初有学好C 语言这么课程,其次我也意识到编程是件很严谨的工作,一点点小的错误都会引起不可想象

的连锁反应。

实践出真知,我觉得这两个星期的学习,自己收获很大,对我自己来说也是一种锻炼,不仅在一定程度上增长了我对编程的认识,我也学会了团队合作,学会了坐冷板凳一行一行敲代码。

当然,我自己身上依然存在着不少的问题。比如对于一些难懂的代码,还是参考了网上的程序,比如录入数据的时候一开始不知道怎么让各组信息整齐地排列,以及如何完美的输入输出等。

我们大学生学编程,实践真的是很好的方式,我非常感谢学校给我们安排这样一次珍贵的实习机会,让我们第一次面对问题、解决问题,在实战中真正地提高了自己对编程的理解和编程的能力,真心希望学校多给我们提供这样书本之外的考核和锻炼。

指导老师王老师对我们的严格要求是我们更加努力完成作业,提高自己的打代码水平,并努力真正的成为计算机专业的技术性人才,再次真的非常感谢王老师的鼓励教导!

6、参考资料

[1] 谭浩强C程序设计教程北京高等教育出版社1992

[2] 耿国华高级程序设计技术(C语言版)西安电子科技大学出版社2009

[3] 王骞、陈宇、管马舟程序设计经典300例

[4] Andrew Koenig Andrew Koenig 《C陷阱与缺陷》

[5] Brian W. Kernighan、Dennis M. Ritchie C程序设计语言第2版·新版

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

管理信息系统实验报告

实验一认识计算机硬件和网络结构 一、实验题目 认识计算机硬件和网络结构。 二、实验课时 2课时。 三、实验目的 认识计算机的主要构成部件、功能、型号、在计算机机箱内的位置、网络结构等。 四、实验内容和要求 1、利用多媒体演示计算机的主要组成部件:机箱、主板、CPU、内存条、硬盘、软驱、光驱、插槽、BUS总线、串行接口、并行接口、USB接口等; 2、打开机箱,实物展示并讲解个部件的功能及其连接; 3、机箱、主板、CPU、CPU风扇、内存条、显卡、网卡等分别如下所示。 机箱主板

内存条显卡网卡无线网卡 CPU CPU风扇硬盘 机箱背面并行接口串行接口USB接口 4、观察每个部件在机箱的位置,并掌握每个部件的功能和基本知识。 5、观察实验室网络结构图。 6、结合某网吧的例子更好地理解网络结构。 Parallel port Serial port USB port Keyboard and mouse ports

7、独立完成上述内容,并提交书面实验报告。 五、实验体会 通过本次实验,我了解了计算机的各种硬件和网络结构。知道了各种硬件的形状、功能、特征等。还知道了网络结构的流程、大体构造。这使我对计算机有了初步的认识,为以后更进一步的学习打下了坚实的基础。也为我以后的学习和生活提供了方便。 1、cpu——中央处理器,是一台计算机的运算核心和控制核心。 2、硬盘——是电脑的主要存储媒介之一。 3、主板——又叫主机板、系统板或母板,安装在机箱内,是微机最基本也是最重要的部件之一。 4、机箱——作为电脑配件的一部分,它起的主要作用是放置和固定各电脑配件,起到一个承托和保护作 用。 5、内存条——是连接CPU和其他设备的通道,起到缓冲和数据交换作用。

C语言程序设计报告

河南理工大学万方科技学院 C语言课程设计报告题目简单计算器编程 姓名何美美 学号072130026 专业07通信 班级一班 指导教师董玉杰 2008年09 月05日

目录 一、设计目的 (1) 二、本组课题及本人任务 (2) 三、主体内容 (3) (1)流程图 (2)源程序 (3)上机调试 (4)实验结果 四、设计体会 (6)

设计目的 1 复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3 培养学生在项目开发中团队合作精神、创新意识及能力 本组课题及本人任务 1 设计一个简单计算器能完成基本的加、减、乘、除计算,尽量模仿Windows计算器。系统界面不做强制要求。 2在本次设计中,由何永美、刘艳玲、贺清隆三人共同完成,由于知识掌握不牢,因此每一步都要共同商量,其中源程序由我们参考大量资料而成。 3本人负责程序调试及其他有关工作。

流程图主要内容 简单计算器

程序代码如下: /*代码文件名:E4_6.C*/ /*计算器的模拟*/ #include #include double add (double a,double b) {return a+b;} double sub (double a,double b) {return a-b;} double multi(double a,double b) {return a*b;} double divis(double a,double b) {return a/b;} Void main() { double x,y; int select; printf("input two numbers:"); scanf("%lf,%lf",&x,&y); printf("1------add\n"); printf("2------sub\n"); printf("3------multi\n");

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

信息系统开发实训报告

目录 一、实践目的 (3) 二、实践任务 (3) 三、解决方案 (4) 1.开发环境 (4) 2.运行所需软件安装与配置 (4) 3.技术方案 (4) 4.解决步骤 (5) 四、实践过程 (5) 1.环境搭建 (5) 2.导入案例 (11) 3.系统分析 (14) 4.编码实现 (15) 5.界面美化 (18) 6.测试调试 (18) 7.运行结果 (18) 五、实训总结 (23) 1.Web应用的建立过程 (24) 2.Web应用的调试步骤与技巧 (25) 3.项目部署与项目拷贝的异同 (27) 4. MySQL 软件、SQLyog 软件、jdbc 连接 jar 包、数据库、表之间的关系 (28) 5. JDK、Tomcat、MyEclipse 之间的关系 (28) 6. severlet、服务类、JSP、JS 之间的配合关系 (28) 7. JSP 页面间的信息传递方式 (29) 六、实践体会与建议 (29) 1.实训日志 (29) 2.实践体会 (30) 3.改进建议 (30)

一、实践目的 本次实践具体目的是通过使用MyEclipse和Sublime Text编辑器,编写代码,使用Java构建系统的后端、HTML\CSS\JavaScript搭建网页、连接MySQL数据库实现挂账信息的增删改查。利用Tomcat应用服务器响应访问请求,搭建一个挂账信息系统,使我们初步熟悉相关软件的操作以及MySQL语句的调用,增强我们对编程的认知,提高我们的兴趣,有利于我们之后的编程语言及数据库学习。 二、实践任务 从表库中选择第14张表挂账单表,开发一个操作挂账单表的 java Web 应用程序,实现所选表信息的增删改查,在 Web Form 中动态显示表或视图中的数据。

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

管理信息系统实验报告

《管理信息系统》实验报告 实验项目:教务处排课系统分析 实验学时:18学时 姓名: 学号: 专业班级: 实验时间: 实验成绩:

东北财经大学 《管理信息系统》实验报告实验项目名称:

管理系统实验报告 实验小组成员: 实验对象:教务处排课信息系统 实验对象背景介绍:教务管理系统是一个庞大而复杂的系统,它包括:学生学籍管理 系统、排课系统、教师管理系统、学生成绩系统、系统设置、班级信息系统、教学培养计划管理系统、教学资源管理系统、招生系统教务信息发布系统和事务处理系统。随着科学技术的进步与相应的管理信息系统的升级,教务系统管理平台充分利用互联网络B/S管理信息模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。教务管理系统内部子系统多样庞杂,今天我们主要讨论的研究对象是排课管理信息系统。 排课管理系统是每个学校必不可少的内容,它的优劣直接学校教学工作质量和学校的正常教学活动秩序。随着现在生源数量的不断增长以及各行业竞争日益激烈,为了满足中国社会主义事业发展对高素质人才的需求,各大高校都在尽自己努力,以本校现状及需求作为基础,以科技发展进步作为依托,发展完善一个功能完整,操作简单快捷,高效率,与本校其他教务管理系统良好适应的排课系统与之配套,使教师等教学资源利用达到最大化,为学生提供优良的教育环境。因此,东北财经大学作为一个知名的财经类高校,要达到适应教育现状及提高自身教育层次的目标,完善教务排课管理系统显得尤为重要。 系统功能简述 排课管理系统需要合理调配各个班级专业所需的专业课程选修必修课程,相应教师,教师及上课班级,尽可能全面的考虑到教师的身体状况,工作条件,家庭状况甚至与学校距离,教师及学生时间,各种课程按重要程度以及学生兴奋点和接受能力合理排序,教师的容量用途,学校集体活动或教师会议等多方面因素,以计算机安排为主,手工调整为辅的方式做出各个院系各个专业各个班级的课程安排。 排课管理系统的目标不仅是对于原有系统进行改进提高,还使课程管理科学化系统化准确化,减少手工录入的误差可能性,方便操作者的随时添加、查询、修改,是统计表格格式规范化统一化,提高工作效率,降低人工成本,提高处理数据能力与速度,提高教学质量,优化学校教务管理系统,为学校的进一步发展提供技术支持与可能性。 系统分析 (1)系统分析任务:根据系统设计任务书所确定的范围,并在充分认识原有系统的基础上进行详细的调查分析,通过问题识别、可行性分析、详细调查、系统化分析,进而确定新系统的基本目标和逻辑功能结构,最后完成新系统的逻辑方案设计。 (2)可行性分析和详细调查概述:由于实验的限制,假定建立排课管理信息系统在管理上、技术上、经济上都是可行的。而详细调查采用一定的调查方法发现了现行系统有以下优缺点: 现有系统优缺点分析 1.选课分为预选、正选、补退选,一定程度上完善了选课系统。 2.在选课中,按年级差异区分次序,一定程度上缓解短时间内系统压力,保证了高年级学生顺利完成课业。

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

信息系统项目开发实训报告模板

烟台南山学院 管理科学与工程系 实训报告 项目:高校教材管理系统 姓名:杨小辉 专业:信息管理与信息系统 班级: 学号: 指导教师: 完成时间:

摘要 UML是当前面向对象分析和设计过程中使用的一种建模语言,是重要的图形化建模工具。UML能让系统开发者用标准的、易于理解的方式表达出对系统正确、完整的认识,并有利于在开发团队中进行有效地沟通和共享。本文以高校教材管理系统的开发为背景,使用UML进行高校教材管理系统的建模,进行软件开发,以缩短项目开发周期,降低了代码数量,提高了系统的可维护性,以摆脱传统的手工管理模式,从而便于管理决策人员迅速掌握情况,加快教务管理工作的现代化进程。

目录 一、引言 (1) 1.1 背景 (1) 1.2 UML工具简介 (1) 二、系统概述 (2) 2.1 项目说明 (2) 2.2系统的分析与设计 (2) 三、创建系统模型 (5) 3.1系统建模过程 (5) 3.2建立用例图 (5) 3.3 创建系统静态模型 (7) 3.4 系统的动态模型 (8) 四、建立实现模型 (16) 五、结束语 (17) 参考文献 (18)

一、引言 1.1 背景 随着高等学校扩大招生情况的出现,每一个高校需要处理的各种教材的数量逐年倍增。如何改变低效率的原始教材管理方式,成为摆在高校管理人员面前的一个重要课题。作为教务管理工作的一个组成部分.教材管理工作要处理的数据量非常巨大,涉及各院系的师生以及个部门的校务人员。为提高工作效率和工作质量,通过计算机系统对其进行管理。以摆脱传统的人工操作.显得非常重要。而建立高效的教材管理系统就是一个解决此根本问题的思路这里将介绍一个高校教材管理系统的建模实例。 1.2 UML工具简介 统一建模语言 (UML)是非专利的第三代建模和规范语言。UML 可以贯穿软件开发周期中的每一个阶段,因此被 OMG采纳作为行业标准。UML 最适于数据建模,业务建模,对象建模,组件建模等,并同时可以对任何具有静态结构和动态行为的系统进行建模。UML 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被 UML 工具转化成指定的程序语言代码。 IBM 的 Rational Rose 和 MS 的 Visio 都是 UML 工具软件。标准建模语言 UML 的重要内容可以由五类图(十种图形)来定义,如表所示:

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

管理信息系统实验报告分析

实验报告 课程:管理信息系统 一、实验目的 验证有关概念和理论,加深对概念和知识的理解和认识;熟悉和掌握Visual Basic 6.0 软件的使用方法;初步具备信息管理知识和制作数据字典、系统数据流程图的能力。运用课程讲授的管理信息系统的系统分析方法、模块化系统设计方法以及系统的调试方法进行人事档案管理信息系统的分析、设计、开发、实现与调试。 二、实验方法 面向对象法 三、实验环境及开发工具 1.硬件环境 在最低配置的情况下,系统的性能往往不尽如人意,但现在的硬件性能已经相当的出色,而且价格便宜,因此通常给服务器的配置高性能的硬件。 处理器:Interl Pentium II 266 MX 或更高 内存:64M 硬盘空间:2 GB 显卡:SVGA 显示适配器 显示器:液晶17寸 2.软件环境 操作系统:Windows/98/ME/2000/XP或更高版本 数据库:Microsoft Access 2000 3.实验开发工具:Visual Bisic 6.0程序系统 四、实验内容

(一)、系统分析 1、系统数据流程图 2、数据字典 3、系统中所有实体(包括实体的属性)以及实体之间的联系类型分析 人员的个人资料经过专业的处理部门的处理形成个人档案。档案包括自然情况,工作情况,简历,政治情况等各方面信息,内容比较庞大复杂。将档案信息传送到人员信息库。同时还综合考虑档案管理工作的性质,总结归纳出所需实现

的功能。为人事档案进行服务,对人事的变动、人事资料、以及人事资料的查询,统计等功能。总体上说具有编辑,查询,用户管理,图表统计等功能。然后将最终结果提交到人力资源管理部门,由人力资源管理人员进行审查,以便于对职工的调配。 4、典型处理的表达 档案完整添加用户档案到档案库 个人信息成功添加到档案库 修改用户档案信息 失败退回用户档案 退回用户档案 (二)、系统设计 1、子系统划分(或功能划分或模块划分) 功能划分 1、用户管理 功能:设置使用人事管理系统的用户及其使用权限。整个人事管理系统由多个功能模块组成,不同的模块完成不同的功能,所以可以为不同的职工分配不同的功能,使其具有不同的权限,完成其权限所对应的功能,从而很好地管理好整个系统。 2、辅助表管理 功能:通过它的这个功能可以有效的对本单位人事部门的扩充进行及时的计算机管理。只要管理员进行简单的数据字段添加即可。辅助表管理功能是高级管理员及中级管理员拥有的权限,它的功能是对数据库进行新表的添加。 3、档案编辑 功能:档案编辑模块中有4个子模块。他们是档案卡片、个人简历、家庭成员、历史档案等功能。这些功能因管理员的权限不同所表示出的功能使用也不同,普通管理员没有数据修改及删除的权利。在这些功能里详细的记录了所有单位员工的资料。 4、档案查询 功能:对档案卡片的查询功能,在这里可以查到符合程序要求的任何信息。

c语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013—2014学年第3学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号:1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。

信息管理系统实验报告

信息管理系统实验报告 班级:09财务管理(3、4)班 成员:章雅青2009101238(三班) 温小美2009101253(四班) 高艺佳2009101284(三班) 温丽妮2009101302(四班) 指导老师:胡蓉 2012-4-26

食堂信息系统调查大纲 ?一、引言 ?二、系统需求分析 ?三、可行性分析 ?四、概念结构设计 ?五、逻辑结构设计 ?六、物理结构设计 ?七、数据库结构的实现 ?注:本设计暂只完成到第三步 一、引言 1.1 背景 随着高校办学规模不断扩大,高校的后勤管理工作也日益繁杂,许多大型高校拥有多个校区,这也要求食堂的规模不断扩大,这些食堂地理位置分散,又要实现统一协调管理,就不得不借助现代化的管理模式---网络管理模式。 1.2目的 学生信息量的成倍增长给食堂管理工作提出了巨大的考验。为了提高工作效率,避免以前手工作业的麻烦,使管理者能够准确,有效的管理餐饮,同时也让同学们有序文明的进餐,对学校食堂进行信息化管理是十分有必要的。 二、系统需求分析 信息管理系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下五点内容: ⑴用统一标准处理和提供信息,排除使用前后矛盾的不完整数据。 ⑵完整、及时提供在管理机决策中需要的数据。 ⑶利用指定的数据关系分析数据,客观预测未来。 ⑷向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间。 ⑸用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实 施方案,以提高企业的经济效益。

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

c语言程序设计报告4

课程设计报告 课程名称C语言程序设计 课题名称运动会分数统计系统 专业机械设计及其自动化 班级1185班 学号201113090526 姓名谭信 指导教师王颖 2012年6月22日

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题运动会分数统计系统 专业班级机械设计1185 学生姓名谭信 学号201113090526 指导老师王颖 审批王颖 任务书下达日期2012年6月1日 任务完成日期2012年6月22日

现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。而C 语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

绪论 (1) 第一章需求分析 1.1程序的功能及要求 (5) 1.2系统的性能要求 (5) 1.3测试数据 (6) 第二章概要设计 2.1结构体 (6) 2.2主程序(main) (6) 2.3模块的功能 (6) 2.4程序模块机之间的调用关系 (7) 第三章详细设计 3.1宏定义 (8) 3.2数据类型定义 (8) 3.3函数之间的调用关系图 (8) 3.4算法设计 (9) 第四章调试分析 4.1不足之处 (10) 4.2错误规范 (10) 4.3算法的时空分析 (10) 4.4存在的问题 (10) 第五章测试结果 (11) 第六章用户使用手册 6.1运行环境 (12) 6.2用户界面 (12) 6.3操作过程 (13) 第七章参考文献 (14) 第八章设计体会 (15) 第九章附录 (17) 课程设计评分表 (29)

管理信息系统实践报告

青岛农业大学教务处管理信息系统系统分析信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,但是还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存、要发展、要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。这对于正在迅速发展的各大高校而言,同样有着重要意义。 现如今高校为适应社会的需求以及自身办学的需要,扩建、扩招已在寻常不过。自然就会有更多的学生信息需要处理。如果只靠人力来完成,必然是一项非常繁琐、复杂的工作,而且还会出现很多意想不到的错误,这不仅会给教学及管理带来了很大的不便,也不益于学校全面快速发展的需要。众所周知,作为高校日常教学中的主要管理工作之一的教务管理,它涉及到院校、专业、师生等诸多方面。特别是目前国家的教育体制也正处在不断改革、创新的阶段,教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出了适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。同时,随着选课制的展开和深入,教务日常管理工作也日趋繁重、复杂,如何把教务工作信息化、模块化、便捷化便成为了现代高校发展的重点。所以总的来说,教务管理软件应实现教务信,集中管理,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。在高校中,教务管理工作具有举足轻重的地位,教学质量直接取决十教务管理水平。现如今教务管理信息系统的开发与实施可谓日新月

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)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

C语言职工信息管理系统实训报告

程序设计工程训练 报告 职工信息管理系统 课程名称C语言程序设计工程训练 姓名 院(系) 专业班级 学号 指导教师

目录 1 需求分析 (1) 2 系统总框图和功能模块说明 (1) 2.1 系统总框图 (1) 2.2 功能模块说明 (2) 3 系统设计 (2) 3.1 主要结构体 (2) 3.2主要功能函数 (3) 3.3 关键函数的流程图 (4) 4 系统调试 (4) 5 总结 (9) 6 源程序清单 (10)

1 需求分析 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●职工信息录入功能(职工信息用文件保存)--输入 ●职工信息浏览功能--输出 ●职工信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等) ●职工信息删除、修改功能 2 系统总框图和功能模块说明 2.1 系统总框图 图1 系统总框图

2.2 功能模块说明 1.菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。 2.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。 3.保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。 4.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。 5.删除模块:删除需要删除的职工的所有信息,通过自己定义的void del()函数来实现。 6.添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。 7.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。 8.按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定义的void search_tel函数来实现。 9.修改模块:可以修改需要修改的职工的相关信息,通过自己定义的void modify()函数来实现。 10.退出系统模块:退出职工信息管理系统,通过头文件windows.h中的exit(0)函数来实现。 3 系统设计 3.1 主要结构体 struct employee //定义一个职工信息的结构体 { int num; char name[10]; char sex; int age; char xueli[30]; int wage; char addr[30];

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

相关主题
文本预览
相关文档 最新文档