真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在C語言中利用結構體實現(xiàn)通訊錄

怎么在C語言中利用結構體實現(xiàn)通訊錄?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設、樅陽網(wǎng)站維護、網(wǎng)站推廣。

程序如下:

#include 
#include 
#include 
 
struct People 
{ 
 char name[20]; 
 char sex[5]; 
 int age; 
 char tel[15]; 
 char addr[50]; 
};       //定義人的信息結構體(包含各種信息) 
 
struct Contact 
{ 
 struct People person[1000]; //定義通訊錄結構體
 int n;  //(包含人的信息的結構體和用戶個數(shù)n)
};       
 
typedef struct Contact * p; 
 
void menu(); 
int add(p q);  //p是一個結構體指針類型,q是一個指向struct Contact的一個指針 
int delete(p q); //例如:typedef int * int 即 int *p ==> int p 
int find(p q); 
int modify(p q); 
int show(p q); 
int clear(p q); //函數(shù)的聲明 
 
void menu()     //目錄格式
{ 
 printf("====================歡迎來到蘇嵌154通訊錄==================\n"); 
 printf("----------------------1.添加聯(lián)系人信息---------------------\n"); 
 printf("----------------------2.刪除指定聯(lián)系人信息-----------------\n"); 
 printf("----------------------3.查找指定聯(lián)系人信息-----------------\n"); 
 printf("----------------------4.修改指定聯(lián)系人信息-----------------\n"); 
 printf("----------------------5.顯示所有聯(lián)系人信息-----------------\n"); 
 printf("----------------------6.清空所有聯(lián)系人---------------------\n"); 
 printf("----------------------0.謝謝使用---------------------------\n"); 
 printf("====================歡迎來到蘇嵌154通訊錄==================\n"); 
} 
 
int add(p q) //添加聯(lián)系人
{ 
 if((*q).n >= 1000) 
 { 
  printf("contact is full!\n"); 
  return -1; 
 } 
 else 
 { 
  printf("輸入姓名:\n"); 
  scanf("%s",(*q).person[(*q).n].name); 
  printf("輸入性別:\n"); 
  scanf("%s",(*q).person[(*q).n].sex); 
  printf("輸入年齡:\n"); 
  scanf("%d",&(*q).person[(*q).n].age);  
  printf("輸入電話:\n"); 
  scanf("%s",(*q).person[(*q).n].tel); 
  printf("輸入地址:\n"); 
  scanf("%s",(*q).person[(*q).n].addr); 
  ((*q).n)++; 
 } 
 return 0; 
}             
 
 
int delete(p q) //刪除聯(lián)系人
{ 
 int ret = find(q);     //調用查找函數(shù)并保存其值 
 if(ret != -1) 
 { 
  int i = 0; 
  i = ret;      //這里要用另一個變量來保存輸入的姓名 
  for(i = 0;i < (*q).n-1;i++) 
  { 
   (*q).person[i] = (*q).person[i+1];   //用后一個覆蓋前邊的,如果要刪除的是最后一個不進行此步驟 
    
  } 
  (*q).n --;     //直接減去最后一個即count-- 
 } 
 return 0;  
} 
 
int find(p q) //查找聯(lián)系人
{ 
 int i = 0; 
 char ret[20];      //用另一個數(shù)組來保存姓名 
 printf("輸入姓名:\n"); 
 scanf("%s",ret); 
 while(i <= (*q).n) 
 { 
  if(strcmp(ret,(*q).person[i].name)== 0)   //比較輸入的姓名和通訊錄中已有的姓名 
  { 
   printf("姓名\t性別\t年齡\t電話\t地址\4t\n");  //制表符來制作表頭 
   printf("%s\t",(*q).person[i].name); 
   printf("%s\t",(*q).person[i].sex); 
   printf("%d\t",(*q).person[i].age); 
   printf("%s\t",(*q).person[i].tel); 
   printf("%s\4t\n",(*q).person[i].addr);  
   return i; 
  } 
  i++; 
 } 
 printf("你丫的我班沒這個人\n"); 
 return -1; 
} 
 
int modify(p q)     //修改函數(shù),首先找到如要修改的姓名,然后重新輸入 
{ 
 int ret = find(q); 
 if(ret != -1) 
 { 
  printf("輸入修改的姓名:\n"); 
  scanf("%s",(*q).person[ret].name); 
  printf("輸入修改的性別:\n"); 
  scanf("%s",(*q).person[ret].sex); 
  printf("輸入修改的年齡:\n"); 
  scanf("%d",&((*q).person[ret].age)); 
  printf("輸入修改的電話:\n"); 
  scanf("%s",(*q).person[ret].tel); 
  printf("輸入修改的地址:\n"); 
  scanf("%s",(*q).person[ret].addr); 
 } 
 else 
 { 
  printf("你丫的我班沒這個人\n"); 
 } 
 return 0; 
} 
 
int show(p q) //顯示全部聯(lián)系人
{ 
 int i = 0; 
 printf("姓名\t性別\t年齡\t電話\t地址\4t\n");  
 for(i = 0;i < (*q).n;i++) 
 { 
  printf("%s\t",(*q).person[i].name); 
  printf("%s\t",(*q).person[i].sex); 
  printf("%d\t",(*q).person[i].age); 
  printf("%s\t",(*q).person[i].tel); 
  printf("%s\4t\n",(*q).person[i].addr); 
 } 
 printf("\n"); 
 return 0; 
} 
 
int clear(p q) //清除所有人,直接讓成員個數(shù)變?yōu)?
{ 
 (*q).n = 0 ; 
 return 0; 
}        
 
 
int main() 
{  
 int n=1; 
 struct Contact people;  //調用通訊錄結構體 
 people.n = 0;   //初始化n 
 while(n) 
 { 
  menu(); 
  printf("請選擇你的騷操作:\n");
  scanf("%d",&n); 
  switch(n)  //switch case語句分支選擇不同函數(shù)實現(xiàn)不同作用 
  { 
   case 1:
   { 
    add(&people); 
    break; 
   } 
   case 2: 
   { 
    delete(&people); 
    break; 
   } 
   case 3: 
   { 
    find(&people); 
    break; 
   }  
   case 4: 
   { 
    modify(&people); 
    break; 
   } 
   case 5: 
   { 
    show(&people); 
    break; 
   } 
   case 6: 
   { 
    clear(&people); 
    break; 
   } 
   default: 
   { 
    return 0; 
    break; 
   }     
  } 
 } 
 return 0; 
}

關于怎么在C語言中利用結構體實現(xiàn)通訊錄問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。


當前題目:怎么在C語言中利用結構體實現(xiàn)通訊錄
本文路徑:http://weahome.cn/article/jedpec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部