文档库 最新最全的文档下载
当前位置:文档库 › shell程序设计(通信)1报告

shell程序设计(通信)1报告

shell程序设计(通信)1报告
shell程序设计(通信)1报告

Shell程序设计

本章的学习目标

●了解shell的地位和作用

●熟练掌握shell脚本的建立与执行方法

●掌握shell的变量及特殊字符

●掌握shell的输入输出命令

●掌握shell程序逻辑结构语句

主要内容

● Shell概述

● Shell的变量

● Shell中的特殊字符

●Shell编辑中的输入输出命令

● Shell结构控制语句

Shell简介

1、Shell的功能(1)作为命令解释程序

(2)作为一种高级程序设计语言

shell是一种命令行解释程序,它提供了用户与操作系统之间基于命令行的交互界面。用户命令行输入命令,由SHELL对它们做出解释,并将其送往操作系统去执行。然而,它不仅仅是一种交互式语言,它还是一种可编程的程序设计语言。将若干个shell命令写入一个文件就构成了一个shell程序,它可以被shell逐条的解释执行。

Shell简介

shell程序可以使用各种变量、参数和控制结构来组织命令流程,自动化的完成各种复杂冗繁的处理工作。

shell是基于字符串的语言:只做字符串处理,不支持复杂的数据结构和运算。Shell 输出也全部是字符方式。

2、Shell的主要版本:sh csh ksh

在linux系统中流行的使用的shell主流是Bash,它是Bourne Again Shell的缩写,bash 是由bourne shell发展而来的,但是它包含了csh和ksh的特性。

shell脚本的建立与执行

●shell脚本的建立

●Shell脚本是文本文件,可以用任何文本编辑器建立和编辑脚本,shell脚本文件

的名称没有限定的扩展名,通常不带扩展名或带“.sh”扩展名。

●①vi shell脚本名

●②cat >文件名

●。。。。。

Ctrl+d

例9.1 第1个Shell程序:

$ cat hello #hello程序

# This is a shell script to say hello.

echo Hello World!

echo -n “Today is ”

date “+%A, %B %d, %Y.”

$ . hello #运行hello程序

Hello World!

Today is Saturday, October 13, 2015.

$

这个hello程序的第1行是注释,后面3行是命令。在执行此程序时,Shell依次执行这3个命令并输出显示信息。

shell脚本的建立与执行

●shell脚本的执行方式主要有3种

●(1) 将脚本作为可执行文件执行:

$ chmod a+x hello

$ ./hello

用文本编辑器生成的脚本文件默认是没有x权限的,也就是说是不可直接执行的。赋予x权限后,脚本就可以像一般的Shell命令那样执行了。如果脚本不在系统存放命令的标准目录下,需要在执行时指定脚本的路径。上例中脚本hello放在当前目录下,所以要用./hello来运行。

shell脚本的建立与执行

(2) 启动一个Shell子进程来执行脚本文件:

$ sh hello #或sh < hello

执行此命令行时,Shell进程先启动一个bash子进程,让它执行hello脚本的内容,执行完毕后bash子进程也终止。在这种方式中,脚本是作为命令参数传给子Shell的。子Shell运行时读取该文件并执行其内容,因此脚本文件不必有执行权限。

shell脚本的建立与执行

(3) 让当前Shell进程执行脚本文件:

$ . hello #注意.后面的空格

“.”是一个Shell内部命令,hello是它的参数。“.”命令的功能是读取参数指定的文件,执行其内容。这种执行方式与第2种方式类似,区别在于此方式是由当前Shell进程来执行脚本文件的。

shell的变量

●Shell是基于字符串的编程语言,shell的变量只能存储字符串。

●Shell的变量有两种类型,即shell环境变量和用户自定义变量。

●Shell的环境变量:作用是定制shell的运行环境,保证shell正确执行,它又分为可

写和只读两大类。

●1、可写的shell环境变量

可写的shell环境变量可以对它们进行赋值,大部分可写的shell环境变量都在登录过程中执行“/etc/profile”文件时进行初始化。该文件由系统管理员设置,用于为系统上的所有用户建立一个公共环境。

部分重要的可写环境变量

CDPATH:包含一系列目录名;如果该变量未设置,cd命令将搜索当前目录。

ENV:UNIX/ linux查找配置文件的路径

HOME:用户初次登录时的起始目录

PATH:包含了用户的搜索路径的变量,也即shell用来搜索外部命令或者程序的目录。

PS1:在命令行上出现的shell提示符。

PS2:如果shell认为一个命令尚未结束,例如当命令以作为转义字符的反斜杠终止时,则在命令的第二行显示第2个shell提示符

PWD:当前工作目录的名称

TREM:用户控制终端的类型

PPID:父进程的进程ID号

●2、只读的shell环境变量

只读的shell环境变量的变量名和值有shell自动设置。用户能使用和读取它们的值,但不能对它们进行更改,只读的shell环境变量有两种:一种是特殊的环境变量;另一种是位置参数。

特殊的环境变量

●$@所有参数字符串组成的字符串

●$0 shell程序名

●$1-$9第一至第9个命令行参数的值

●$#命令行参数的个数

●$$当前进程的进程ID(PID)

●$?最后执行的一条命令的退出状态,返回值为0则成功,非0则失败

●$!在后台运行的最后一个进程的进程ID

位置参数

●在命令行传递给shell脚本的参数。

●共有十个位置参数,依次是

●$0,$1,$2,…,$9

●必有$0;而其他位置参数依据实际需求,可有可无。

●输出位置参数

●可以用echo命令输出位置参数

[root@localhost ~]# cat var_test

echo My name is $0, I have $# parameters, they are $@

echo The first of them is \“$1\”

字符串测试

参数功能

