#include<stdio.h> #include<stdlib.h> #define MAX 100 struct addr {char NO[100]; char ID[9]; char Name[8]; char Call[15]; char Adress[50]; }addr_list[MAX];
void init_list(void),enter(void); // 分配空间,加数据 void delete(void),list(void); file://删除与显示 int menu_select(void); find_free(void);//查找有剩余空间
int main(void) { char choice; int_list(); for(;;) {choice=menu_select(); switch(choice) { case 1 : enter();break; case 2 : delete();break; case 3 : list();break; case 4 : exit(0); } } return 0 ; }
void init_list(void) { register int t; int s=1; for(t=0;t<MAX;++t) { addr_list[t].Name[0]='\0'; addr_list[t].NO[]=s; s++; } }
int menu_select(void) { char s[1]; int c; printf("1.增加\n"); printf("2.删除\n"); printf("3.显示全部信息\n"); printf("4.退出\n"); do { printf("\n请输入您要进的服务区:"); gets(s); c=atoi(s);//转换成int型值 }while(c<0||c>4) return c; }
void enter(void) {int slot; slot=find_free(); if(slot==-1) {printf("\n已经满了"); return ; } printf("请输入会员ID号:"); gets(addr_list[slot].ID); printf("\n请输入名字:"); gets(addr_list[slot].Name); printf("\n请输入电话号码:"); gets(addr_list[slot].Call); printf("\n请输入地址(最多25个字):"); gets(addr_list[slot].Adress); }
int find_free(void) { register int t; for(t=0;addr_list[t].Name[0]&&t<MAX;++t) if(t==MAX) return (-1); return t; }
void delete(void) { register int slot; char s[3]; printf("请输入记录号:"); gets(s); slot=atoi(s); if(slot>=0&&slot<MAX) { addr_list[slot].Name[0]='\0'; addr_list[slot].ID[0]='\0'; addr_list[slot].Call[0]='\0'; addr_list[slot].Adressp[0]='\0'; } }
void list(void) { register int t; for(t=0;t<MAX;++t) { if(addr_list[t].Name[0]) {printf("%s\n",addr_list[t].NO); printf("%s\n",addr_list[t].ID); printf("%s\n",addr_list[t].Name); printf("%s\n",addr_list[t].Call); printf("%s\n",addr_list[t].Adress); } printf("\n\n"); } }
//本系统大家可以运行试一试,本系统是用结构体作的