通讯录设计设计一个“通讯录”程序vb
通讯录设计 时间:2021-10-17 阅读:(
)
Windows程序设计课程设计:设计一个简单的通讯录应用程序
1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;
2. 基本掌握面向对象程序设计的基本思路和方法;
3. 掌握用VC++开发应用程序的的一般步骤和方法;
4. 能够利用所学的基本知识,设计一个简单的通讯录应用程序,具有以下功能:①用文件来保存通讯录信息(必须实现的功能)②编程实现通讯录记录的添加、删除、修改、浏览和查询(必须实现的功能)。
二,设计要求:
3. 用VC++进行编码,实现应用程序的功能。
注重编码质量,代码要有适当的注释;设计一个同学通讯录管理系统,实现对同学通讯录的管理
系统设计背景:
假设现在要建立一个包含多个班同学信息的同学通讯录,同学通讯录中的每个记录包含:记录编号(num)、班别(group)、姓名(name)、性别(sex)、生日(birthday)、家庭住址(address)、家庭联系电话(home_phone)、移动电话(move_phone)、电子邮箱(email)等数据内容,要求以文件的方式保存录入的同学通讯录数据,供用户查询和使用同学通讯录信息。
系统功能要求:
要求系统包含以下功能,
(1)添加记录:操作添加一条新的记录项;
(2)删除记录:删除一条已经存在的记录项;
(3)修改记录:改变记录项的一个或多个属性,并用新的记录项覆盖已经存在的记录项;
(4)查找记录:根据用户输入的属性值查找并输出符合条件的记录项,要求可以“按记录编号”、“按姓名”、“按电话号码”等多种关键字进行记录查询(查询结果可以包含多条满足条件的记录,如多人姓名相同,而又按该姓名查询时);
(5)打印输出通讯录:以一定的格式打印出当前同学通讯录的所有内容列表;系统设计要求:
(1)要求平时通讯录数据以文件形式存储在磁盘上,根据实际需要定义文件的存储格式(文本文件或二进制文件),在系统运行中需要对文件进行读写操作;
(2)系统执行需要对数据进行处理时,将文件中的记录读取到结构体数组中,对结构体数组内的数据进行处理,所有处理完毕后,要结束程序时,将该结构体数组的内容重新写回到文件中保存;
(3)程序中要包含有对输入数据的容错性检查,保证通讯录数据的合法性
(4)结构体数组的长度要求使用动态分配方式进行定义(即根据文件中记录的个数来定义结构体数组长度,或根据添加数据记录的需要来修改结构体数组长度);手机通讯录的制作
用91手机助手的备份功能即可,在主界面选“功能大全”--->"数据安全(备份/还原)"--->选择要备份的资料(联系人、短信、通话记录等)--->指定备份路径--->“开始备份”即可; 在备份路径下会有“BackupSetting.ini、BackupInfo.ini、日期+序号的文件夹”,其中文件夹中会有“AddressBook”文件夹,里面就是vcard文件(扩展名为.vcf);设计通讯录管理系统 可以添加,删除,修改信息和查询的功能。并保存在文件中,能按表格方式输出。
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
struct student
{
int no; /*学号*/
char name[20]; /*姓名*/
char acdamic[20]; /*院系*/
char major[20]; /*专业*/
char province[20]; /*籍贯*/
char address[40]; /*家庭地址*/
long phone; /*联系电话*/
struct student *next;
};
struct student *input();
void print(struct student *h);
struct student *insert(struct student *h);
struct student *del(struct student *h);
void find4(struct student *h);
void find3(struct student *h);
void find2(struct student *h);
void find1(struct student *h);
struct student *head=NULL;
char ch,*menu[]={"------------------通讯录菜单------------",
"1.----------建立学生通讯录---------------",
"2.----------输出全部学生通讯录---------------",
"3.----------增加的学生的个数---------------",
"4.----------删除指定学号的学生--------------",
"5.----------按系别查找学生信息-------------",
"6.----------按专业查找学生信息-------------",
"7.----------按姓名查找学生信息-------------",
"8.----------按学号查找学生信息--------------",
"9.----------退出通讯录-----------------------"};
struct student *input() /*输入函数*/
{
int n;
printf("请输入你要建立的学生通讯录的学生个数:
");
scanf("%d",&n);
struct student *h=NULL,*p,*q;
int i;
for(i=1;i<=n;i++)
{
printf("请依次输入第%d个学生的学号,姓名,系别,专业,籍贯,家庭住址和联系电话:
",i);
p=(struct student *)malloc(sizeof(struct student));
if(p==NULL)
{
printf("内存不足!
");
exit(0);
}
scanf("%d%s%s%s%s%s%ld",&p->no,p->name,p->acdamic,p->major,p->province,p->address,&p->phone);
if(i==1)h=p;
else q->next=p;
q=p;
}
q->next=NULL;
return h;
}
void print(struct student *h) /*输出函数*/
{
struct student *p=h;
while(p)
{
printf("学生信息:
%d,%s,%s,%s,%s,%s,%ld
",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
struct student *insert(struct student *h) /*增加学生信息*/
{
int n;
printf("请输入你要增加的学生的个数:
");
scanf("%d",&n);
struct student *p,*r;
int i;
for(i=1;i<=n;i++)
{
r=(struct student *)malloc(sizeof(struct student));
printf("请输入第%d个你要插入的学生的信息:
",i);
scanf("%d%s%s%s%s%s%ld",&r->no,r->name,r->acdamic,r->major,r->province,r->address,&r->phone);
p=h;
h=r;
r->next=p;
}
return h;
}
struct student *del(struct student *h) /*按学号进行删除*/
{
int n;
printf("请输入要删除的学生的学号:
");
scanf("%d",&n);
struct student *p,*q;
if(h=NULL)printf("empty list!
");
else
{
p=h;
while(p->no!=n&&p->next)
{q=p;p=p->next;}
if(p->no==n)
{
if(h==p)h=p->next;
else q->next=p->next;
}
else printf("%d is not found!
");
}
return h;
}
void find1(struct student *h) /*按院系查找学生信息*/
{
char s[40];
printf("请输入要查找的学生的院系:
");
scanf("%s",s);
struct student *p;
if(h==NULL)printf("empty list!
");
else
{
p=h;
while(p)
{
if(strcmp(p->acdamic,s)==0)
printf("学生信息:
%d %s %s %s %s %s %ld
",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
}
void find2(struct student *h) /*按专业查找*/
{
char s[20];
printf("请输入要查找的学生的专业名:
");
scanf("%s",s);
struct student *p;
if(h==NULL)printf("empty list!
");
else
{
p=h;
while(p)
{
if(strcmp(p->major,s)==0)
printf("学生信息:
%d %s %s %s %s %s %ld
",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
}
void find3(struct student *h) /*按姓名查找*/
{ char ss[10];
printf("请输入要查找的学生的姓名:
");
scanf("%s",ss);
struct student *p;
if(h==NULL)printf("empty list!
");
else
{
p=h;
while(p)
{
if(strcmp(p->name,ss)==0)
printf("学生信息:
%d %s %s %s %s %s %ld
",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
}
void find4(struct student *h) /*按学号查找*/
{
int num;
printf("请输入要查找的学生的学号:
");
scanf("%d",&num);
struct student *p;
if(h==NULL)printf("empty list!
");
else
{
p=h;
while(p)
{
if(p->no==num)
printf("学生信息:
%d %s %s %s %s %s %ld
",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
else
printf("没有你要查找的学生信息!
");
p=p->next;
}
}
}
int menu_select()
{
int i,s;
char c[3];
for(i=0;i<10;i++)
printf("%s
",menu[i]);
do
{
scanf("%s",c);
s=atoi(c);
}while(s<0||s>9);
return s;
}
main()
{
for(;;)
{
switch(menu_select())
{
case 1:head=input();break;
case 2:print(head);break;
case 3:head=insert(head);break;
case 4:head=del(head);break;
case 5:find1(head);break;
case 6:find2(head);break;
case 7:find3(head);break;
case 8:find4(head);break;
case 9:exit(0);
}
}
} 一一,错的地方自己改哈。
。
。
。
。
。
呵呵.........没人回答,太可怜了。
设计一个“通讯录”程序vb
首先 在窗体上添加控件 组合框控件命名为:ComboName
显示单位控件:Chkdanwei
显示地址控件:Chkdizhi
电话文本框:TxtTel
单位文本框:Txtdanwei
地址文本框:Txtdizhi
添加人员按钮:默认
然后直接复制下面的代码就OK了
Option Explicit
Private Type tongxunlu
MunName As String
tel As String
danwei As String
dizhi As String
End Type
Dim a(100) As tongxunlu
Dim n As Integer
Dim x As Integer
Private Sub Chkdanwei_Click()
If Chkdanwei.Value = 1 Then
Txtdanwei.Text = a(x).danwei
Else
Txtdanwei.Text = ""
End If
End Sub
Private Sub Chkdizhi_Click()
If Chkdizhi.Value = 1 Then
Txtdizhi.Text = a(x).dizhi
Else
Txtdizhi.Text = ""
End If
End Sub
Private Sub ComboName_Click()
x = ComboName.ListIndex
TxtTel.Text = a(x).tel
End Sub
Private Sub Command1_Click()
a(n).MunName = InputBox("请输入姓名")
a(n).tel = InputBox("请输入电话号码")
a(n).danwei = InputBox("请输入工作单位")
a(n).dizhi = InputBox("请输入家庭地址")
If a(n).MunName = "" Or a(n).tel = "" Or a(n).danwei = "" Or a(n).dizhi = "" Then GoTo 99
ComboName.AddItem a(n).MunName
ComboName.ListIndex = n
n = n + 1
99 End Sub
Private Sub Form_Load()
n = 0
End Sub
7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...
puaex怎么样?puaex是一家去年成立的国人商家,本站也分享过几次,他家主要销售香港商宽的套餐,给的全部为G口带宽,而且是不限流量的,目前有WTT和HKBN两种线路的方面,虽然商家的价格比较贵,但是每次补一些货,就会被抢空,之前一直都是断货的状态,目前商家进行了补货,有需要这种类型机器的朋友可以入手。点击进入:puaex商家官方网站Puaex香港vds套餐:全部为KVM虚拟架构,G口的带宽,可...
美国特价云服务器 2核4G 19.9元杭州王小玉网络科技有限公司成立于2020是拥有IDC ISP资质的正规公司,这次推荐的美国云服务器也是商家主打产品,有点在于稳定 速度 数据安全。企业级数据安全保障,支持异地灾备,数据安全系数达到了100%安全级别,是国内唯一一家美国云服务器拥有这个安全级别的商家。E5 2696v2x2 2核 4G内存 20G系统盘 10G数据盘 20M带宽 100G流量 1...
通讯录设计为你推荐
恒大北京公司官网您了解恒大地产北京公司吗?它的土建工程师工作职责是不是全部包含甲360os系统360 os系统适合什么样的手机情缘采集器电表装采集器有什么作用360的创始人360公司介绍仙剑3电视剧结局关于电视剧仙剑三的结局网上秘书一次老板带秘书出差,晚上开了两间房,到房间后秘书用手机给老板发了企业培训光盘什么是多媒体宣传光盘?姚劲波简历姚劲波个人资料 姚劲波简历 姚劲波老婆是谁功夫王子释小龙个人简历帕蒂安琪安琪纽特这个牌子怎么样啊
域名主机管理系统 优惠码 美国主机代购 100x100头像 福建铁通 1美金 国外视频网站有哪些 google台湾 云营销系统 linode支付宝 云服务是什么意思 ssl加速 云销售系统 防盗链 天鹰抗ddos防火墙 八度空间论坛 服务器监测软件 dell服务器论坛 文件服务器硬件配置 西安服务器机柜 更多