str 如果字符串str不是空字符串,则测试条件

为真

str1 = str2 如果strl等于str 2,则测试条件为真(注

意,“=”前后须有空格)

str1 ! = str2 如果str1不等于str2,则测试条件为真

-n str 如果字符串str的长度不为0,则测试条件为

-z str 如果字符串str的长度为O,则测试条件为真例如:

●(1)判断两个变量S1与S2字符串是否相等,可以写成[“$S1” = “$S2”]或者

test “$S1” = “$S2”

●(2)在引用变量及字符串中,要求用双引号括起来,如判断变量S1是否等于字符

串“yes”可以写成:

[“$S1” = “yes”]或者test “$S1 = “yes”

幻灯片52

数值测试

参数功能

n1 –eq n2 如果整数n1等于n2(n1 = n2),则测试条件

为真

n1 –ne n2 如果整数nl不等于n2(n1 <> n2),则测试

条件为真

n1 –lt n2 如果n1小于n2(n1 < n2),则测试条件为真n1 –le n2 如果n1小于等于n2(n1 <= n2),则测试条

件为真

n1 –gt n2 如果n1大于n2(n1 > n2),则测试条件为真n1 –ge n2 如果nl大于等于n2(n1 >= n2),则测试条

件为真

幻灯片53

用逻辑操作符进行组合的测试语句

参数功能

! 逻辑非,放在任意逻辑表达式之前,原来真

的表达式变为假,原来假的变为真

-a 逻辑与,放在两个逻辑表达式之间,仅当两

个逻辑表达式都为真时,结果才为真

-o 逻辑或,放在两个逻辑表达式之间,其中只

要有一个逻辑表达式为真时,结果就为真( ) 圆括号,用于将表达式分组,优先得到结果。

括号前后应有空格并用转义符“\(”和“\)”用逻辑操作符进行组合的测试语句实例

●[ ! "$s1" -le 0 ]

●! test "$s1" -le 0

●[ -f "$s1" –a –w "$s1" ]

●test –f "$s1" -a –w "$s1"

●[ "$s1" –gt 0 –o "$s2" –lt 10 ]

●test "$s1" –gt 0 –o "$s2" –lt 10

●[ \( "$a" –gt 0 –a "$a" –lt 10 \) –a "$a" –ne 5 ]

test \( "$a" –gt 0 –a "$a" –lt 10 \) –a "$a" –ne 5

算术表达式和退出脚本程序命令

●五种基本的算术运算:+(加)、-(减)、\*(乘)、/(除)和%(取模)。shell只

提供整数的运算。格式如下:

●expr n1 运算符 n2

●例:expr 15 \* 15

●注意:在运算符的前后都留有空格,否则expr不对表达式进行计算,而直接输出它们。

●退出脚本程序命令exit

case语句

●对同一变量进行多次的测试,比elif语句更简单、简洁

●case string1 in

●str1)

● commands-list1;;

●str2)

● commands-list2;;

●...

●strn)

● commands-listn;;

●esac

例7.10用case语句来判断输入的位置参数所携带的字符串是否匹配一个文件名的字符串。#cat test7-10

case $1 in

file) echo “it is a file”;;

dir) echo “current directory is `pwd`”

ls –l;;

*) echo “it is not a filename”;;

esca

使用case语句时应注意以下几点

●(1) 每个正则表达式后面可有一条或多条命令,其最后一条命令必须以两个分号(;;)

结束。

●(2) 正则表达式中可以使用通配符。

●(3) 如果一个正则表达式是由多个模式组成,那么各模式之间应以竖线“|”隔开。表

示各模式是“或”关系,即只要给定字符串与其中一个模式相配,就会执行其后的命令表。

使用case语句时应注意以下几点

●(4) 各正则表达式是唯一的,不应重复出现。

●(5) case语句以关键字case开头,以关键字esac结束。

●(6) case的退出(返回)值是整个结构中最后执行的那个命令的退出值。若没有执行

任何命令,则退出值为零。

例7.11case语句的通配符几多个模式组合实例

#cat test 7-11

case $1 in

[dD]ate) echo “the date is `date`”;;

dir|path) echo “cuurent directory is `pwd`;;

*) echo “bad argument”;;

esac

for语句

●for命令常用于简单的、确定的循环处理

●格式:

●for variable [in argument-list]

●do

● command-list

●done

●作用:重复执行command-list中的命令,执行次数与in argument-list中的单词个

数相同。其中的[in argument-list]部分为可选项,由于它的不同又可有三种形式。[in argument-list]部分三种形式

●[argument-list]为字符串列表

●变量variable依次取字符串列表中各字符串,对每次取的值都执行命令列表,

知道所有字符串都处理完。

●例7-12将指定的人名用for循环依次输出。

●#cat test7-12

●for people in Debbie Tom John Kitty Kuhn

●do

● echo “$people”

●done

[in argument-list]部分三种形式

●[argument-list]为文件的表达式

●变量的值依次取当前目录(或指定目录)下与文件表达式相匹配的文件名,每取

值一次,就进入循环体执行命令表,直到所有匹配的文件名取完为止。

●例7-13将当前目录下的所有*.c文件用for循环依次输出。

●#cat test7-13

●for i in *.c

●do

● cat $i

●done

[in argument-list]部分三种形式

●[argument-list]为空

●[argument-list]也可以用$@来代替,即for i等同于for i in “$@”。变量

依次取位置参数的值,然后执行循环体中的命令表,直至所有位置参数取完为止。例7-14编写shell脚本,第一个位置参数为指定的目录,其后指定的位置参数为第一个位置参数指定目录下的文件,显示这些文件的内容

#cat test7-14

dir=$1;shift

if [ -d $dir ]

then cd $dir

for name

do

if [ -f $name ]

