当前位置:文档之家› 电话薄管理系统

电话薄管理系统

电话薄管理系统
电话薄管理系统

郑州轻工业学院

实训报告实训名称:电话薄管理系统

姓名:

院(系):

专业班级:

学号:

指导教师:

成绩:

时间:

实训报告:

一、 需求分析

设计一个电话薄管理系统,实现通讯录管理工作的系统化,为人们的工作和生活提供便利。

二、 功能描述

该系统具有输入、显示、查找、删除、插入、保存、读入、排序和退出等功能。

三、总体设计

设计思路:

(1)、输入模块。主要完成将数据存入数组中的工作。记录既可以从以文本格式存储的数据文件中读入,也可以从键盘逐个输入。记录由于联系人有关的基本信息字段构成。

(2)、查询模块。查询模块主要完成在数组中查找满足相关条件的记录。用户可以按照联系人姓名或者联系人号码在数组中进行查找。

(3)、更新模块。更新模块主要实现对记录的修改、删除、插入、和排序。在进行更新操作只好,需要将修改的数据存入源数据文件。

(4)输出模块。实现对记录的存盘,并以表格的形式将记录信息打印在屏幕上。

主控函数流程图:

电话薄管理系统

输入模块

查询模块

更新模块

输出模块

从文件读入

从键盘读入

电话号码查询

按姓名查询

修改记录

删除记录

插入记录

排序记录

输出至文件

输出至屏幕

将此文件的内容读出,是否已对修改开始

以可读写的方式打开一个数据文件

并存入一个新的结构体

类型的数组中

调用menu 菜单函数

进入while(1)主循环 输入0~8中的一数值,选择相应的操作

输入是否为0?

判断键值,调用相应函数,完成相应功能

进行了存盘?

调用Save()函数,进行写数据文件操作

结束

程序实现:

在判断键值是,有效输入为0—8之间的任意整数,其他输入都被视为错误案件。若输入为0,则会判断在对记录进行了更新操作之后知否进行了存盘操作。若未存盘,系统会提示用户是否需要进行数据存盘操作,用户输入Y或y,系统会进行存盘操作。最后系统执行退出电话薄管理系统的操作。

若选择1,执行增加记录操作;若选择2,执行以表格形式打印输出记录至屏幕的操作;若选择3,执行删除记录操作;若选择4,执行查询记录操作;若选择5,执行修改记录操作;若选择6,执行插入记录;选择7,执行按升序排序的操作;选择8,执行存储记录的操作;若输入哦0—8之外的整数,给出案件错误的提示。

程序主菜单如下:

欢迎使用电话薄管理系统

************************电话薄主菜单*********************

* *

* 1 增加记录 2 显示记录 *

* *

* 3 删除记录 4 查询记录 *

* *

* 5 修改记录 6 插入记录 *

* *

* 7 排序记录 8 存储记录 *

* *

* 0 退出系统 *

* *

*********************************************************

实训感想

1、巩固和强化了个人程序设计基本知识和基本技能,尤其是C语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。

2、培养和训练了个人综合利用所学基本知识和基本技能进行小型应用程序开发的技能。

3、培养个人适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。附录(代码)

#include "stdio.h" //标准输入输出函数库

#include "stdlib.h" //标准函数库

#include "string.h" //字符串函数库

#include "conio.h" //屏幕操作函数库

#define HEADER1 " --------------------------电话簿-----------------------------------\n"

#define HEADER2 " | 编号| 姓名| 电话号码| 地址| \n"

#define HEADER3 " |-----------|-------------|----------------|----------------------| \n"

#define FORMAT " | %-8s| %-10s| %-11s | %-18s | \n"

#define DATA p->num,p->name,p->phonenum,p->address

#define END " --------------------------------------------------------------------\n"

#define N 250

int saveflag=0; //是否需要存盘的标志变量

//定义与职工有关的数据结构

typedef struct telebook //标记为telebook

{

char num[4]; //记录编号

char name[10]; //联系人姓名

char phonenum[15]; //联系人电话号码

char address[20]; //联系人地址

}TELEBOOK;

void menu() //主菜单

{

system("cls"); //调用DOS命令,清屏.与clrscr()功能相同

system("color 1a");

cprintf(" 欢迎使用电话薄管理系统\n");

cprintf(" \n"); cprintf(" ************************电话薄主菜单**********************\n"); cprintf(" * *\n"); cprintf(" * 1 增加记录 2 显示记录*\n"); cprintf(" * *\n"); cprintf(" * 3 删除记录 4 查询记录*\n"); cprintf(" * *\n"); cprintf(" * 5 修改记录 6 插入记录*\n"); cprintf(" * *\n"); cprintf(" * 7 排序记录8 存储记录*\n"); cprintf(" * *\n"); cprintf(" * 0 退出系统*\n"); cprintf(" * *\n"); cprintf(" **********************************************************\n"); //cprintf()送格式化输出至文本窗口屏幕中

}

void printheader() //格式化输出表头

{

printf(HEADER1);

printf(HEADER2);

printf(HEADER3);

}

void printdata(TELEBOOK pp) //格式化输出表中数据

{

TELEBOOK* p;

p=&pp;

printf(FORMAT,DATA);

}

void Disp(TELEBOOK temp[],int n) //显示数组temp[]中存储的记录,内容为电话薄结构中定义的内容

