歡迎您光臨本站 註冊首頁

C語言實現簡易通訊錄功能

←手機掃碼閱讀     sl_ivan @ 2020-06-29 , reply:0

本文實例為大家分享了C語言實現簡易通訊錄的具體代碼,供大家參考,具體內容如下

這兩天用C語言編寫了一個簡易版通訊錄(學生信息管理) ,大致功能有添加信息查看信息(自動按姓名排序,printf輸出帶顏色字體),查找信息(按姓名查找),刪除信息(輸入姓名刪除相關信息),修改信息(輸入修改人的名字,可選擇修改其任意信息)和退出

  #include#include#include#define SIZE 100  typedef struct student STU;  int person = 0;     struct student  {    char name[10];    int num;    int age;  };     void welcome()  {    system("clear");    printf("    			========================================");    printf("  					Welcome! ");    sleep(3);  }     void menu()  {    system("clear");    printf("  	************************************************************************");    printf(" 					請選擇:");    printf(" 					1.添加信息");    printf(" 					2.查看信息");    printf(" 					3.查找信息");    printf(" 					4.刪除信息");    printf(" 					5.修改信息");    printf(" 					6.退出");    printf(" 	************************************************************************");     }     /*添加信息*/  void AddInfo(STU *s[])  {    system("clear");    printf("姓名 學號 年齡 ");    printf("------------------------ ");    printf("請輸入信息:(bye結束添加) ");    while(1)    {      s[person] = (STU*)malloc(sizeof(STU));      if(NULL == s[person])      {        printf("malloc failure! ");      }      scanf("%s", s[person]->name);      if(!strcmp(s[person]->name, "bye"))      {        break;      }      scanf("%d%d", &s[person]->num, &s[person]->age);      getchar();      person++;    }  }     /*查看信息(按姓名排序)*/  void ShowAll(STU *s[])  {    system("clear");    int i, j;    STU *q[1] = {0};    q[0] = (STU *)malloc(sizeof(STU));          printf("information: ");       for(i = 0; i < person; i++)    {      for(j = 0; j < person - 1 - i; j++)      {        if(strcmp(s[j]->name, s[j + 1]->name) > 0)        {          q[0] = s[j];          s[j] = s[j + 1];          s[j + 1] = q[0];        }      }    }       for(i = 0; i < person; i++)    {      printf("e[1;35mname:%s, num:%d, age:%de[0m ", s[i]->name, s[i]->num, s[i]->age);    }    sleep(3);    getchar();  }     /*查找信息*/     void Search_name(char *name, STU *s[])  {    int i, n = 0;    for(i = 0; i < person; i++)    {      if(strcmp(name, s[i]->name) == 0)      {        n++;        printf("name:%s, num:%d, age:%d ", s[i]->name, s[i]->num, s[i]->age);      }    }        if(n == 0)    {      printf("不存在! ");    }  }     void SearchInfo(STU *s[])  {    system("clear");    char *name = (char *)malloc(sizeof(char));       printf("請輸入要查找的人的名字: ");    scanf("%s", name);       Search_name(name, s);  }     /*刪除信息*/     void DeleteInfo(STU *s[])  {    system("clear");    int i, n = 0, j;    char del_name[10];       printf("請輸入要刪除的人的名字: ");    scanf("%s", del_name);    getchar();    getchar();       for(i = 0; i < person; i++)    {      if(strcmp(del_name, s[i]->name) == 0)      {        n++;        free(s[i]);        for(j = i; j < person - 1; j++)        {          strcpy(s[j]->name, s[j + 1]->name);          s[j]->num = s[j + 1]->num;          s[j]->age = s[j + 1]->age;        }        person--;      }    }       if(n == 0)    {      printf("要刪除的人不存在! ");    }    else    {      printf("刪除成功! ");    }  }     /*修改信息*/  void Change_name(char *name, STU *s[])  {    int i, n = 0, choice;    char *new_name = (char *)malloc(sizeof(char));    int new_num, new_age;       for(i = 0; i < person; i++)    {      if(strcmp(name, s[i]->name) == 0)      {        n++;        printf("該學生的信息如下:");        printf("name:%s, num:%d, age:%d ", s[i]->name, s[i]->num, s[i]->age);        printf("---------------------------- ");        printf("請選擇要修改的內容(1.name 2.num 3.age): ");        scanf("%d", &choice);        switch(choice)        {          case 1:            printf("請輸入新的名字: ");            scanf("%s", new_name);            strcpy(s[i]->name, new_name);            break;          case 2:            printf("請輸入新的學號: ");            scanf("%d", &new_num);            s[i]->num = new_num;            break;          case 3:            printf("請輸入新的年齡: ");            scanf("%d", &new_age);            s[i]->age = new_age;            break;        }      }    }        if(n == 0)    {      printf("不存在! ");    }  }     void ChangeInfo(STU *s[])  {    system("clear");    char *name = (char *)malloc(sizeof(char));       printf("請輸入要修改的人的名字: ");    scanf("%s", name);       Change_name(name, s);     }     int main()  {    struct student *s[SIZE] = {0};    int choice;       welcome();       while(1)    {      menu();      printf(" Please input choice:");      scanf("%d", &choice);         switch(choice)      {        case 1:          AddInfo(s);          break;        case 2:          ShowAll(s);          break;        case 3:          SearchInfo(s);          break;        case 4:          DeleteInfo(s);          break;        case 5:          ChangeInfo(s);          break;        case 6:          exit(0);          break;      }    }       return 0;  }

              

   


[sl_ivan ] C語言實現簡易通訊錄功能已經有412次圍觀

http://coctec.com/docs/c/language/show-post-240283.html