then cat $name

echo “End of ${dir}/$name”

else echo “Invalid file name:${dir}/$name

fi

done

else echo “Bad of directory name:$dir”

fi

while语句

●while命令的作用的是进行有条件的循环控制

●格式为:

●while expression

●do

● command-list

●done

●作用:只要expression的值为真,则进入循环体,执行command-1ist中的命令,然

后再做条件测试,直到测试条件为假时才终止while语句的行。

例7-15编写程序,这段程序对各个给定的位置参数,首先判断其是否是普通文件,若是,则显示其内容;否则,显示它不是文件名的信息。每次循环处理一个位置参数$1,利用shift 命令可把后续位置参数左移。

#cat test7-15

while [ $1 ]

do

if [ -f $1 ]

then echo “display: $1 ”

cat $1

else echo “$1 is not a file name. ”

fi

shift

done

幻灯片68

例7-16利用while循环输出1-10之间的整数。

#cat test7-16

x=1

while [ $x -le 10 ]

do

echo $x

x=`expr $x + 1`

done

until语句

●格式为:

●until expression

●do

● command-list

●done

●作用:只要expression的值为假,就执行command—lists的命令。

例7-17 用until完成与例7-16相同的任务。

#cat test7-17

x=1

until [ $x –gt 10 ]

do

echo $x

x=`expr $x + 1`

done

break和continue语句

●break命令可以从循环体中退出来。格式为:

●break

●continue命令跳过循环体中在它之后的语句,回到本层循环的开头,进行下一次循环。

格式为:

●continue

例7-18利用while和break完成例7-16等的任务

#cat test7-18

x=1

while true

do

echo $x

x=`expr $x + 1`

if [ “$x”–gt 10 ]

then break

fi

done

例7-19输入一组数,打印除了值为3的所有数。

#cat test7-19

for I in 1 2 3 4 5 6

do

if [ “$i”–eq 3 ]

then continue

else echo “$i”

fi

done

●1.编写一个shell脚本,将用户主目录下的所有*.txt文件用for循环复制到mysoft

子目录下并显示所复制文件的内容。

● 2.编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。

●3、编写一个shell脚本,从键盘输入两个整数,比较其大小,并将其中较大的一个输

出。

●4、设计一个模拟台式计算器,从键盘输入两个数,再输入算术运算符,求其计算结果。

要求输出结果为:第一个数运算符第二个数 = 运算结果。(运算符仅包含expr支持的+ - * / %)

GCC简介

●Linux系统下的GCC(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编

译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。

gcc的执行过程

Gcc编译的全过程要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。

● gcc的命令格式:

●gcc [选项] 文件列表

文件列表参数指定了gcc的输入文件,选项用于定制gcc的行为。

幻灯片78

●gcc编译器的调用参数大约有100多个,其中多数参数我们可能根本就用不到,这

里只介绍其中最基本、最常用的参数。

● -c,预处理+编译+汇编,产生目标代码,不连接。

● -o output_filename,指定输出文件的名称为output_filename,同时这个名称

不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

● -E 预处理,产生预处理过的代码,不编译。

●-S 预处理+编译,产生汇编代码,不汇编。

错误!未找到引用源。

Linux下shell程序设计

Linux下的Shell程序设计 Linux下的Shell程序设计 (1) 一.引言 (2) 1.1.编写目的: (2) 1.2定义: (2) 3.参考资料: (3) 二.任务的描述 (3) 2.1.目标: (3) 2.2功能描述: (3) 2.3.运行环境: (3) 2.4.条件与限制: (3) 三.任务设计 (4) 3.1.整体设计: (4) 3.2.详细设计: (5) 3.2.1.Menu模块: (5) 3.2.2. Add模块 (6) 3.2.3 Delete模块 (9) 四.实现过程 (10) 4.1.问题1 (10) 4.2.问题2 (11) 五.程序运行 (11) 5.1.程序运行的过程: (11) 5.1.1.执行效果截图 (11) 5.1.2.输入错误截图 (12) 5.1.3.选择菜单1,运行截图 (12) 5.1.4.选择菜单2,运行截图 (12) 5.1.5选择菜单3,运行截图 (12) 5.1.6 选择菜单5,运行截图 (12) 5.1.7 选择菜单6,运行截图 (13) 5.1.8 选择菜单7,运行截图 (13) 六、感想认识 (13) 七.程序代码 (14) 7.1.Menu模块 (14) 7.2.Add模块 (15) 7.3.Delete模块 (20)

一.引言 1.1.编写目的: 通过本课程设计,使学生巩固Linux和嵌入式系统的的基本概念、原理和技术,学会在Linux 系统下完成Shell程序设计。 1.2定义: 1)grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 2)sort 将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 3)rm rm 名称源自英文单词remove的缩写,用于删除文件系统中的文件、目录、设备文件、符号链接等对象。准确地说,rm移除的指向特定对象的引用。在文件系统中,这些特定的对象可能有多个引用(例如,两个不同的文件名可能指向相同的文件), 只有在一个对象不再有任何引用,并且没有任何程序还拥有这个文件的有效句柄的时候,这个文件才会被删除。4)cat 显示或者把多个文本文件连接起来。cat是concatenate的简写,类似于dos下面的type 命令。 5)more more命令,功能类似cat。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载整个文件。 6)awk awk是一个数字处理工具。相比于sed常常作用于一整行的处理,awk则比较倾向于将一行分为数个“字段”来处理。运行效率高,而且代码简单,对格式化的文本处理能力超强。awk 是”Aho Weiberger and Kernighan”三个姓的第一个字母缩写。 7)sed sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

C语言程序设计实习报告,DOC.doc

