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

来源:互联网 发布:linux 修改22端口 编辑:程序博客网 时间:2024/06/16 06:05

#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;

}

原创粉丝点击