{

int i;

if(n==0) //表示没有电话簿记录

{

printf("\n=====>无电话号码记录!\n");

while(getchar()!='\n')

continue;

printf("输入回车键继续");

getchar();

return;

}

printf("\n\n");

printheader(); //输出表格头部

i=0;

while(i

{

printdata(temp[i]);

i++;

printf(HEADER3);

}

while(getchar()!='\n')

continue;

printf("输入回车键继续");

getchar();

}

void Wrong() //输出按键错误信息

{

printf("\n\n\n\n\n***********错误:输入有误!请按回车键继续!**********\n");

getchar();

}

void Nofind() //输出未查找到此电话信息

{

printf("\n=====>没有相关记录,请按回车键继续!\n");

}

//作用:用于定位数组中符合要求的记录,并返回保存该记录的数组元素下标值

//参数:findmess[]保存要查找的具体内容; nameorphonenum[]保存按什么在数组中查找int Locate(TELEBOOK temp[],int n,char findmess[],char nameorphonenum[])

{

int i=0;

if(strcmp(nameorphonenum,"phonenum")==0) //按号码记录编号查询

{

while(i

{

if(strcmp(temp[i].phonenum,findmess)==0) //若找到findmess值的号码记录编号

return i;

i++;

}

}

else if(strcmp(nameorphonenum,"name")==0) //按号码记录姓名查询

{

while(i

{

if(strcmp(temp[i].name,findmess)==0) //若找到findmess值的号码记录姓名

return i;

i++;

}

}

return -1; //若未找到,返回一个整数-1

}

//输入字符串,并进行长度验证(长度

void stringinput(char *t,int lens,char *notice)

{

char n[250];

do{

printf(notice); //显示提示信息

scanf("%s",n); //输入字符串

if(strlen(n)>lens)

printf("\n 超出长度! \n");//进行长度校验,超过lens值重新输入}while(strlen(n)>lens);

strcpy(t,n); //将输入的字符串复制到字符串t中

}

//增加电话号码记录

int Add(TELEBOOK temp[],int n)

{

char ch,num[10];

int i,flag=0;

system("cls");

Disp(temp,n); //先打印出已有的电话号码记录

while(1) //一次可输入多条记录,直至输入号码记录编号为0的记录结束添加操作

{

while(1) //输入电话号码编号,保证该编号没有被使用,若输入编号为0,则退出添加记录操作

{

stringinput(num,10,"(输入0返回主菜单)请输入\n编号:"); //格式化输入编号并检验

flag=0;

if(strcmp(num,"0")==0) //输入为0,则退出添加操作,返回主界面

{return n;}

i=0;

while(i

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

{

flag=1;

break;

}

i++;

}

if(flag==1) //提示用户是否重新输入

{ getchar();

printf("==>该编号%s已存在,是否重新输入?(y/n):",num);

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

continue;

else

return n;

}

else

{break;}

}

strcpy(temp[n].num,num); //将字符串num复制到tp[n].num中

stringinput(temp[n].name,10,"姓名:"); //输入姓名

stringinput(temp[n].phonenum,15,"电话号码:"); //输入电话号码

stringinput(temp[n].address,20,"地址:"); //输入家庭地址

saveflag=1;

n++;

}

return n;

}

//按电话薄号码编号或姓名,查询记录

void Qur(TELEBOOK temp[],int n)

{

int select; //:按编号查,2:按姓名查,其他:返回主界面

char searchinput[20]; //保存用户输入的查询内容

int p=0;

if(n<=0) //若数组为空

{

system("cls");

printf("\n=====>没有相关记录,请按回车键继续!\n");

getchar();

return;

}

system("cls");

printf("\n =====>1 按姓名查找=====>2 按号码查找\n");

printf(" 请选择[1,2]:");

scanf("%d",&select);

if(select==1) //按姓名查询

{

stringinput(searchinput,10,"请输入存在的姓名:");

p=Locate(temp,n,searchinput,"name"); //在数组temp中查找编号为searchinput值的元素,并返回该数组元素的下标值

if(p!=-1) //若找到该记录

{

printheader();

printdata(temp[p]);

printf(END);

printf("输入回车键返回");

getchar();

}

else

Nofind();

getchar();

}

else if(select==2) //按电话号码查询

{

stringinput(searchinput,15,"请输入存在的电话号码:");

p=Locate(temp,n,searchinput,"phonenum");

if(p!=-1)

{

printheader();

printdata(temp[p]);

printf(END);

printf("输入回车键返回");

getchar();

}

else

Nofind();

getchar();

}

else

Wrong();

getchar();

}

//删除记录:先找到保存该记录的数组元素的下标值,然后在数组中删除该数组元素int Del(TELEBOOK temp[],int n)

{

int sel;

char findmess[20];

int p=0,i=0;

if(n<=0)

{

system("cls");

printf("\n=====>没有任何记录!\n");

getchar();

return n;

}

system("cls");

Disp(temp,n);

printf("\n =====>1 按姓名删除=====>2 按号码删除\n");

printf(" 请选择[1,2]:");

scanf("%d",&sel);

if(sel==1)//先按姓名查询到该记录所在的数组元素的下标值

{

stringinput(findmess,10,"请输入存在的姓名:");

p=Locate(temp,n,findmess,"name");

getchar();

if(p!=-1)

{

for(i=p+1;i

{

strcpy(temp[i-1].num,temp[i].num);

strcpy(temp[i-1].name,temp[i].name);

strcpy(temp[i-1].phonenum,temp[i].phonenum);

strcpy(temp[i-1].address,temp[i].address);

}

printf("\n==>删除成功,请输入回车键返回!\n");

n--;

getchar();

saveflag=1;

}

else

Nofind();

getchar();

}

else if(sel==2) //先按电话号码查询到该记录所在的数组元素的下标值{

stringinput(findmess,15,"请输入存在的电话号码:");

p=Locate(temp,n,findmess,"phonenum");

getchar();

if(p!=-1)

{

for(i=p+1;i

{

strcpy(temp[i-1].num,temp[i].num);

strcpy(temp[i-1].name,temp[i].name);

strcpy(temp[i-1].phonenum,temp[i].phonenum);

strcpy(temp[i-1].address,temp[i].address);

}

printf("\n=====>删除成功,输入回车键返回!\n");

n--;

getchar();

saveflag=1;

}

else

Nofind();

getchar();

}

return n;

}

//修改记录:先按输入的电话编号查询到该记录,然后提示用户修改编号之外的值,编号不能修改

void Modify(TELEBOOK temp[],int n)

{

char findmess[20];

int p=0;

if(n<=0)

{ system("cls");

printf("\n=====>无号码记录,请按回车键继续!\n");

getchar();

return ;

}

system("cls");

printf("修改号码记录");

Disp(temp,n);

stringinput(findmess,10,"请输入存在的姓名:"); //输入并检验该编号

p=Locate(temp,n,findmess,"name"); //查询到该数组元素,并返回下标值

if(p!=-1) //若p!=-1,表明已经找到该数组元素

{

printf("编号:%s,\n",temp[p].num);

printf("姓名:%s,",temp[p].name);

stringinput(temp[p].name,10,"请输入新姓名:");

printf("姓名:%s,",temp[p].phonenum);

stringinput(temp[p].phonenum,15,"请输入新电话号码:");

printf("姓名:%s,",temp[p].address);

stringinput(temp[p].address,20,"请输入新地址:");

printf("\n=====>修改成功,输入回车键返回!\n");

Disp(temp,n);

getchar();

saveflag=1;

}

else

{Nofind();

getchar();

}

return ;

}

//插入记录:按号码编号查询到要插入的数组元素的位置,然后在该编号之后插入一个新数组元素。

int Insert(TELEBOOK temp[],int n)

{

char ch,num[10],s[10]; //s[]保存插入点位置之前的编号,num[]保存输入的新记录的编号

TELEBOOK newinfo;

int flag=0,i=0,kkk=0;

system("cls");

Disp(temp,n);

while(1)

{ stringinput(s,10,"请输入要插入哪位编号之后:");

flag=0;i=0;

while(i

{

if(strcmp(temp[i].num,s)==0) {kkk=i;flag=1;break;}

i++;

}

if(flag==1)

break; //若编号存在,则进行插入之前的新记录输入操作

else

{ getchar();

printf("\n=====>该编号%s不存在,重新尝试?(y/n):",s);

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

{continue;}

else

{return n;}

}

}

//以下新记录的输入操作与Add()相同

while(1)

{ stringinput(num,10,"请输入要插入的编号:");

i=0;flag=0;

while(i

{

if(strcmp(temp[i].num,num)==0) {flag=1;break;}

i++;

}

if(flag==1)

{

getchar();

printf("\n=====>对不起,你输入的编号%s已存在,请重新输入!(y/n):",num);

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

{continue;}

else

{return n;}

}

else

break;

}

strcpy(newinfo.num,num); //将字符串num复制到newinfo.num中stringinput(https://www.doczj.com/doc/138984699.html,,10,"姓名:"); //输入姓名

stringinput(newinfo.phonenum,15,"电话号码:"); //输入电话号码stringinput(newinfo.address,20,"地址:"); //输入地址

saveflag=1; //在main()有对该全局变量的判断,若为1,则进行存盘操作

for(i=n-1;i>kkk;i--) //从最后一个组织元素开始往向移动一个元素的位置

{

strcpy(temp[i+1].num,temp[i].num);

strcpy(temp[i+1].name,temp[i].name);

strcpy(temp[i+1].phonenum,temp[i].phonenum);

strcpy(temp[i+1].address,temp[i].address);

}

strcpy(temp[kkk+1].num,newinfo.num); //在kkk的元素位置后插入新记录strcpy(temp[kkk+1].name,https://www.doczj.com/doc/138984699.html,);

strcpy(temp[kkk+1].phonenum,newinfo.phonenum);

strcpy(temp[kkk+1].address,newinfo.address);

n++;

Disp(temp,n);

printf("\n\n输入回车键返回");

getchar();

return n;

}

//利用选择排序法实现数组的按记录编号或姓名的升序排序

void SelectSort(TELEBOOK temp[],int n)

{

int i=0,j=0,flag=0,indexmin,select;

char charflag[10];

TELEBOOK newinfo;

if(n<=0)

{ system("cls");

printf("\n=====>无号码记录,输入回车键返回!\n");

getchar();

return ;

}

system("cls");

Disp(temp,n); //显示排序前的所有记录

printf(" ==>1 按记录编号排序==>2 按姓名排序\n");

printf(" 请选择[1,2]:");

scanf("%d",&select);

if(select==1) //按记录编号排序

{

for(i=0;i

{

flag=32767;indexmin=0;

for(j=i;j

{ if(atoi(temp[j].num)

{ flag=atoi(temp[j].num);

indexmin=j;

}

}

strcpy(newinfo.num,temp[i].num); //利用结构变量newinfo实现数组元素的交换strcpy(https://www.doczj.com/doc/138984699.html,,temp[i].name);

strcpy(newinfo.phonenum,temp[i].phonenum);

strcpy(newinfo.address,temp[i].address);

strcpy(temp[i].num,temp[indexmin].num);

strcpy(temp[i].name,temp[indexmin].name);

strcpy(temp[i].phonenum,temp[indexmin].phonenum);

strcpy(temp[i].address,temp[indexmin].address);

strcpy(temp[indexmin].num,newinfo.num);

strcpy(temp[indexmin].name,https://www.doczj.com/doc/138984699.html,);

strcpy(temp[indexmin].phonenum,newinfo.phonenum);

strcpy(temp[indexmin].address,newinfo.address);

}

Disp(temp,n); //显示排序后的所有记录/

saveflag=1;

printf("\n =====>排序成功,输入回车键返回!\n");

getchar();

return;

}

else if(select==2)

{

for(i=0;i

{

charflag[0]=255;indexmin=0;

for(j=i;j

{ if(strcmp(temp[j].name,charflag)<0)

{ strcpy(charflag,temp[j].name);

indexmin=j;

}

}

strcpy(newinfo.num,temp[i].num); //利用结构变量newinfo实现数组元素的交换

strcpy(https://www.doczj.com/doc/138984699.html,,temp[i].name);

strcpy(newinfo.phonenum,temp[i].phonenum);

strcpy(newinfo.address,temp[i].address);

strcpy(temp[i].num,temp[indexmin].num);

strcpy(temp[i].name,temp[indexmin].name);

strcpy(temp[i].phonenum,temp[indexmin].phonenum);

strcpy(temp[i].address,temp[indexmin].address);

strcpy(temp[indexmin].num,newinfo.num);

strcpy(temp[indexmin].name,https://www.doczj.com/doc/138984699.html,);

strcpy(temp[indexmin].phonenum,newinfo.phonenum);

strcpy(temp[indexmin].address,newinfo.address);

}

Disp(temp,n); //显示排序后的所有记录

saveflag=1;

printf("\n =====>排序成功,输入回车键返回!\n");

getchar();

return;

}

else

{Wrong();

getchar();

getchar();

return;}

}

//数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时,会提示用户存盘void Save(TELEBOOK temp[],int n)

{

FILE* fp;

int i=0;

fp=fopen("c:\\telephon.txt","w");//以写方式打开txt文件

if(fp==NULL) //打开文件失败

{

printf("\n=====>打开失败,请按回车键继续!\n");

getchar();

return ;

}

for(i=0;i

{

if(fwrite(&temp[i],sizeof(TELEBOOK),1,fp)==1)//每次写一条记录或一个结构数组元素至文件{

continue;

}

else

{

break;

}

}

if(i>0)

{

getchar();

printf("\n\n=====>保存成功,总共储存号码:%d条\n请按回车键继续",i);

getchar();

saveflag=0;

}

else

{system("cls");

printf("没有已经保存的电话号码,请按回车键继续!\n");

getchar();

}

fclose(fp); //关闭此文件

}

void main()

{

TELEBOOK tele[N]; //定义TELEBOOK结构体

FILE *fp; //文件指针

int select; //保存选择结果变量

char ch; //保存(y,Y,n,N)

int count=0; //保存文件中的记录条数(或元素个数)

fp=fopen("C:\\telephon.txt","a+");

//以追加方式打开文本文件C:\\telephon.txt,可读可写,若此文件不存在,则会创建此文件

if(fp==NULL)

{

printf("\n=====>打开失败!\n");

exit(0);

}

while(!feof(fp))

{

if(fread(&tele[count],sizeof(TELEBOOK),1,fp)==1) //一次从文件中读取一条电话记录count++;

}

fclose(fp); //关闭文件

printf("\n==>打开成功,总共电话信息记录是: %d条\n",count);

getchar();

menu();

while(1)

{

system("cls");

menu();

printf("\n 请输入选择(0~8):"); //显示提示信息

scanf("%d",&select);

if(select==0)

{

if(saveflag==1) //若对数组的数据有修改且未进行存盘操作,则此标志为1

{ getchar();

printf("\n==>是否保存已修改数据?(y/n):");

scanf("%c",&ch);

if(ch=='y'||ch=='Y')

Save(tele,count);

}

printf("\n===>感谢使用本系统!\n");

getchar();

break;

}

switch(select)

{

case 1:count=Add(tele,count);break; //增加电话号码记录

case 2:system("cls");Disp(tele,count);break; //显示电话号码记录

case 3:count=Del(tele,count);break; //删除电话号码记录

case 4:Qur(tele,count);break; //查询电话号码记录

case 5:Modify(tele,count);break; //修改电话号码记录

case 6:count=Insert(tele,count);break; //插入电话号码记录

case 7:SelectSort(tele,count);break; //排序电话号码记录

case 8:Save(tele,count);break; //保存电话号码记录

default: Wrong();getchar();break; //按键有误,数值必须为0~8

}

}

}

7段显示管上滚动显示自己的电话号码

FPGA实训报告 课程名称:7段显示管上滚动显示自己的电话号码 目录 一、前言 (2) 二、实验选题 (2) 三、实验设计要求 (2) 四、程序设计说明 (2) 五、实验原理图 (6) 六、引脚分配 (6) 七、部分效果图 (7) 八、实训小结 (8) 九、参考文献 (8)

前言 电子设计自动化(Electronics Design Automation—EDA)技术是现代电子工程领域的一门新技术。它提供了基于计算机和信息技术的电路系统设计方法。 EDA技术就是依赖功能强大的计算机,对用电路描述语言描述的设计文件,自动地完成编译、化简、分割、综合、布线、优化、仿真等,直至实现既定的电子电路系统的功能。 EDA技术打破了软件设计和硬件设计间的壁垒,是一门综合性学科,一种新的技能技术。它将设计效率和产品性能合二为一,代表了电子设计技术和电子应用技术的发展方向。 VHDL的全名是Very High Speed Integrated Circuit Hardware Description Language,于83年由美国国防部发起创建,由IEEE(The Institute of Electrical and Electronics Engineers 电气与电子工程师学会)进一步发展,在87年作为“IEEE标准1076”发布,93年被升级为“IEEE1164”。 硬件描述语言是EDA技术的重要组成部分,VHDL作为电子设计的主流硬件描述语言,被多个EDA公司所引用。 VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,具有良好的移植性和适应性,从而大大简化了硬件设计任务,提高了电子系统设计的效率和可靠性。 用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。 此次课程设计我们组的项目是“出租车计价器”。我们小组通过老师一个星期的知识讲解并自学了《FPGA设计基础》,应用Quartus Ⅱ软件进行了设计和编辑。 二、实验选题:7段显示管上滚动显示自己的电话号码 三、实验要求:编写程序模块,用仿真器检测模块设计得正确与否,并给出

电话号码管理系统

课程设计 课程名称面向对象程序设计题目名称电话号码管理系统专业班级 学生姓名 学号 指导教师 二○一六年十二月十日

目录 一、引言.............................................................................................................. - 2 - 二、课程设计报告................................................................................................ - 3 - 2.1.课程设计目的 ................................................................................................ - 3 - 2.2.课程设计内容 ................................................................................................ - 3 - 2.3.系统总体方案 ................................................................................................ - 4 - 2.4详细设计 ....................................................................................................... - 4 - 2.4.1.模块化设计................................................................................................. - 4 - 2.4.2.模块图与流程图.......................................................................................... - 5 - 三、系统调试与测试 ............................................................................................ - 8 - 四、总结体会..................................................................................................... - 13 - 五、参考文献..................................................................................................... - 14 - 附录代码.............................................................................................................. - 15 -

个人通讯录管理系统c语言源程序优秀版)

#include /*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件#include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/

void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/ if ((fp=fopen("同通讯录.txt","w"))==NULL) /*只写方式判断*/

有趣的电话号码

数学活动:有趣的电话号码 目标: 1.通过活动,初步了解数字的不同排列可以组成不同的电话号码。 2.了解电话号码的作用,体验数字给生活带来的方便与有趣。 准备: 1.经验准备:能读出自己家的电话号码和家人的手机号码,知道特殊常用的特殊电话号码。 2.物质准备:0-9数字卡片若干套、浆糊、白纸人手一张;“翻译号码”游戏图一张。 过程: 一、看图翻译电话号码。 1.明天我们将举行一个运动会,想邀请小兔、小猪、小象来参加,去请大家想想办法用什么方法通知它们?(幼儿泛讲) 师:你们真会动脑筋,想了很多办法,那么,用什么方法最好呢? 2.打电话要查电话号码,我们来查一查动物家的电话。 教师分别出示图形卡。(小兔、小猪、小象) 师:这是小猴家的电话。让幼儿观察发现小猴家只有图形,没有号码。 3.引导幼儿看图翻译号码。 个别幼儿黑板上贴数字,集体念号码。 二、感知数字的丰富变化。 1.思考:这些号码都有几个数字? 2.都有8个数字,为什么电话号码是不一样的?(数字排列的顺序不同)3.相同的是什么? 三、交流所收集的电话号码 增强幼儿有关电话方面的知识,了解电话号码是多位数的。 1.请幼儿拼出自己家的电话号码。 2.你们知道的电话是几位数的?(请幼儿根据自己的生活经验讲述:苏州地区的家庭电话是8位数的,手机是11位数的;常用的较特殊的电话是3位数的。) 四、操作活动,巩固幼儿经验。 1.给小动物编电话号码 (1)有许多小动物家都装上了电话,有的还用上了手机,我们来帮它们选个电话号码编个电话号码吧。 (2)提示:用贴数字的方法,想想家庭号码是几位数,手机是几个数字。 2.特殊的电话号码。 给特殊的车辆,找到正确的电话号码。 3.幼儿操作,教师巡回指导。提示幼儿数一电话号码是几位数的。 4.请幼儿念读自己粘贴的电话号码。

电话簿管理系统

xxxxxxxx学院C/C++程序设计训练电话簿管理系统 学生姓名×××× 学号×××× 所在学院xx工程 专业名称xx工程 班级xxxx级xx班 指导教师xx xxxxxxxxxxxxxxx学院 二○一三年十二月

目录 1.前言 (3) 2.设计目的 (3) 3.功能描述 (3) 4.总体设计 (4) 4.1、功能模块设计 (4) 4.2、数据结构设计 (8) 4.3、函数功能描述 (9) 5.程序实现 (9) 5.1、源程序(略) (9) 5.2、运行结果 (9) 6.小结 (12)

1.前言 随着科技的进步和信息产业的飞速发展,电话簿成为了现代生活中一个重要的工具。本电话簿管理系统利用计算机对通讯录进行统一管理,包括添加、修改、查询记录等功能,实现通讯录管理工作的系统化、规范化和自动化,为人们的工作和生活提供便利。本程序是利用结构数组实现此电话簿管理系统。 2.设计目的 本程序旨在训练基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。本程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现电话簿管理的原理,为进一步开发出高质量的信息管理系统打下坚实的基础。 3.功能描述 如图1所示,电话簿管理系统主要利用数组来实现,其数组元素是结构体类型,整个系统由如下几大功能模块组成。 图1 电话簿管理系统功能模块 (1)输入记录模块。输入记录模块主要完成将数据存入数组中的工作。在此电话簿管理系统中,记录可以从以文本形式存储的数据文件中读入,也可从键盘逐个输入记录。记录由与联系人有关的基本信息字段构成。当从数据文件中读入记录时,它就是在以记录为单位存储的数据文件中,将记录逐条复制到结构体类型的数组元素中。

电话簿需求

一、需求说明 1.1电话簿管理系统需求说明 随着科学技术的进步,电话薄已经成为了现代生活中的一个重要的工具。这里要求设计一个电话薄管理系统,改写哦能够具有输入、显示、查找、删除、插入、保存、读入、排序和退出等功能,实现通讯录管理工作的系统化,为人们的工作和生活提供便利。 二、功能描述 2.1电话薄管理系统主要利用机构体实现,程序有密码验证和输入模块、查询模块、 更新模块和输出模块组成,如图所示。 (1)密码验证。密码验证模块主要完成对密码的验证工作。系统初始的登陆密码有自己设置。 (2)输入模块。输入模块只要实现对电话薄信息的输入工作。 (3)查询模块。查询模块主要实现对电话薄内容的查询工作,可以通过姓名查询和电话查询。 (4)更新模块。更新模块主要对电话薄信息里的原有的信息进行修改、删除和排序工作。 (5)输出模块。输出模块主要实现对信息的屏幕输出和文件输出。 2.2商品管理系统主要利用机构体实现,程序由输入模块、查询模块、更新模块、 统计模块和输出模块组成。如图所示:

C 实训报告 专业班级:java 技术09-01班 姓名:秦尧尧 学号:540913100131 2 (1) 输入模块。输入模块主要实现对商品信息的输入工作。 (2) 查询模块。查询模块主要实现对商品信息的查询工作,可以通过商品代码和商品 姓名查询。 (3) 更新模块。更新模块主要实现对商品信息的及时更新,可以对原有信息进行删除、 修改、插入、和排序工作。 (4) 统计模块。统计模块主要实现对商品销售情况统计前五名和后五名。 (5) 输出模块。输出模块主要是输出商品的信息。 三、系统设计及实现 1.1、全局数据结构设计 系统定义了结构体tele ,用于存放电话薄的信息。 typedef struct tele {int num; char name[10]; char phonenum[15]; char address[20];} telebook;

个人通讯录管理系统

C语言程序设计 课程设计报告 个人通讯录管理系统设计 专业__网络工程___ _____ 班级___(3)班___________ 学号__3148119322 姓名__吴道金 _ 学号_ 3148119319 _姓名_ 林东垚 ___ 学号_ 3148119359 _姓名__ 林家勇 __ 学号__3149119349__________姓名___上官景铨_____ ______ 福建工程学院软件学院 2015年月日 (正文部分)

一、需求分析 建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。功能要求(1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。 (2) 输入功能:可以一次完成若干条信息的输入。 (3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示) (4) 查找功能:可以按姓名等多种方式查找通讯信息 (5) 增加、删除、修改功能:完成通讯录信息的多种更新 二、总体设计

三、详细设计 void menu(); /*菜单*/ void Add(); /*添加记录*/ void print(); /*输出记录*/ void Find(); /*查找记录(按姓名)*/

void Delete(); /*删除记录*/ void SaveFree(); /*保存到文件*/ void Creat(); /*打开文件*/

四、程序源代码 #include #include #include

国内企业物料清单管理软件品牌排行

国内企业物料清单管理软件品牌排行 物料清单(Bill of Materials,简称BOM)是描述企业产品组成的技术文件。在加工资本式行业,它表明了产品的总装件、分装件、组件、部件、零件、直到原材料之间的结构关系,以及所需的数量。BOM是将用图表示的产品组成改用数据表格的形式表示出来,不仅是MRPII系统中计算MRP过程中的重要控制文件,还是一个制造企业的核心文件,各个部门的活动都要用到物料清单,也是实行ERP的基础与关键。BOM功能的深入研究,对于经营管理中各项功能的优化整合有着十分重要的意义。鉴于此,根据互联网最新信息,我们对物料清单管理软件排名前十的品牌和产品进行逐一介绍,希望对企业选型有所帮助。 1、SAP SAP R/3 MM物料管理系统 企业简介: SAP创立于1972年的德国,是全球商业软件市场的领导厂商,也是ERP产品的第一大厂商。SAP既是公司名称,又是其产品——企业管理解决方案的软件名称,SAP是目前全世界排名第一的ERP软件。SAP的核心业务是销售其研发的商业软件解决方案及其服务的用户许可证。SAP解决方案包括标准商业软件及技术以及行业特定应用,主要用途是帮助

企业建立或改进其业务流程,使之更为高效灵活,并不断为该企业产生新的价值。

R/3系统的物料管理应用模块不仅包含了用于简化需求计划、采购、存货管理、货仓管理及发票校验这些业务流程所必需的所有功能,而且对标准工作程序进行了高度自动化。所有的物料管理应用模块功能都相互紧密集成并与R/3的其他功能也整合在一起。这意味着物料管理的用户和其他供应链及财务管理的用户总能得到最新的信息。系统能为做所有的常规的工作,企业可省下时间去做更重要的事情。 2、Oracle Oracle物料清单管理系统 企业简介: Oracle公司(甲骨文公司)是世界上最大的企业软件公司,向遍及145个国家的用户提供数据库、工具和应用软件以及相关的咨询、培训和支持服务,总部位于美国加州的红木滩。Oracle在09年并购了Sun更是震撼了IT界,它标志着Oracle从软件业将触角延伸到了硬件领域,要挑战IBM、惠普的地位。甲骨文公司1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构,向中国市场全面提供Oracle9i电子商务平台、Oracle电子商务应用软件以及相关的顾问咨询服务、教育培训服务和技术支持服务。 产品简介: Oracle物料清单管理系统是一个全面的物料清单和工艺路线管理方案,它既能保证对物料清单、工艺路线资料的维护,又能保证这些资料的共享,并保证只有特定的人才可以输入、修改这些资料。Oracle物料清单管理系统具有信息集成与共享的特点,通过在线查询,可以查看工艺路线/物料清单信息、比较两个工艺路线或两个物料清单的差异。Oracle 物料清单模块主要管理和维护生产中的基本数据,所以其业务操作较少,主要为其他模块提供基础数据。 3、Sage Sage X3 ERP物料清单模块 企业简介: Sage(赛捷软件)是全球著名的管理软件解决方案供应商。在中国,赛捷致力于以世界级的优秀软件方案帮助中国成长型企业开展先进企业管理。赛捷产品在中国已经有超过9年的历史,在中国已经拥有超过1,500家企业用户。Sage的管理解决方案覆盖了ERP、CRM、HR、E-Business、项目管理等功能,并且针对行业特殊需求提供行业解决方案。

小学生安全教育教案-主题:我们的救助电话

小学生安全教育教案-主题:我们的救助电话; 1、遇到危险或急事时会打急用电话,形成初步的自我保护意识。 2、记住火警、匪警、急救中心的电话号码 活动重点 掌握这些急用电话用途,并会在危急时拨打。 活动准备; 急用电话宣传画三幅;玩具电话三部;急用电话号码牌各三张[人手一份] 活动过程 一、看一看,说一说,介绍急用电话。 1、请观察三幅画 教师这三张照片是刚从现场拍摄过来的,你们看看,这里发生了什么事? 教师逐一介绍三张图片,这里发生了什么事?从哪里看出来?该怎么办呢? 2、根据画面内容出示急用电话号码牌。 火警电话119 发生火灾的时候,拨打这个电话,消防队员叔叔会立即赶来救火,救人。 医疗急救电话120 当病人病情严重,非常危险时,拨打120,急救中心的医务人员就会及时赶到,及时处理病情并立即将病人送进医院。 匪警电话110 在遇到危险和困难时,拨打110,警察叔叔就会赶来帮助我们。 二、想一想,试一试,增强自我保护意识。

教师设置情境,根据实际情况判断拨打什么电话。 爸爸妈妈上班去了,你一个人在家,这时家里着火了,拨打什么电话?如果这时没有电话或来不及应该怎么办? 在放学的路上,发现一位阿姨突然发病,拨打什么电话? 放学回家,发现房门大开,家里东西被翻得乱七八糟,拨打什么电话? 三、游戏我说你打; 1、认识并熟悉求助电话,教师分别说出火警,匪警,急救电话,学生迅速出示相应的电话号码牌子。 2、教师口述设置情景,请学生迅速举起相对应的号码牌子,并学会拨打电话。 四、安全教育; 教师出事119、120、110号码牌子,请学生依次说出它们是什么号码? 拨打这个号码是免费的,但平时不能随意拨打,只有在非常紧急的情况下,才可以拨打急用电话。 五、讨论; (1)除了110,你还知道哪些求救电话(119是火警、120是急救等); (2)什么情况下应拨打119或120电话?(家里着火或亲人突然得病了); (3)能不能随便拨打求救电话?(只有真正遇到危险时才能拨打) 作业模拟求救两人一组,自定角色。一个扮演警察(消防员、医生)一个扮演求救者。准确说明当时情况,并说出自己所在的位置,

C++电话簿管理系统

电话簿管理系统 一、课程设计题目: 电话簿管理系统 二、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 三、设计方法和基本原理: 1、问题描述(功能要求): 电话簿记录按姓名排序存放,显示时每屏不超过20个记录,超过时分屏显示。 增加记录修改功能,能选择修改用户的姓名、电话,在修改或删除之前需要用户进一步确认,确认无误后再进行操作。增加录入时间的显示及存储。增加默认的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示。 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块;

(7)完成系统总结报告以及系统使用说明书。 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 2.编程体会: 电话簿管理程序较长,算法比较复杂,调试的过程中遇到了各种各样的问题。各种各样的小错误寻找起来十分困难。在今后编写程序时应当随编随找错。不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。课设让我们把这一学期所学的C++知识得到了很好的应用,开拓了我们的思路,所谓温故而而知新,这次课设也让我们对以前的知识有了一个全面的回顾,加深了对已学知识的理解。课设过程艰辛,花费时间很长,需要很强的耐力和信心。而这也是对我们的一次考验,养成了坚持不懈和吃苦耐劳的精神。通过这次课程设计的实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。 在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意思。在具体操作中

个人通讯录管理系统C语言源程序优秀版

个人通讯录管理系统C语言源程序优秀版 Last revision date: 13 December 2020.

#i n c l u d e/*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件 #include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/ void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/

物料管理系统使用手册

一、登陆界面 用户名为员工编号,初始密码为:111,登入系统后可自行修改密码。 二、系统功能模块

三、业务申请 1.物资申请

第一步:选择计划类型第二步:选择物料类别第三步:点击新建 第四步:填完申请单后点击申请 说明:1.申请单只能填写同一物料类别的物料。2.点击新建按钮新建时,请务必将必填项(带 感叹号的为必填)填入后,再点击新建或者按Enter键新建下一条记录,务必保持只有一条 记录处于编辑状态。 3.若需要修改新建好的记录,选中需要修改的记录,然后点击修改按钮,修改后点击保存按 钮。 第五步:选择审批人 第六步:点击确定按钮 2.新物料申请

第二步:录入需要申请的新物料后, 点击申请按钮,提交申请信息 说明:1.点击新建按钮新建时,请确保物料类别、费用科目、物料描述、计量单位不能为空, 填写完一条记录后,再点击新建或者按Enter键新建下一条记录,务必保持只有一条记录处 于编辑状态。2.若需要修改新建好的记录,选中需要修改的记录,然后点击修改按钮,修改 后点击保存按钮。 3.我的申请历史 显示自己申请过的物料清单(状态信息、审批数量),可按条件查询(物料描述、申请状态、 申请日期)。 4.新物料申请历史 显示自己申请过的新物料的申请状态信息。

2.新物料审批第二步:选择下一审批人 第三步:可对审批数量进行修改和 添加审批意见 第四步:1.若点击确定按钮表示进入下一审批 流程;2.若点击驳回则该申请单不被批准(报 废)3.点击取消按钮关闭当前窗口 第一步:勾选需要审批或者要驳回 的物料 第二步:1.点击审批表示批准2. 点击驳回表示不批准

中班活动:《我家的电话号码》

中班活动:《我家的电话号码》 中班活动《我家的电话号码》 设计思路: 目前我们开展的主题是《我爱我家》,我们已经和孩子们熟悉了家里的相关物品,孩子们对家里的电话产生了一定的兴趣,他们知道电话号码是由数字组成的。 中班的孩子刚刚从小班升上来,由于电话号码都是9以内的数,数点对应也是中班幼儿需要逐步掌握的,因此以“我家的电话号码”开展这样一个数活动。 活动目标: 1、在游戏中尝试数与点对应,了解并积累有关数经验。

2、知道、关心自己家的电话号码,激发与同伴交往的愿望和情感。 活动准备: 1、前期经验:了解过自己家里的电话号码 2、电话机、自制幼儿电话号码卡、数字卡等 活动过程: 一、谈话——引发幼儿对活动的兴趣 1、出示电话机:看!这是什么? 2、问:你们打过电话吗?给谁打过电话? 小结:家里有电话机真方便,可以打电话给亲戚朋友。 二、变电话号码——尝试数与点对应 1、我家的电话号码 问:请问打电话前先要知道什么呢?那谁知道自己家里的电话号码? 出示幼儿数字电话号码卡 师:看看你家里的电话号码都有哪

些数字?这些数字你都认识吗?数数你家的电话号码一共有几个数字? 2、教师演示 师:这是我家里的电话号码!怎么样把数字电话号码变成点子电话号码呢? 问:上面是数字,将数字变成点子,想一想,数字5变成几个点子?数字9呢?(先请幼儿上来示范操作) 3、幼儿变电话号码 教师巡回指导,鼓励幼儿将数字变成对应的点子电话号码! 4、验证 问:谁能又快又准确的将数字电话号码变成点子电话号码呢? 小结:在变电话号码的时候,我们要看清楚数字和点子,数字几就要找几个点子,如果碰到0就没有点子,我们的宝宝真聪明都将数字电话号码变成了点子电话号码! 三、游戏:打电话——倾听辨别自己家的电话号码

c语言通讯录管理系统

C语言课程设计:通讯录管理系统

目录 一、需求分析 (2) 二、概要设计 (2) 三、详细设计 (3) 四、上机操作 (14) 五、实习心得 (19) 六、源程序 (20)

一、需求分析 具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 (1)数据包括:人名、工作单位、电话号码和E-MAIL地址。 (2)可对记录中的姓名和电话号码进行修改。 (3)可增加和删除记录。 (4)可显示所有的保存记录。 (5)可按人名或电话号码进行查询。 [提示] 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。 通讯录管理系统 修改退出 插入显示删除查询保存

三、详细设计 1、 主函数; 主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 流程图 N Y 【程序】 int main() //主函数 { Man man[500],*pman=man;; char control; int size; printf("\t\t**********************************************\n"); //窗口初始化 printf("\t\t********** 欢迎使用通讯录管理系统! ***********\n"); printf("\t\t*--------------------------------------------*\n"); printf("\t\t* 请按回车键继续! *\n"); printf("\t\t**********************************************\n"); 开始 显示一系列功能选项 输入n ,判断是否是0~6 根据n 的值调用各功能模块函数 结束

个人通讯录管理系统课程设计报告示例

个人股权转让协议书 转让方: 受让方: ____________________________________ 公司(以下简称合营公司),于______年____月_____日成立,由甲方与________________合资经营,注册资金为_____币_________万元,投资总额_______币_________万元,实际已投资_____币________万元。甲方愿将其占合营公司____ %的股权转让给乙方;经公司董事会通过,并征得他方股东的同意,现甲乙双方协商,就转让股权一事,达成协议如下: 一、股权转让的价格、期限及方式 1、甲方占有公司____%的股权,根据原合营公司合同书规定,甲方应投资____币______万元。现甲方将其占公司____%的股权以____币______万元转让给乙方。 2、乙方应于本协议生效之日起____天内按第一条第一款规定的货币和金额以银行转帐方式分____次付清给甲方。 二、甲方保证对其拟转让给乙方的股权拥有完全、有效的处分权,保证该股权没有质押,并免遭第三人追索,否则应由甲方承担由此引起的一切经济和法律责任。 三、有关公司盈亏(含债权债务)的分担(任选一款)。 1、本协议生效后,乙方按股份比例分享利润和分担风险及亏损(含转让前该股份应享有和分担公司的债权债务)。

2、股权转让前,聘请在中国注册的会计师(或其他方式)对公司进行审计,乙方按双方认可的审计报告表的范围承担甲方应分担的风险、亏损和享有权益。股权转让生效后,若发现属转让前,审计报告表以外的合营公司的债务,由乙方按股权比例代为承担,但应由甲方负责偿还。股权转让生效后,乙方取得股东地位,并按股份比例享有其股东权利和承担义务。 3、股权转让前,聘请在中国注册的会计师(或公司董事会组织)对公司进行审计,甲方按审计报告表的范围承担应分担的风险、亏损和享有权益,甲方应分担的债权债务,应在其股权款中扣除。本协议生效后,尚未清结的以及审计报告以外属甲方应分担的债权债务,均由乙方按股权比例享有和承担(或由乙方先行承担,然后由乙方向甲方追偿)。 四、违约责任 如乙方不能按期支付股权价款,每逾期一天,应支付逾期部分总价款千分之______的逾期违约金。如因违约给甲方造成经济损失,违约金不能补偿的部分,还应支付赔偿金。 五、纠纷的解决(任选一款) 凡因履行本协议所发生的争议,甲乙双方应友好协商解决如协商不成: 1、向_______人民法院起诉; 2、提请仲裁委员会仲裁; 六、有关费用负担

电话号码管理系统.doc

课程设计 课程名称C++面向对象程序设计题目名称电话号码管理系统专业班级 学生姓名 学号 指导教师 二○一四年十二月十五日

目录 一、引言 (1) 二、课程设计报告 (2) 1、问题描述 (2) 2、系统总体方案 (2) 3、设计思路和主要步骤 (2) 4、各功能模块和流程图 (3) (1)各功能模块 (3) (2)流程图 (3) 三、系统测试 (5) 四、心得体会 (8) 五、参考文献 (10) 附:程序设计代码 (11)

一、引言 随着社会的发展,科学技术的进步,以及人际关系的交往日益密切,普通的采集联系人电话等信息已经不能够满足人们的需求,特别对于机场出差的人更是难以满足。手工记录繁琐,容易出错,不方便查找,受个人情绪的影响,同时不方便传播,越来越多的靠计算机来帮助人们记住这些事情,极其简便这就需要有一个专门管理客户信息的电话管理系统能代替人们来管理客户电话等信息,用户可以方便的通过自己电脑的电话簿管理系统,来随时查阅自己所需要的信息,而不必大费周章去翻自己的记事本。 与此同时,21世纪是科技高度发展的世纪,计算机以及信统来代替落后的手工记录等来适应新时代的发展。电话管理信息系统,可以满足人们的需求,人们可以通过它方便的记录客户电话信息,同时能很方便的查找修改等。

二、课程设计报告 1、问题描述 电话号码管理软件管理联系人的电话号码,支持添加、删除、修改、查询功能。(1)整体查询:显示所有联系人(2)个别查询,例如:输入“张”,则所有匹配的姓名中含“张”的均显示。 2、系统总体方案 用Node进行结构体类型定义,包括:姓名、电话号码和联系地址 3、设计思路和主要步骤 根据需求分析,首先我们需要建立Person基类,由此派生出了经理类(Manager),销售经理类(SalesManager),销售员类(Sales),技术人员类(Technician),在Person类中,需要将人员编号,姓名,岗位,收入,以及next 指针等数据设置权限为protected;由于其他类需要访问基类数据及相应成员函数,所以我们必须设置为public。在各个派生类中,因为都需要使用了CalcSalary(),OutPut()函数,为了不出现二义性的问题,我们需要在基类中将这两个函数声明为纯虚函数,通过进一步分析,由于基类中的构造函数不能被继承,而且在派生类中又需要增加自己的数据成员,所以我们必须定义派生类的构造函数来完成相应的初始化。然后建立Company类,在public访问权限中,我们通过链表来操作人员数据,同时增加不同功能的成员函数如:void Add(); //增加人员 void Delete(); //删除人员void Modify(); //修改人员void Query(); //查询人员void Set(); //基础数据设置void Save(); //数据存盘void Load(); //数据装入———为了实现多文件的效果,我们将Company类定义及该类的实现分开,然后逐一对各功能函数进行代码编写。最后,我们定义了主函数,通过公司类创建了一个对象,并通过此对象完成相应的操作。在调试并测试代码过程中,当程序员输入相应的指令后,该系统自动调用相应的功能函数来达到需求效果,至此,一个公司人员管理系统的实现才算基本成功。

通讯录管理系统

测试与光电工程学院 课程设计任务书 测控技术与仪器系 100814 班学号 100814415 姓名邓志扬 课题名称:通讯录管理系统的设计 课题要求: 使用C语言设计一个班级通讯录,通迅录数据信息构成内容可自行设计(如:姓名、邮政编码、电话号码等等),通信录数据类型定义为结构体类型或用数组实现。要求实现存取、显示、删除记录、查询记录等功能。 (1)查看功能,选择此功能是列出下列三类选择 A、办公类 B、个人类 C、商务类当选中某类时,显示出此类中所有数据中的姓名和电话号码 (2)增加功能能录入新数据(一个节点包括姓名,电话号码,分类(可选项有:A、办公类,B、个人类,C、商务类)、电子邮件) 例如:杨春商务类 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入,当通讯录中超过15条信息时,存储空间已满,不能自录入新数据了。 (3)拨号功能能显示出通讯录中所有人的姓名,当选中某个人的姓名时,屏幕中模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声音 (4)修改功能选中某个人的姓名时,可对此人的数据进行相应修改 (5)删除功能选中某个人的姓名时可对此人的相应数据进行删除并自动调整后续条目的编号 课题进程: 1)回顾C语言设计及数据结构设计的相关知识。2周 2)设计基本架构。4周 3)调试、完善、撰写报告。3周 主要参考资料: [1] 谭浩强主编. C语言程序设计(第二版).清华大学出版社, 2005. [2] 谭浩强.C程序设计题解与上机指导(第三版)[M]北京:清华大学出版社,2005年7月 指导教师:付跃文

目录 一、设计目的 (4) 二、设计要求与功能描述 (4) 1.设计要求 (4) 2.功能描述 (5) 三、系统分析与设计 (6) 1、功能模块的设计分析 (6) 2、数据结构设计分析 (9) 3、函数功能描述 (9) 四、系统调试与运行 (11) 五、总结 (18) 六、源程序清单: (19)

电话薄设计

C语言 电话簿设计文档

作者:赵沛凤1204012024 12计本2班金前1204011040 12计本1班

一、需求分析: 用户需要对已有的电话簿实施的操作有查询某个人联系人信息、删除、添加联系人、修改联系人信息以及显示所有联系人,所以电话簿设计应分成八大模块 (1)增加:增加联系人的信息 (2)查询:根据指定的联系人名或者电话号码查找联系人的具体信息 (3)删除:给定某人姓名或者电话号码,删除其信息 (4)修改:规定具体联系人的姓名或者电话号码,然后找到此人或者此号码并修改器信息(5)显示:显示所有联系人的姓名及电话(分按姓名、电话排序显示) (6)排序:按照联系人姓名或者电话号码进行排序并显示 (7)翻页:进行上翻或者下翻,显示联系人号码 (8)退出系统 二、模块分析: 开始 选择 显示目录 增加查询删除修改显示翻页退出系统 排序 选择选择 按姓名 按电 话号 码 上翻下翻显示 姓名性别电话 号码 QQ号 三、存储分析: 联系人的信息有姓名、号码、性别、年龄信息,建立联系人结构体,将联系人的信息封装在一起,主界面显示各种选择菜单,对于建立的联系人,如果数目过多,若将联系人所有的信息全部显示出来,界面冗杂,而且不容易查看,所以对联系人的姓名、号码、性别、年龄信息存入文件中,每写一个都存储进去,根据修改和删除,文件中的信息也进行相应的变化。这样,在进行翻页的时候,便于查看。

四、数据结构:(联系人详细信息结构) typedef struct phone { char name[30]; char sex[10]; char tel[20]; char qq[30]; struct phone *next,*prior; }PH; 五、界面设计: 1、函数: int menu_show() 2、显示界面: 六、详细模块分析: 6.1 增加联系人模块: 该模块为增加联系人,通过用户增加联系人并自动调用write()函数保存函数。

课程设计电话簿管理系统

一.程序功能简介 一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话码的功能。 主菜单如右图所示,每个菜单项功能如下: 1.增加记录菜单:请输入用户姓名,如果该用户已经存在则添加失败,否则,输入用户的电话号码,进行添加。 2.修改某条记录:请输入用户姓名,如果没有该用户显示“该用户不存在”信息,否则,输出原电话号码,然后输入新的电话号码,进行修改。 3.删除记录: 输入用户姓名,进行删除(删除时要进行确认)。 4.查询:输入用户姓名,进行查找。 5.排序:根据子菜单,选择不同的排序方式。 6.显示:逐屏显示(每屏显示10条记录)。 7.全删:进行全部删除(要确认)。 二.课程设计要求 请选择以下功能 1- 增加记录 2- 修改记录 3- 删除记录 4- 查找(按姓名) 5- 排序 6- 显示记录 1.用汉化菜单实现。 2.提供按姓名查询电话号码的功能。 3.显示功能(提供逐屏显示的功能,每屏显示10条记录)。 4.删除和修改时要进行确认。 5.将电话簿记录以文件的形式存在磁盘上;每次操作时将电话簿调出,操作完毕后存盘。 三.课程设计说明 1.程序采用数组数据结构实现。 2.用类来实现数据的封装。 四.参考数据结构 1.“电话簿”称为用户信息表,用数组实现。用户信息表由若干用户信息构成,每个用户信息是一个数组元素。 2.“user.txt”是一个文件,用于保存“用户信息表”中的信息。当系统启动时,从该文件中读入信息,当退出系统时,将“用户信息表”中的信息写到该文件中。该文件中信息存放形式如下: ZhangHong 5221369

LiLi 84891112 ZhaoQiang 5221498 其中 name(姓名)占20列 phone_num(电话号码)占12列 五.具体功能及实现 定义Fphone类,通过其私有成员数组name[20]和phone[12]分别记录用户姓名与电话号码,定义UserDatabase类记录用户信息,通过公有成员函数实现对数据的操作。 六.源程序及注释 #include #include #include #include #include #define M 20 #define N 12 #define MAX 100 class Fphone //用户信息类的定义 { char name[M]; // 姓名 char phone_num[N]; //电话号码 public: Fphone(char *na="",char *ph="") { strcpy(name,na); strcpy(phone_num,ph); } char*getname(); //获取姓名 char*getphone_num(); //获取电话号码 void setname(char*a); //设置姓名 void setphone_num(char*a); //设置电话号码 void disp(); //显示用户信息 }; char *Fphone::getname() { return name; } char *Fphone::getphone_num() { return (phone_num); } void Fphone::setname(char *a) { strcpy(name,a);

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