信息查询系统C语言实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本程序为C 语言课设题目
信息管理系统:
1、 要求实现信息录入
2、 能实现信息查询
3、 信息排序
4、 删除信息
5、 修改信息
6、 显不所有
7、 插入信息 &设置界面 具体代码如下: #in
clude<stdio.h> #in clude<stri ng ・h> #in
clude<stdlib.h> struct student
{
char name[20]; char phone[20];
char email[20]; char QQ[20];
};
void menu(void)
printf("\n\n\n ------ 欢迎使用通讯录系统一 -
An");
printf("+
■An")

printf(" 1、信息录入 \n“); printf(" 2、信息查询 \n");
printf(" 3、信息排序 \n“);
printf(" 4、删除信息
\n");
printf(" 5、修改信息 \n“);
printf(" 6、显Z5所有 \n“);
printf(" 7、插入信息 \n");
printf(" &退出系统 \n");
printf(“+
■An")
; printff 1'请输入你的选择:\rT);
〃菜单程序〃
int input(struct student stu[]) 〃输入程序〃
{
int i,n=O;
printf("请输入录入条数\n");
scanf(l,%d l,/&n);
for(i=0;i<n;i++)
{
printf("请输入第%(1个成员的姓名,电话,邮箱,QQ号\n“,i+l);
scanf("%s:stu[i].name);
scanf(”%s 蔦stu[i].phone);
scanf(”%s 蔦stu[i].email);
scanf(”%s 蔦stu[i]・QQ);
}
return n;
}
void find(struct student stu[]z int n) 〃查询程序〃
{
int i;
char ch[16];
printff"输入查询条件:姓名或电话\n“);
scanf(l,%s,,/ch);
for(i=0;i<n;i++)
{
if(!strcmp(ch,stu[i].name)| | !strcmp(ch,stu[i].phone))
{
printf("查询到姓名为%s 的同学:\n“,stu[i].name);
printf("信息如下\n”);
printf("姓名: %s 电话: %s 邮箱: %s QQ 号码:%s^stu[i]・name,stu[i]・phone,stu[i]・email,stu[i]・QQ);
return;
}
}
printff"未找到相关记录”);
void output(struct stud ent stu[],i nt n)
{
int i;
if(n==O)
printf ("通讯录中空无一物\n“);
else
{
printfC'ifi 讯录所有记录如下\n''); for(i=0;i<n;i++)
/ t
printf"姓名:%s
^); printf)"电话:%s
n z stu[i].phone); printf"邮箱:%s
,l /stu[i].email); printf(H QQ : %s “,stu[i].QQ);
printf(II \n N );
}
}
} int dele(struct stud ent stu[]Jnt n)
{
int i,j;
char mark[20];
printf ("输入要删除记录的人名或电话号码\n");
scanf(,,%s ,,/mark);
if(n==O)
{printf ("通讯录中空无一物\n");
return 0;}
else
{
for(i=0;i<=n;i++) if(!strcmp(mark,stu[i].name)| | !strcmp(mark,stu[i].phone))〃显不程序〃 〃删除程序〃
printf(u以下是您要删除的记录'n”);
printf("姓名:%s 电话:%s 邮箱:%s 码:%s\n:stu[i]・name,stu[i]・phone,stu[i]・email,stu[i]・QQ);
for(j=i;j<n-l;j++)
stu[j]=stu[j+l];
printf(“删除成功\n“);
n=n-l;
return n;
}
}
printf("未查询到该条记录\n");
return n;
}
}
int in sert(struct stud ent stu[]z int n)
{
int i,x;
printf("请输入插入记录条数\n");
scanf("%cT:&x);
for(i=n;i<n+x;i++)
{
printf(''请输入插入的第%d个成员的姓名,电话,邮箱,QQ号\n"J-n+l); scanf(,,%s,,/stu[i].name);
scanf(,,%s,,/stu[i].phone);
scanf(,,%s,,/stu[i].email);
scanf(,,%s,,/stu[i].QQ);
}
printf(“插入完成\n“);
n=x+n;
return n;
} void change(struct student stu[],int n) 序〃int i;char x[20];
printf("请输入需要修改的记录:姓名或电话\n");
scanf("%s 蔦x);
for(i=0;i<n;i++)
{
if(!strcmp(x,stu[i].name)| | !strcmp(x,stu[i].phone))
QQ 号
〃插入程序〃
〃修改程
{
p r i ntf ("查询到可修改记录\n");
printfC*请输入修改后的名字,电话,邮箱,QQ 号码\n“); scanf(ll %s ,,/stu[i].name);
scanf(ll %s ,,/stu[i].phone);
scanf(,,%s ,,/stu[i].email);
scanf(ll %s ,,/stu[i].QQ);
printf ("修改记录成功\n");
return;
}
}
printf("未查找到相关记录\n");
}
void sort(struct student stu[],int n)
{
int ij ;
struct student tmp;
for(i=0;i<n-l;i++)
{
for(j=i;j<n-l;j++) if(strcmp(stu[j]. name,stu[j+l]・name)<0) tmp=stu[j]/stu[j]=stu[j+l],stu[j+l]=tmp; }
printf (”排序后的记录如下:\n H );
for(i=0;i<n;i++)
{
printf ("名字:%s ,l /stu[i].name);
printf("电话:%s n z stu[i].phone);
printf("邮箱:%s n z stu[i].email);
printfC'QQ : %s printff'Xn");
}
} void main(void)
{
struct stud ent stu[35];
int n ,c;
while(l)
〃排序算法〃
蔦 stu[i]・QQ);
{
menu();
scanf(,,%d,,/&c);
switch(c)
{
case 1:
n二input(stu); break; case 2:
find(stu,n);
break;
case 3:
sort(stu,n);
break;
case 4:
n=dele(stu,n); break; case 5:
cha nge(stu, n); break; case 6:
output(stu,n); break; case 7:
n=insert(stu,n);
break;
case &
exit(O);。

相关文档
最新文档