手机通讯录管理系统 一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操 作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了 人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按 1、办公类 2、个人类 3、商务类分类查询,当选中其中一类时,显示出此 类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消录 入;当通讯录中超过 15 条信息时,存储空间已满,不能录入新数据;录入的新数据能按 递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录 二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的 人,然后通过写一个实现删除目的的FOR 循环将该人从内存里删除,然后再用写的方式打

C语言课程设计报告—手机通讯录管理系统

C程序课程设计报告 --手机通讯录管理系统 姓名:谢骏 学院:珠宝学院 学号:649 班级:141082

一课程设计目的和内容概述 1.目的:加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。 2.内容:设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、、绘图函数,以及文件的读写操作等。 其中结构体,函数的调用,算法的设计是尤为重要的。 二题目 手机通讯录管理系统。 [问题描述] 该系统模拟手机通讯录管理系统,实现对手机中的通讯录进行管理 [基本要求] 要能提供以下几种功能: (1)查看功能:选择此功能时,列出下列三类选择:

A:办公类B:个人类C:商务类 (2)当选中某类时,显示出此类所有数据中的姓名和电话号码 (3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类p为个人类b为商务类),电子邮件。例如:杨春商务类 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 三程序设计 1.总体设计 首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。 2.详细设计

实验二 Linux shell程序设计总结

实验二Linux shell程序设计 一、实验目的 熟悉linux shell 简单程序设计 二、实验内容 1、变量引用。在用户主目录下运行如下命令 $dir_1=/11/22 $echo $dir_1 $echo dir_1 2、数组。在用户主目录下运行如下命令 $city[0]=Beijing $city[1]=Shanghai $city[2]=Tianjin 显示city的第二个元素的值 $A=(this is an example of shell script) (1)同时显示数组A的第2、4、6个元素的值。 (2)显示所有数组元素的值 3、完成书上P106-107中关于read命令的使用的例子。 4、完成书上p108-110例4.7-例4.9

三、实验步骤 1.输入命令: $dir_1=/11/22 $echo $dir_1 $echo dir_1 2.输入命令: $city[0]=Beijing $city[1]=Shanghai $city[2]=Tianjin $echo ${city[2]} $A=(this is an example of shell script) $echo ${A[2]} ${A[4]} ${A[6]} $echo ${A[8]} 3.输入命令: $read x y z Today is Monday $echo $z $x $y $read n1 n2 n3 First Second Third 1234 abcd $echo $n3 $echo $n2 $n1

Read n1 n2 n3 1 2 $echo $n3 $echo $n1 $n2 4.4-7:$touch m1.c $vi m1.c 按”i”输入:main() { printf(“Begin\n”); } 按“Esc”输入“:wq” $cat m1.c $touch m2.c $vi m2.c 按”i”输入:main() { printf(“OK!\n”); printf(“End\n”); } 按“Esc”输入“:wq”

通信工程实习报告

本页面为作品封面,下载文档后可自由编辑删除! 实 习 报 告 单位: 姓名: 时间: 通信工程实习报告

通信工程实习报告(一) 20**年12月,学校组织的实习学习虽然只有短短的一个多月时间,但是我以100%的工作态度来对待,同时由于学习的心态来面对,而经历了这次过程,我们感性上学到了很多东西,也对我将来的学习和研究方向的确定产生了深远的影响。通过这次实习丰富了理论知识,增强了操作能力,开阔了视野,并使我对以后的工作有了定性的认识,真是让我收获颇多。现将本次实习就实习内容以及未来自己努力的方向两方面作实习鉴定。 在实习的1个月时间里,我担任工程部里面的巡检工作,学习最基本的CDMA网络知识、GSM网络知识、室内分布系统知识。NOKIA手机工程模式和三星常用工程模式的认识跟应用。NOKIA测试手机使用的BCCH、CID、RX、RQ跟TX测试G网的网络信号,三星手机使用的PN、EC/IO、RX和TX测试C网的网络信号。巡检组员关于测试的方法和要求,室内分布代维服务内容和要求,用户感受要求,网络指标要求,工艺要求等。室内分布系统总台账中巡检站点信息查找。分析C/G网络信号系统设计方案,绘画系统原理图跟设备安装图,从而弄懂网络的覆盖区域,馈线的走向,设备器件的参数等设计方案的要求。学习常用测量仪器的使用方法应用于室内分布系统整改、优化工程:结合更高的网络质量要求和大网变化、有必要对已建的室内分布系统进行全面的测试评估、系统指标调测、整改方案实施、系统优化网络优化。用户投诉分析处理、室内日常通信保障获得更大的投资效益和社会效益。实际巡检操作要掌握的要领:GSM的通信测试用NOKIA移动电话的工程模式名称为“Net monitor"分组画面为改锥、铁锤和手机,诺基亚的工程模式启动后可以通过命令开启或关闭。工能选择——Net monitor——01进入画面00退出的程序一样,只不过后面的01该成了00。记录BCCI﹑CI﹑RXLEV﹑RQ﹑TX——PWR(等级)最强邻居小

通讯录管理系统课程设计报告书C语言

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班级:

学号: 姓名: 指导老师: 月九年二〇〇九 通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。. 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select())

LINUX-Shell编程实验报告

《LINUX管理与应用》课程实验报告 ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

一、实验过程 1. 编写一个简单的回显用户名的shell程序 2. 使用if-then语句创建简单的shell程序 3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序 4. 使用for语句创建简单的shell程序 5. 使用while语句创建一个计算1-5的平方的shell程序 6. 用shell设计一个模拟考勤程序 二、实验结果 1.编写一个简单的回显用户名的shell程序 #vi dat #!/bin/bash # echo "Mr.$USER,Today is:" echo `date` echo Wish you a lucky day! #chmod +x dat #./dat 2. 使用if-then语句创建简单的shell程序 #vi bbbb #!/bin/bash # echo -n "Do you want to continue: Y or N" read ANSWER if [ $ANSWER = N -o $ANSWER = n ] then echo "your answer is quit!" fi

