您的位置:首页 > 编程语言 > C语言/C++

C语言学习历程(十五)结构体数组实现通讯录

2017-12-16 21:32 399 查看
#include <stdio.h>

#include<stdlib.h>

#include<string.h>

struct student

{

int num;

char name[20];

char sex[5];

char phone[15];

}STU[30] = {

{1,”chenwenjie”,”male”,”15646488745”},

{2,”maozequan” ,”male”,”15646488745”},

{3,”yangjifu” ,”male”,”15646488745”},

{4,”zhuzhiwen” ,”male”,”15646488745”},

{5,”chenlijun” ,”male”,”15646488745”},

{6,”chenwenjie”,”male”,”15646488745”},

{7,”chenwenjie”,”male”,”15646488745”},

{8,”chenwenjie”,”male”,”15646488745”},

{9,”maozequan” ,”male”,”15646488745”},

{10,”yangjifu” ,”male”,”15646488745”},

{11,”zhuzhiwen” ,”male”,”15646488745”},

{12,”chenwenjie”,”male”,”15646488745”},

{13,”maozequan” ,”male”,”15646488745”},

{14,”yangjifu” ,”male”,”15646488745”},

{15,”zhuzhiwen” ,”male”,”15646488745”},

{16,”chenlijun” ,”male”,”15646488745”},

{17,”chenlijun” ,”male”,”15646488745”},

{18,”maozequan” ,”male”,”15646488745”},

{19,”yangjifu” ,”male”,”15646488745”},

{20,”zhuzhiwen” ,”male”,”15646488745”},

{21,”chenlijun” ,”male”,”15646488745”},

{22,”maozequan” ,”male”,”15646488745”},

{23,”yangjifu” ,”male”,”15646488745”},

{24,”zhuzhiwen” ,”male”,”15646488745”},

{25,”chenlijun” ,”male”,”15646488745”},

};

void add()

{

int index,num;

char name[20];

char sex[10];

char phone[15];

static i = 0;

while(STU[i].num != 0)
{
i++;
}

printf("请输入你想增加的序列号:");
scanf("%d",&index);

if(index < i)
{
printf("请输入该同学的学号:");
scanf("%d",&num);
printf("请输入该同学的姓名:");
scanf("%s",name);
printf("请输入该同学的性别:");
scanf("%s",sex);
printf("请输入该同学的手机号码:");
scanf("%s",phone);

for(i ; i >= index-1 ; i--)
{
if(i == index)
{
STU[i].num = num;
strcpy(STU[i].name , name);
strcpy(STU[i].sex , sex);
strcpy(STU[i].phone , phone);
}
else
{
/*
* a[i+1].num  = a[i].num;
strcpy(a[i+1].name , a[i].name);
strcpy(a[i+1].sex , a[i].sex);
strcpy(a[i+1].phone , a[i].phone);
*/
STU[i] = STU[i-1];
}

}
}
else
printf("************超过范围,请重新输入*************\n");

printf("**************增添信息成功,谢谢!*****************\n");


}

void read()

{

int i=0;

while(STU[i].num != 0)

{

printf(“num = %d , name = %s , sex = %s , phone = %s\n”,STU[i].num , STU[i].name , STU[i].sex , STU[i].phone);

i++;

}

}

void change()

{

int num,index;

char name[20];

char sex[10];

char phone[15];

int i = 0;

printf("请输入你想修改的序列号:");
scanf("%d",&index);
printf("请输入该同学的学号:");
scanf("%d",&num);
printf("请输入该同学的姓名:");
scanf("%s",name);
printf("请输入该同学的性别:");
scanf("%s",sex);
printf("请输入该同学的手机号码:");
scanf("%s",phone);

if(index == 1)
{
STU[0].num = num;
strcpy(STU[0].name , name);
strcpy(STU[0].sex , sex);
strcpy(STU[0].phone , phone);

}
while(STU[i].num != index)
{
i++;
if(STU[i].num == index)
{
STU[i].num = num;
strcpy(STU[i].name , name);
strcpy(STU[i].sex , sex);
strcpy(STU[i].phone , phone);break;
}

}

printf("***************修改信息成功,谢谢!*****************\n");


}

void delete()

{

int index;

int i;

printf("请输入你想删除的序列号:");
scanf("%d",&index);
i = index;

while(STU[i].num != 0)
{
STU[i-1] = STU[i];
i++;
}
printf("****************删除成功,谢谢!*****************\n");


}

int main(int argc, char **argv)

{

char a;

printf("***********欢迎来到154班通讯录*************\n");
printf("***********增添信息 :请输入a *************\n");
printf("***********查询信息 :请输入b *************\n");
printf("***********修改信息 :请输入c *************\n");
printf("***********删除信息 :请输入d *************\n");

scanf("%c",&a);

switch(a)
{
case 'a' : add()    ; break;
case 'b' : read()   ; break;
case 'c' : change() ; break;
case 'd' : delete() ; break;
default : printf("***********输入有误************\n");break;
}

read();
return 0;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 通讯录 数组