|
|
发表于 2012-3-11 09:12:44
|
显示全部楼层
- #include <stdio.h>
- #include <string.h>
- #define MAX_LEN 10
- #define TOTAL_NUM 4
- struct Person{
- char name[MAX_LEN];
- int salary;
- };
- void display( struct Person* pvec, int n );
- int name_search( struct Person* pvec, int n, char* search_name );
- void delete_user(struct Person* pvec, int n, int to_be_deleted );
- int main(){
- struct Person persons[TOTAL_NUM] = {
- {"张三",100},{"李四",300},{"王五",200},{"马六",900}
- };
- char search_name[MAX_LEN];
- int find=-1;
- display( persons, TOTAL_NUM );
- printf("Input the name to be delete");
- scanf("%s",search_name);
- find = name_search( persons, TOTAL_NUM, search_name );
- if( find != -1 ) {
- delete_user( persons, TOTAL_NUM, find );
- display( persons, TOTAL_NUM-1 );
- }else{
- printf("No such a person\n");
- }
- }
- void display( struct Person* pvec, int n ){
- int i;
- for(i=0;i<n;++i){
- printf("name:%s\tsalary:%d\n",pvec[i].name,pvec[i].salary);
- }
- }
- int name_search( struct Person* pvec, int n, char* search_name ){
- int result=-1;
- int i;
- for(i=0;i<n;++i){
- if( strcmp(pvec[i].name, search_name) == 0 )
- return i;
- }
- return result;
- }
- void delete_user(struct Person* pvec, int n, int to_be_deleted ) {
- int i = to_be_deleted+1;
- for(;i<TOTAL_NUM;++i){
- pvec[i-1]=pvec[i];
- }
- }
复制代码 |
|