#chmod +x bbbb #./bbbb 3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序 #vi ak #!/bin/bash # echo -n "please input a score:" read SCORE echo "You input Score is $SCORE" if [ $SCORE -ge 60 ]; then echo -n "Congratulation!You Pass the examination." else echo -n "Sorry!You Fail the examination!" fi echo -n "press any key to continue!" read $GOOUT #chmod +x ak #./ak 4. 使用for语句创建简单的shell程序 #vi mm #!/bin/bash # for ab in 1 2 3 4 do echo $ab

通信程序设计实习报告

通信工程程序设计实习报告 经过为期十天的通信实习,我认识到了很多程序设计方面的东西,也学到了很多专业方面的知识。 从一开始上课时,我初步了解到了这几天的程序设计实习到底该做些什么,要做到什么样的程度,有些什么样的要求和内容。在老师所提供的几个选题中我们小组选择了现阶段使用的较多的语音查询系统“10086”,来进行我们的设计。 第一天实习,是比较手忙脚乱的,也是毫无头绪的,都是没头苍蝇乱撞。鉴于第一次在机房里头旁边还有个电话机,我还是有点小激动的,首先便把东进语音卡小玩了一下。平常编程时,编的都是一些比较小的程序,只是些简单的算法。在编语音卡程序时,我发现平常我们所学的东西好像实用性非常差,我的实践能力的缺乏。花了一天的时间,我就了解了一下语音卡使用的一部份内容,着重练习了MFC控件的使用。主要学习了如何添加按钮框,怎样实现点击按钮之后的内容的显示,以及按钮之间的内容的传递等。这一天的程序设计实习让我非常的担忧,我感觉我会的东西实在太少了,实在是不足以驾驭这样的实习,不过见大家都是这样,心情也没有那么差。 之后,我们便做了语音卡的放音,一开始我们先自己试着做,但是实在是由于对这个东西的了解太少了,搞了半天也实在是不知道从何处下手。然后我就试着从老师所给的语音卡实习指导书和DBDK编程参考手册中寻找解决方法,遇到不知道的问题或者不明白的东西就百度或者询问老师,开始我们找到了BOOL WINAPI StartPlayFile ( WORD wChnlNo, LPSTR FileName, DWORD StartPos )这个函数,但是对于函数的参数不了解,介于当时没有讲List,所以对于这样一个函数还是不知道从何下手的,上网百度后也没有找到比较好的讲解,正当我们手足无措的时候,老师给我们发过来一个示例,我们试运行了,直观地了解到了这个程序的功能。不过在运行时并没有直接的听到放音的效果,这下子又有点懵了,老师运行的时候明明是好的,怎么到了我们这儿就不行了呢?试了几次依然是什么声音都没有,我们便又开始寻找原因,对照函数看函数中的各个参数的意义,在看到通道号的时候,我们看了会儿才知道原来是通道号错了,是我们的通道号和老师所使用的机子不一样导致的,之后我们修改了,便运行正常。当时感觉就

通讯录设计报告

C程序设计报告 系(部、中心) 姓名学号 专业班级 课程名称 设计题目名称 起止时间 成绩 指导教师签名

