通讯录设计设计一个“通讯录”程序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
搬瓦工怎么样?2021年7月最新vps套餐推荐及搬瓦工优惠码整理,搬瓦工优惠码可以在购买的时候获取一些优惠,一般来说力度都在 6% 左右。本文整理一下 2021 年 7 月最新的搬瓦工优惠码,目前折扣力度最大是 6.58%,并且是循环折扣,续费有效,可以一直享受优惠价格续费的。搬瓦工优惠码基本上可能每年才会更新一次,大家可以收藏本文,会保持搬瓦工最新优惠码更新的。点击进入:搬瓦工最新官方网站搬瓦工...
GigsGigsCloud新上了洛杉矶机房国际版线路VPS,基于KVM架构,采用SSD硬盘,年付最低26美元起。这是一家成立于2015年的马来西亚主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,所选均为国内直连或者优化线路,比如洛杉矶机房有CN2 GIA、AS9929或者高防线路等。下面列出这款年付VPS主机配置信息...
专心做抗投诉服务器的VirtVPS上线瑞士机房,看中的就是瑞士对隐私的保护,有需要欧洲抗投诉VPS的朋友不要错过了。VirtVPS这次上新的瑞士服务器采用E-2276G处理器,Windows/Linux操作系统可选。VirtVPS成立于2018年,主营荷兰、芬兰、德国、英国机房的离岸虚拟主机托管、VPS、独立服务器、游戏服务器和外汇服务器业务。VirtVPS 提供世界上最全面的安全、完全受保护和私...
通讯录设计为你推荐
大连港售票处大连港口滚装船售票中心怎么样八度空间网上论坛八度空间的涵义????联想集团网站联想集团有限公司的总部设在美国罗利,在全球66个国家拥有分支机构,在166个国家开展业务,在全球拥有超一霸绿林一霸此山中,打三个数字七匹狼香烟官网七匹狼香烟价格多少x13601360x768分辨率是个什么水平仙剑3电视剧结局电视剧仙剑三最终的结局是什么啊!?旱獭组合大家都知道 杨拯林 她以前是哪个组合的成员银率钱存哪家银行 利率能上浮10%数字东城网北京社保卡门诊就医为什么还是要自己付费结账呢?
万网域名 阿里云os 163网 web服务器架设软件 php空间申请 129邮箱 亚马逊香港官网 四核服务器 怎么建立邮箱 华为云盘 www789 双线空间 美国迈阿密 测试网速命令 SmartAXMT800 百度新闻源申请 服务器是什么意思 so域名 俄勒冈州 vim 更多