用结构体数组写的通讯录
来源:互联网 发布:小麦淘商城 知乎 编辑:程序博客网 时间:2024/06/01 07:55
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <stdlib.h>
#include<string.h>
struct student
{
int num;
char name[30];
char tel[30];
} ;
struct student stu[50]={{0,"",""}}; //(定义一个结构体数组,并进行部分初始化。)
{
int num;
char name[30];
char tel[30];
} ;
struct student stu[50]={{0,"",""}}; //(定义一个结构体数组,并进行部分初始化。)
void create()
{
static int i;
for(i=0;i<50;i++)
{
if(stu[i].num == 0 ) //(寻找一个空的数组元素stu[i]方便于新通讯的写入。)
{
printf("请输入该同学的学号:\n");
scanf("%d",&stu[i].num);
printf("请输入该同学的姓名:\n");
scanf("%s",stu[i].name);
printf("请输入该同学的电话:\n");
scanf("%s",stu[i].tel);
break;
}
}
}
{
static int i;
for(i=0;i<50;i++)
{
if(stu[i].num == 0 ) //(寻找一个空的数组元素stu[i]方便于新通讯的写入。)
{
printf("请输入该同学的学号:\n");
scanf("%d",&stu[i].num);
printf("请输入该同学的姓名:\n");
scanf("%s",stu[i].name);
printf("请输入该同学的电话:\n");
scanf("%s",stu[i].tel);
break;
}
}
}
void delate()
{
static int j;
char x[30];
printf("请输入您想要删除的通讯录的同学姓名:");
scanf("%s",x);
for(j=0;j<50;j++)
{
if(strcmp(stu[j].name,x)==0) //(找到目标操作数组元素stu[j]。)
break;
}
if(j==49) //(当要删除的同学在最后一个元素就不能用下面的方法(用后面的数组元素复制到前一个数组元素)来操作。)
{
stu[j].num=0;
strcpy(stu[j].name,'\0');
strcpy(stu[j].tel,'\0');
}
for(j;j<49;j++)
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j].tel,stu[j+1].tel);
}
{
static int j;
char x[30];
printf("请输入您想要删除的通讯录的同学姓名:");
scanf("%s",x);
for(j=0;j<50;j++)
{
if(strcmp(stu[j].name,x)==0) //(找到目标操作数组元素stu[j]。)
break;
}
if(j==49) //(当要删除的同学在最后一个元素就不能用下面的方法(用后面的数组元素复制到前一个数组元素)来操作。)
{
stu[j].num=0;
strcpy(stu[j].name,'\0');
strcpy(stu[j].tel,'\0');
}
for(j;j<49;j++)
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j].tel,stu[j+1].tel);
}
}
void update()
{
static int b;
char z[30];
printf("请输入您想更改的通讯录的同学姓名:\n");
scanf("%s",z);
for(b=0;b<50;b++)
{
if(strcmp(stu[b].name,z)==0)
break;
}
printf("您想将该同学的学号更改为:\n");
scanf("%d",&stu[b].num);
printf("您想将该同学的姓名更改为:\n");
scanf("%s",stu[b].name);
printf("您想将该同学的电话更改为:\n");
scanf("%s",stu[b].tel);
}
void scr()
{
static c;
char y[30];
printf("请您输入您想查看访问的通讯录的同学姓名:");
scanf("%s",y);
for(c=0;c<50;c++)
{
if(strcmp(stu[c].name,y)==0)
break;
}
printf("%d\t,%s\t,%s\n",stu[c].num,stu[c].name,stu[c].tel);
}
{
static c;
char y[30];
printf("请您输入您想查看访问的通讯录的同学姓名:");
scanf("%s",y);
for(c=0;c<50;c++)
{
if(strcmp(stu[c].name,y)==0)
break;
}
printf("%d\t,%s\t,%s\n",stu[c].num,stu[c].name,stu[c].tel);
}
void printlist()
{
int k;
for(k=0;k<50;k++)
{
printf("%d\t,%s\t,%s\n",stu[k].num,stu[k].name,stu[k].tel);
}
}
int main()
{
char a;
printf("************ 欢迎来到苏嵌154班(南通)通讯录! ************************** ");
printf("\n");
while(1)
{
printf("请输入您想要的操作: c:添加新同学的通讯信息;\n d:删除某位同学的通讯信息;\n u:改正某位同学的通讯信息;\n s:查看访问某位同学的通讯信息 \n; p :输出该通讯录所有同学的通讯信息;\n e : 退出\n");
printf("\n");
scanf("%d",&a);
switch(a)
{
case 'c':create();
break;
case 'd':delate();
break;
case 'u':update();
break;
case 's':scr();
break;
case 'p':printlist();
break;
case 'e':exit(1);
break;
default:
printf("输入有误,请您重新输入!\n");
break;
}
}
}
阅读全文
0 0
- 用结构体数组写的通讯录
- 用结构体数组写的一个通讯录
- 结构体写通讯录
- 用结构体数组实现通讯录
- C语言用结构体写一个通讯录
- 通讯录(用结构体的方法实现)
- 用STL写的 通讯录
- 用STL写的 通讯录
- 用结构体实现通讯录
- 自己用C写的通讯录
- 用c++写的简易学生通讯录
- python 写的通讯录
- python写的通讯录
- 结构体 静态通讯录的实现
- 用结构体编写电话通讯录
- 基于二叉排序树写的通讯录
- c++写的通讯录 (2.0)
- c语言写的通讯录
- 利用链表实现通讯录
- 算法竞赛中c++使用优势及劣势
- NOIP2010 普及组 蒟蒻的题解报告
- 单通道语音增强之维纳滤波(三)
- 鸟哥的linux私房菜 学习总结----计算机概论(2)
- 用结构体数组写的通讯录
- leetcode 480. Sliding Window Median 滑动窗口中位数
- 数论——素数
- ssl1056-金明的预算方案【dp之有依赖的背包】
- 机器学习面试1000题 1
- 066day(求排列的逆序数的尝试)
- 拦截器
- 浅析Android中MVP及Demo
- ros功能包和机器人