目录 第1章题目与要求 (3) 1.1 基本要求(及格 (3) 1.2 高级要求(加分)... (3) 第2章用户需求分析 (3) 2.1 功能需求 (3) 第3章设计方案 (3) 3.1设计思路 (3) 3.2功能设计 (3) 第4章实施方案 (4) 第5章软件调试 (5) 5.1 错误介绍 (5) 5.2 错误分析及解决方案 (5) 第6章程序流程图及结构说明 (6) 第7章程序清单 (7) 第8章效果展示 (18)

第1章题目与要求 本次程序设计实践的题目是《通信录管理系统的设计》。 1.1基本要求(及格) (1)使用C语言,设计一个字符界面并带有菜单的通信录管理系统,每个记录中应包含:姓名、性别、年龄、联系电话、电子邮箱等项目。 (2)最大记录数:100。 (3)程序基本功能:显示记录、添加记录、删除记录。 1.2高级要求(加分) (1)以多文件方式设计该程序。 (2)对程序中的数据类型进行自定义(为方便程序的阅读和管理,定义自己的类型名)。 (3)能将该通讯录制作成文件保存于磁盘。 第2章用户需求分析 2.1 功能需求 通过《程序设计实践I(能源11-12)》指导书中的相关要求,以及参考程序流程图的基本程序的框架,同时用户需求的基本功能,要求系统需要有以下功能:(1)有菜单选择界面; (2)联系人信息修改简单方便,支持多种方式的修改; (3)方便的联系人信息查询,支持多种方式的查询; (4)联系人信息查看功能能供用户详细的查看; (5)退出时若用户更改了联系人相关信息或添加、删除联系人时,会提示用户联系人信息已更改是否保存; (8)有动态的开始界面。 第3章设计方案 3.1 设计思路 为了更好地实现上述内容,此程序采用了结构体、链表,来处理联系人的数据。结构体能够包含联系人的各项信息,如姓名、家庭地址、电话号码等,克服了数组只能包含同种类型的数据的缺点。链表数据的存放不需要连续的内存,相对于结构体数组减少了内存空间的浪费。利用fopen等函数创建文件、保存文件数据等,实现退出程序后联系人的数据能够保存,方便以后的查看、添加、修改等动作。采取多文件的方式,能够更好地对程序进行维护调试。 3.2 功能设计

linux下shell 程序设计_毕业课程设计

linux下shell 程序设计 shell编程 教学要点 1.深入理解shell概念。 2.掌握linux下shell程序设计流程。 3.理解shell程序与C程序设计的区别。 4.掌握shell程序设计中用户变量和表达式的使用方法。一.Shell编程概述 问题1:请各位同学在home目录下创建5个目录,目录名称分别为student0,student1,student2,student3,student4.且修改它们的权限为所有用户都具有完全的操作权限。 问题2:请各位同学在home目录下创建100目录,目录名称为class1—class100. 解决办法:通过一个shell脚本程序来实现,程序如下,用vi编辑器建立一个firstshell文件,内容如下: #!/bin/bash //指明该程序被那个shell来执行!

cd /home/shelldir //进入home/shelldir目录 mkdir newdir //在shelldir目录下新建newdir目录 i=0 //给变量i赋初值 while [ $i –lt 50 ]; do //循环,判断i是否小于50,成立继续循环 let i=i+1 //让i变量值增加1 mkdir /home/shelldir/newdir/student$i //在newdir目录下创建student1到student50 chmod 754 /home/shelldir/newdir/student$i done 保存文件,退出vi,通过执行#chmod a+x firstshell修改文件权限,赋予文件可执行权限,通过#./firstshell或者#/bin/bash firstshell来执行程序,查看程序运行结果。 程序说明: 1.程序必须以下面的行开始(必须方在文件的第一行): #!/bin/bash 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/bash来执行程序。

通信工程本科毕业实习报告

淮海工学院实习报告书 课程名称:毕业实习 系(院):电子工程学院 专业:通信工程 专业班级:通信1002 姓名:唐时祥 学号:

毕业实习报告 一、实习目的 (1)锻炼自己的动手能力,将学习的理论知识运用于实践当中,反过来检验书本上理论的正确性。将自己的理论知识与实践融合,进一步巩固、深化已经学过的理论知识,提高综合运用所学过的知识,并且培养自己发现问题、解决问题的能力。 (2)更广泛的直接接触社会,了解社会需要,加深对社会的认识,增强对社会的适应性,将自己融合到社会中去,培养自己的实践能力,缩短我们从一名大学生到一名工作人员之间的思想与业务距离。为以后进一步走向社会打下坚实的基础。 二、实习地点 杭州华星创业通信技术股份有限责任公司连云港项目部 三、实习时间 2014年2月19日——2014年3月7日 四、实习内容 1、学习网络优化的相关软件,比如TEMS,Pioneer,Mapinfo等; 2、协助工程师路测数据采集; 3、制定较基础的网路优化方案。 五、公司实际情况的了解和具体实习工作 5.1 公司概况 杭州华星创业通信技术股份有限公司是一家致力于为移动通信设备制造商和运营商提供移动通信工程技术服务和移动通信增值应用产品的民营高科技企业。公司成立于2003年6月,2009年10月成功在创业版上市。该公司现有员工500余人,专业技术人员占90%以上,大部分技术骨干具有摩托罗拉、爱立信、UT斯达康、东方通信等世界知名通信企业任职经历。 华星创业提供的移动通信技术服务主要包括移动通信网络的普查、评估、优化;产品包括华星FlyWireless 测试优化系统、华星Fly Spire/Guide测试优化系统、华星WLAN测试仪表、华星2G/3G网优平台等。 5.2 实习内容 我在杭州华星创业公司实习了近3周,主要从事无线网络优化网络优化工

C语言通讯录程序课程设计报告书

3.6 实例6 通讯录程序 本实例希望设计一个通讯录程序,要求实现通讯录信息的录入,并具有添加、查询、删除、显示等功能;使用结构体存储通讯录中记录信息;使用链表来实现通讯录信息的添加、删除、查询及显示等操作;通讯录程序可实现文件读写,在通讯录信息录入结束之后,可存入文件中,在下次程序运行时可将通讯录中的记录读取到程序中。通讯录程序可采用基于Win32控制台程序构建或采用基于MFC应用向导.EXE的应用程序,下面对这两种方法进行详细介绍。 3.6.1. 设计目的 1、掌握结构体的基本工作原理和工作方式。 2、熟悉结构体与链表的使用方法。 3、熟悉C语言下数据的输入与输出。 4、掌握C语言下对TXT文件的读写操作。 5、熟悉函数的设计方法及调用方法。 3.6.2. 基本要求 1、本实例要求实现对通讯录信息的查找、添加、删除、显示等功能,每个功能模块均能实现随时从模块中退出,可以通过键盘对功能进行选择,完成一个通讯录管理系统的运行。

2、要使用结构体来实现对通讯录信息的存储。 3、使用链表来实现对通讯录信息的查找、添加、删除、浏览显示。 4、使用文件对记录进行存储,程序运行时还可以从文件中读取记录。 5、系统设计完成后应实现类似下图所示界面。 3.6.3 设计结构及算法分析 在进行程序设计时,选择一种合理的数据存储结构是非常关键的。本实例根据题目要求,采用结构体来存放通讯录中的信息,并采用文件存储通讯录中的信息。 1、存储结构 本实例存储数据时,除了采用最常用的基本类型存储外,采用结构体的方式来存储通讯录中的个人信息,结构体如下所

示: struct stu { char name[20]; /*人名*/ char telephone[20]; /*电话*/ char sex[4]; /*性别*/ char company[20]; /*单位*/ struct stu *next; /*链表节点*/ }; typedef struct stu STU; 2、main()主函数 采用模块化设计,功能放在各模块函数中实现。主函数是程序的入口,在其中采用循环结构,根据用户的键盘输入,依次调用各功能函数。 3、mycreate()函数------创建链表函数 函数根据用户输入的信息,存储到结构体中,并建立链表结构,函数返回链表的头指针。链表建立完成后,可根据链表的头指针来添加后续指针。 4、myadd()函数------添加学生信息记录函数 函数根据用户输入信息,分配内存,将数据存储到结构体中,并建立新的链表节点,链接到已经建立好的链表尾部。 5、mydelete()函数------删除链表节点

C++-通讯录课程设计报告

C++面向对象程序设计 课程设计报告 》 设计题目:通讯录系统 学生学号: P P 学生姓名: 王元波次仁多布杰 专业班级:2009级计算机科学与技术(3)班学生成绩: 指导教师:蔡正琦 ] 计算机科学与信息工程学院 2010-6-26

