1 #include<stdio.h> 2 3 #include <string.h> 4 5 #include<stdlib.h> 6 7 int n=0; 8 9 struct person 10 11 {char name[20]; 12 13 char WP[20]; 14 15 char PN[20]; 16 17 char MPN[20]; 18 19 char FZ[20]; 20 21 char EM[20]; 22 23 char QQ[20]; 24 25 }; 26 27 28 29 void fun1 (struct person b[100],int B[100]) 30 31 {int i=0; 32 33 int H; 34 35 do 36 37 {printf("請輸入第%d個聯系人的信息\n",i+1); 38 39 printf("請輸入姓名:"); 40 41 scanf("%s",b[B[i]].name); printf("\n"); 42 43 printf("請輸入工作地址:"); 44 45 scanf("%s",b[B[i]].WP); printf("\n"); 46 47 printf("請輸入固定電話號碼:"); 48 49 scanf("%s",b[B[i]].PN); printf("\n"); 50 51 printf("請輸入移動電話號碼:"); 52 53 scanf("%s",b[B[i]].MPN); printf("\n"); 54 55 printf("請輸入與本人關系:"); 56 57 scanf("%s",b[B[i]].FZ); printf("\n"); 58 59 printf("請輸入郵箱:"); 60 61 scanf("%s",b[B[i]].EM); printf("\n"); 62 63 printf("請輸入QQ號碼:"); 64 65 scanf("%s",b[B[i]].QQ); printf("\n"); 66 67 i++;n++; 68 69 printf("1繼續輸入;0退出\n"); 70 71 scanf("%d",&H); 72 73 }while(H!=0); 74 75 printf("\n"); 76 77 } 78 79 80 81 void fun2 (struct person F[100],int h[100]) 82 83 {int i=0,t,k,p,m; 84 85 t=n/10; 86 87 printf("所有聯系人的信息如下:\n"); 88 89 if(t==0) 90 91 {for(i=0;i<n;i++) 92 93 printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",F[h[i]].name,F[h[i]].WP,F[h[i]].PN,F[h[i]].MPN,F[h[i]].FZ,F[h[i]].EM,F[h[i]].QQ);} 94 95 else 96 97 {for(k=0;k<t;k++) 98 99 {for(i=0;i<10;i++) 100 101 printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",F[h[10*k+i]].name,F[h[10*k+i]].WP,F[h[10*k+i]].PN,F[h[10*k+i]].MPN,F[h[10*k+i]].FZ,F[h[10*k+i]].EM,F[h[10*k+i]].QQ); 102 103 printf("輸入'1'顯示下一頁\n"); 104 105 scanf("%d",&p); 106 107 if(p==1) 108 109 system("cls");} 110 111 m=10*t; 112 113 for(i=0;m<n;m++) 114 115 printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",F[h[m]].name,F[h[m]].WP,F[h[m]].PN,F[h[m]].MPN,F[h[m]].FZ,F[h[m]].EM,F[h[m]].QQ);} 116 117 } 118 119 120 121 void fun3(struct person d[100],int e[100]) 122 123 {char x[20],p[2]; 124 125 int D,i; 126 127 do{int m=0; 128 129 printf("請輸入要查找的信息:\n"); 130 131 scanf("%s",&x); 132 133 for(i=0;i<n;i++) 134 135 if(!strcmp(d[e[i]].name,x)||!strcmp(d[e[i]].WP,x)||!strcmp(d[e[i]].PN,x)||!strcmp(d[e[i]].MPN,x)||!strcmp(d[e[i]].FZ,x) 136 137 ||!strcmp(d[e[i]].EM,x)||!strcmp(d[e[i]].QQ,x)) 138 139 {D=e[i]; 140 141 printf("要查詢的聯系人信息如下:\n"); 142 143 printf("姓名:%s\t單位:%s\t固定電話:%s\t移動電話:%s\t分類:%s\t郵箱:%s\tQQ:%s\n",d[D].name,d[D].WP,d[D].PN,d[D].MPN,d[D].FZ,d[D].EM,d[D].QQ);} 144 145 printf("輸入Y或y繼續查詢,輸入N或n退出\n"); 146 147 scanf("%s",&p); 148 149 }while(!strcmp(p,"Y")||!strcmp(p,"y")); 150 151 } 152 153 154 155 void fun4(struct person c[100],int k[100]) 156 157 {char d[20]; char p[2]; 158 159 int t[10],j,i,x; 160 161 do{printf("請輸入要刪除的聯系人信息:\n"); 162 163 scanf("%s",&d); 164 165 for(i=0;i<n;i++) 166 167 if(!strcmp(d,c[k[i]].name)||!strcmp(d,c[k[i]].WP)||!strcmp(d,c[k[i]].PN)||!strcmp(d,c[k[i]].MPN)||!strcmp(d,c[k[i]].FZ)||!strcmp(d,c[k[i]].EM)||!strcmp(d,c[k[i]].QQ)) 168 169 j=k[i]; 170 171 for(x=j;x<n;x++) 172 173 k[x]=x+1; 174 175 n--; 176 177 printf("輸入Y或y繼續,輸入N或n退出\n"); 178 179 scanf("%s",&p); 180 181 }while(!strcmp(p,"Y")||!strcmp(p,"y")); 182 183 } 184 185 186 187 void fun5(struct person b[100],int B[100]) 188 189 {int H; 190 191 do 192 193 {printf("請輸入添加聯系人的信息\n"); 194 195 printf("請輸入姓名:"); 196 197 scanf("%s",b[B[n]].name); printf("\n"); 198 199 printf("請輸入工作地址:"); 200 201 scanf("%s",b[B[n]].WP); printf("\n"); 202 203 printf("請輸入固定電話號碼:"); 204 205 scanf("%s",b[B[n]].PN); printf("\n"); 206 207 printf("請輸入移動電話號碼:"); 208 209 scanf("%s",b[B[n]].MPN); printf("\n"); 210 211 printf("請輸入與本人關系:"); 212 213 scanf("%s",b[B[n]].FZ); printf("\n"); 214 215 printf("請輸入郵箱:"); 216 217 scanf("%s",b[B[n]].EM); printf("\n"); 218 219 printf("請輸入QQ號碼:"); 220 221 scanf("%s",b[B[n]].QQ); printf("\n"); 222 223 n++; 224 225 printf("1繼續添加;0退出\n"); 226 227 scanf("%d",&H); 228 229 }while(H!=0); 230 231 printf("\n"); 232 233 } 234 235 236 237 void fun6(struct person T[100],int r[100]) 238 239 {char p[2],d[20]; 240 241 int i,t; 242 243 do 244 245 {printf("請輸入要修改聯系人信息:\n"); 246 247 scanf("%s",&d); 248 249 for(i=0;i<n;i++) 250 251 if(!strcmp(d,T[r[i]].name)||!strcmp(d,T[r[i]].WP)||!strcmp(d,T[r[i]].PN)||!strcmp(d,T[r[i]].MPN)||!strcmp(d,T[r[i]].FZ)||!strcmp(d,T[r[i]].EM)||!strcmp(d,T[r[i]].QQ)) 252 253 {t=r[i]; 254 255 printf("請輸入改后聯系人的信息\n"); 256 257 printf("請輸入姓名:"); 258 259 scanf("%s",T[t].name); printf("\n"); 260 261 printf("請輸入工作地址:"); 262 263 scanf("%s",T[t].WP); printf("\n"); 264 265 printf("請輸入固定電話號碼:"); 266 267 scanf("%s",T[t].PN); printf("\n"); 268 269 printf("請輸入移動電話號碼:"); 270 271 scanf("%s",T[t].MPN); printf("\n"); 272 273 printf("請輸入與本人關系:"); 274 275 scanf("%s",T[t].FZ); printf("\n"); 276 277 printf("請輸入郵箱:"); 278 279 scanf("%s",T[t].EM); printf("\n"); 280 281 printf("請輸入QQ號碼:"); 282 283 scanf("%s",T[t].QQ); printf("\n"); 284 285 } 286 287 printf("輸入Y或y繼續,輸入N或n退出\n"); 288 289 scanf("%s",&p); 290 291 }while(!strcmp(p,"Y")||!strcmp(p,"y")); 292 293 } 294 295 296 297 void main() 298 299 {struct person a[100]; 300 301 int A[100],i,X; 302 303 for(i=0;i<100;i++) 304 305 A[i]=i; 306 307 do 308 309 {printf("*************************菜單************************\n"); 310 311 printf(" 請選擇要進行的操作\n"); 312 313 printf(" 1 : 輸入聯系人信息\n"); 314 315 printf(" 2 :分屏顯示所有聯系人信息\n"); 316 317 printf(" 3 : 查找聯系人信息\n"); 318 319 printf(" 4 : 刪除聯系人信息\n"); 320 321 printf(" 5 : 增加聯系人信息\n"); 322 323 printf(" 6 : 修改聯系人信息\n"); 324 325 326 327 printf(" 0 :退出\n"); 328 329 scanf("%d",&X); 330 331 switch(X) 332 333 {case 1: fun1(a,A);break; 334 335 case 2: fun2(a,A);break; 336 337 case 3: fun3(a,A);break; 338 339 case 4: fun4(a,A);break; 340 341 case 5: fun5(a,A);break; 342 343 case 6: fun6(a,A);break; 344 345 346 347 } 348 349 }while(X!=0); 350 351 }