通讯录设计设计一个“通讯录”程序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
弘速云元旦活动本公司所销售的弹性云服务器、虚拟专用服务器(VPS)、虚拟主机等涉及网站接入服务的云产品由具备相关资质的第三方合作服务商提供官方网站:https://www.hosuyun.com公司名:弘速科技有限公司香港沙田直营机房采用CTGNET高速回国线路弹性款8折起优惠码:hosu1-1 测试ip:69.165.77.50地区CPU内存硬盘带宽价格购买地址香港沙田2-8核1-16G20-...
Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...
老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...
通讯录设计为你推荐
这是虚么这是什么这是什么这是什么造句建设部网国内的建筑类网站有哪些?唐骏老婆唐骏的详细简介!痒是谁写的盗墓笔记老痒解子扬是什么身份啊,和小花有关系吗姚劲波简历姚劲波个人资料 姚劲波简历 姚劲波老婆是谁非常河蟹特别小的螃蟹怎怎吃dnf娃娃机脚本DNF51人偶工厂,17173的按键精灵脚本我看不懂,咋用啊?什么复制什么的,我在网吧上的,怎么搞?标兵seoweb rank seo是什么意思猎聘网登陆猎头怎么登陆猎聘网app?新掌柜俗称掌柜的是指哪种人
美国虚拟主机推荐 xenvps 网易域名邮箱 美国主机排名 5折 bash漏洞 鲜果阅读 灵动鬼影 gg广告 e蜗 流量计费 美国在线代理服务器 华为云服务登录 外贸空间 我的世界服务器ip 英雄联盟台服官网 电信主机托管 美国asp空间 asp简介 德国代理ip 更多