一、设计任务分析 实现以下功能: · 1) 通讯录编辑(添加、删除); 2) 按不同的项进行查找; 3) 对已存在的通讯录按不同的项排序; 4) 将通讯录写入文件; 5) 从文件读入通讯录。 二、模块设计 本次程序设计主要设计了六个模块(主要是:(),(),(),(),(),(),())()函数用于通讯录中的信息进行添加,主要流程如下: — ()函数用于通讯录中的信息进行删除,主要流程如下:

()函数用于通讯录中的信息进行修改,主要流程如下: ()函数用于通讯录中的信息进行查找,主要流程如下:

~ ()函数用于通讯录中的信息进行排序,主要流程如下: ()函数用于从文本文件中读取信息,主要流程如下:

()函数用于将信息写入文本文件,主要流程如下:

三、… 四、主要数据结构 结构数组: struct student o<

shell程序设计

shell编程 教学要点 1.深入理解shell概念。 2.掌握linux下shell程序设计流程。 3.理解shell程序与C程序设计的区别。 4.掌握shell程序设计中用户变量和表达式的使用方法。一.Shell编程概述 问题1:请各位同学在home目录下创建5个目录,目录名称分别为student0,student1,student2,student3,student4.且修改它们的权限为所有用户都具有完全的操作权限。 问题2:请各位同学在home目录下创建100目录,目录名称为class1—class100. 解决办法:通过一个shell脚本程序来实现,程序如下,用vi编辑器建立一个firstshell文件,内容如下: #!/bin/bash //指明该程序被那个shell来执行! cd /home/shelldir //进入home/shelldir目录 mkdir newdir //在shelldir目录下新建newdir目录

i=0 //给变量i赋初值 while [ $i –lt 50 ]; do //循环,判断i是否小于50,成立继续循环 let i=i+1 //让i变量值增加1 mkdir /home/shelldir/newdir/student$i //在newdir目录下创建student1到student50 chmod 754 /home/shelldir/newdir/student$i done 保存文件,退出vi,通过执行#chmod a+x firstshell修改文件权限,赋予文件可执行权限,通过#./firstshell或者#/bin/bash firstshell来执行程序,查看程序运行结果。 程序说明: 1.程序必须以下面的行开始(必须方在文件的第一行): #!/bin/bash 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/bash来执行程序。 2.当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行,必须为脚本添加可执行权限。

通讯录系统程序设计报告

通讯录系统程序设计报告专业班级:电创新1301班 项目名称:通讯录系统程序设计 (address book system) 小组成员:陈灯念(组长) 罗晶晶 杨苒晨 于桐桐 盛超群 指导老师:张丽静 完成日期:2013年1月2日 教师评价:

目录 一、系统简介 1. 目标功能 2. 实现功能 3. 未实现功能 二、成员分工及完成情况 三、数据库 1. 登录数据库 2. 查询数据库 3. 老师通讯信息数据库 4. 同学信息数据库 四、具体模块设计 1. 登录部分 2. 主界面 3. 单击同学按钮 4. 单击老师按钮 5. 单击按姓名查找按钮 6. 单击按学号查找按钮功能 五、项目总结

一系统简介 ①目标功能: 1.电创新1301班的同学可以用个人姓名作为用户名,个人学号作为密码,进行登录界面的登录。若姓名与密码匹配,则登录成功。若输入的姓名不是电创新1301班同学的姓名或用户名与密码不匹配或密码错误,则弹出消息框显示“登录错误,请重试!” 2.登录后显示主界面。 (1)双击“同学”按钮,弹出对话框,可依次查看电创新1301班同学通讯信息。 (2)单击“老师”按钮,弹出对话框,可依次查看电创新1301班老师通讯信息。 (3)单击“朋友”按钮,弹出对话框,可依次查看自己的朋友的通讯信息。 (4)单击“家人”按钮,弹出对话框,可依次查看自己的家人通讯信息。 (5)单击“按姓名查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的姓名,再单击“咱们来查找吧” 按钮,即弹出消息框显示被查询人的通讯信息。 (6)单击“按学号查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的学号,再单击“咱们来查找吧” 按钮,即弹出消息框显示被查询人的通讯信息。 3. 点击同学,老师,朋友或家人按钮后,弹出对话框,可以单击“添 加”按钮或“删除”按钮添加或删除联系人或者单击“修改”按钮修 改联系人的信息。 ②实现功能: 通过本小组成员的通力合作,在看书和上网查询资料后,目前本通讯录实现的功能有: 1.电创新1301班的同学可以用个人姓名作为用户名,个人学号作为密码,进行登录界面的登录。若姓名与密码匹配,则登录成功。若输入的姓名不是电创新1301班同学的姓名或用户名与密码不匹配或密码错误,则弹出消息框显示“登录错误,请重试!” 2. 登录后显示主界面。 (1)双击“同学”按钮,弹出对话框,可依次查看电创新1301班同学通讯信息。 (2)单击“老师”按钮,弹出对话框,可依次查看电创新1301班老师通讯信息。 (3)单击“按姓名查询”按钮,弹出一个对话框,键盘输入被查询人(须为电创新1301班同学)的姓名,再单击“咱们来查找吧”按钮,即弹出消息框显示被查询人的通讯信息。 (4)单击“按学号查询”按钮,弹出一个对话框,键盘输入被查询人(须

Linux上机练习题shell程序设计基础

上机实习题: 1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。a #!/bin/bash directory=/dev for file in /bin/a2p do if [ -f $file ] then cp $file $directory/$file.bak Fi done 2.编写一个 shell 脚本,完成功能: 1)显示文字“Waiting for a while….” 2)长格式显示当前目录下面的文件和目录,并输出重定向到 /home/file.txt 文件 3)定义一个变量,名为 s,初始值“Hello” 4)使该变量输出重定向到/home/string.txt 文件 m #!/bin/bash echo "waiting for a while… " ls -l.>/home/file.txt s=hello

echo $s > /home/string.txt 3.编写一个 shell 脚本,它把第二个位置参数及其以后的各个参数指定的文 件复制到第一个位置参数指定的目录中。b #!/bin/bash dir=$1 shift while [$1] do file=$1 cp $1 $dir shift done ls $dir 4.编写一个 shell 脚本,利用 for 循环将当前目录下的.c 文件移动到指定 的目录,并按文件大小显示出移动后指定的目录的内容。d #!/bin/bash for file in *.c

{ mv /$file/bin/a } ls -lS /bin/a 5.利用数组形式存放 10 个城市的名字,然后利用 for 循环把它们打印出 来。c #!/bin/bash city=(jinan,qingdao,rizhao,weifang,beijing,shanghai,shenzhen,guangzhou,chongqi ng,nanjing) for i in ${name[*]} do echo $i done 6.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30 个用户,用户名的形式为stdxx,其中xx从01到30。 f !/bin/bash groupadd class1 for ((i=1;i<=30;i++)) do if [ $i -lt 10 ];then username="std0"$i else username="std"$i

C语言程序设计实习报告

C语言程序设计实习报告

手机通讯录管理系统 一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的 显示、删除、查找、修改、添加等必要的功能。具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编号。系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录 二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找

C语言程序的设计报告_个人通讯录

航空航天大学金城学院 《C语言程序设计》课程设计报告个人通讯录系统 学号:: 学号:: 日期:

目录 一、需求分析: (3) 二、程序的主要功能: (3) 三、程序运行平台: (3) 四、系统总框架图: (6) 五、程序类的说明: (6) 六、模块分析: (8) 七、比较有特色的函数: (9) 八、存在的不足与编程体会 (10) 九、程序源代码: (10)

一、需求分析 各类存储和通信电子产品都带有通讯录的功能,可以对联系人进行简单的信息管理和存储。 二、程序的主要功能 ?用户信息界面美观、简洁,采用菜单式显示功能选择; ?能够从磁盘文件输入和输出数据; ?能够对联系人信息进行增、删和改的操作; ?能够根据联系人的的拼音顺序从高到低排序; 三、程序运行平台 VC6.0 运行程序“perosnalcontact.exe”,进入登录界面如下 **************************** * * * * * 通讯录文件不存在! * * 通讯录文件已建立! * * * * * **************************** 按任意键进入主菜单 请输入您的数字选择: 一、按下任意键进入主菜单 您好! 欢迎使用通讯录! 1: 添加个人信息 2: 查询个人信息 3: 删除个人信息 4: 修改个人信息 5: 信息排序 6: 输出全部信息 7: 写入文件 8: 读取文件 9: 删除所有 0: 退出 请输入您的数字选择:

选择1进入添加信息模块: 请输入您要添加的联系人的信息: 请输入: 选择2进入查询个人信息模块: 欢迎使用查询菜单 1-按查询 2-按QQ查询 3-返回主菜单 请输入您的选择 选择3进入删除个人信息模块 删除菜单 1-删除单个 2-返回主菜单 请输入您的数字选择: 选择4.进入修改个人信息模块 1-按修改 请输入您的数字选择: 选择5.进入联系人排序模块 排序菜单 1-按排序 2-返回主菜单请输入您的数字选择: 选择6.进入输出信息模块 *************** 以下为通讯录所有信息************ ________________________________ 名字: 13213 性别: 2144444444444 手机: 44444444444 电子:44444444444 QQ:444444444 ________________________________ ************************************************ 请按任意数字键返回主菜单 选择7.进入写入文件模块

实验一Shell程序设计已完成

Shell程序设计 一、实验目的 1、了解和熟悉创建并使用脚本的步骤。 2、熟悉bash的控制结构。 3、学会简单的shell编程。 二、实验内容 1、创建一个简单的列目录和日期的shell 脚本并运行之。 2、用Shell 语言编制Shell 程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。 3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of program”。 4、编程使用case 结构创建一个简单的菜单,屏幕显示菜单: a. Current date and time b. User currently logged in c. Name of the working directory d. Contents of the working directory Enter a,b,c or d: 三、实验步骤 1、创建一个简单的列目录和日期的shell脚本并运行之。 步骤: 键入下列命令,创建一个新文件: (1)cat >new_script (2)输入下列行: echo Your files are ls echo today is date 按回车键将光标移到一个新行,按ctrl + D 键保存并退出。 (3)检查文件内容,确保它是正确的: #cat new_script (4)运行脚本,输入它的文件名: #new_script 该脚本不运行。 (5)输入下列命令,显示文件的权限: #ls -l new_script 权限表明该文件不是可执行。要通过简单调用文件名来运行脚本,必须有权限。 (6)输入下列命令,使new_script变成可执行文件。 chmod +x new_script (7)要查看新的权限,输入: ls-l 现在拥有文件的读、写和执行权限。 (8)输入新脚本的名字以执行它: new_script 所有输入到文件的命令都执行,并输出到屏幕上。

相关文档