欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言通訊錄管理系統(tǒng)課程設(shè)計(jì)

 更新時(shí)間:2021年01月02日 12:25:43   作者:ANONYMOUSLYCN  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言通訊錄管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言通訊錄管理系統(tǒng)課程設(shè)計(jì),供大家參考,具體內(nèi)容如下

#include <stdio.h> 
#include <stdlib.h> 
#include <windows.h> 
struct Sign{ 
  char name[8]; 
  char sex[4]; 
  char birthday[12]; 
  char phone[11]; 
  char postcode[7]; 
  char addr[30]; 
  struct Sign *next; 
 }pe; 
 char PhoneCop[4] ; 
 
//結(jié)構(gòu)體 
struct Sign *p1,*p2,*head; 
FILE *fp; 
void ShowMenu(){ 
 system("color 1F"); 
 printf("#################   通訊錄管理系統(tǒng) v1.0 ###################\n"); 
 printf("#####################################################################\n"); 
 printf("#                 #\n"); 
 printf("#   1-----------------信息錄入-------------------   #\n"); 
 printf("#                 #\n"); 
 printf("#   2-----------------信息查詢-------------------   #\n"); 
 printf("#                 #\n"); 
 printf("#   3-----------------信息查看-------------------   #\n"); 
 printf("#                 #\n"); 
 printf("#   4-----------------信息修改-------------------   #\n"); 
 printf("#                 #\n"); 
 printf("#   5-----------------信息統(tǒng)計(jì)-------------------   #\n"); 
 printf("#                 #\n"); 
 printf("#   6-----------------退出系統(tǒng)-------------------   #\n"); 
 printf("#                 #\n"); 
 printf("#####################################################################\n"); 
 printf("#  POWER BY ************* 蘭州理工大學(xué)  201407   #\n"); 
 printf("#####################################################################\n"); 
  
}; 
void HeadShow() 
{ 
 printf("#################   通訊錄管理系統(tǒng) v1.0 ###################\n"); 
 printf("---------------------------------------------------------------------\n"); 
 
} 
void FileLoading() 
{ 
  if((fp=fopen("txl.dat","rb"))==NULL) 
 { 
  printf("文件操作錯(cuò)誤,請(qǐng)檢查是否有權(quán)限操作文件!"); 
  Sleep(3000); 
  exit(1); 
 } 
 p1=(struct Sign*)malloc(sizeof(struct Sign)); 
 p1->next=NULL; 
 head=p1; 
 while(!feof(fp)) 
 { 
  if(fread(p1,sizeof(struct Sign),1,fp)!=1) 
   break; 
  p2=(struct Sign*)malloc(sizeof(struct Sign)); 
  p2->next=NULL; 
  p1->next=p2; 
  p1=p2; 
 } 
 fclose(fp); 
} 
void add() 
{  
 char ch; 
 if((fp==fopen("txl.dat","ab+"))!=1) 
 { 
  printf("文件打開(kāi)失敗"); 
  exit(1); 
 } 
 while(1) 
 { system("cls"); 
  printf("請(qǐng)輸入__\n"); 
  p2=(struct Sign*)malloc(sizeof(struct Sign)); 
  p2->next=NULL; 
  printf("姓名:");scanf("%s",pe.name); 
  printf("性別:");scanf("%s",pe.sex); 
  printf("生日:");scanf("%s",pe.birthday); 
  printf("電話號(hào)碼:");scanf("%s",pe.phone); 
  printf("郵編:");scanf("%s",pe.postcode); 
  printf("地址:");scanf("%s",pe.addr); 
  strcpy(p1->name,pe.name); 
  strcpy(p1->sex,pe.sex); 
  strcpy(p1->birthday,pe.birthday); 
  strcpy(p1->phone,pe.phone); 
  strcpy(p1->postcode,pe.postcode); 
  strcpy(p1->addr,pe.addr); 
  p1->next=p2; 
  p1=p2;   
  if(fwrite(&pe,sizeof(struct Sign),1,fp)!=1) 
   printf("寫(xiě)入錯(cuò)誤"); 
  printf("輸入E或e來(lái)結(jié)束輸入?"); 
  getchar(); 
  ch=getchar(); 
  if(ch=='e'||ch=='E') 
   break; 
 
 } 
 fclose(fp); 
} 
void SaveChange() 
{  
 if((fp==fopen("txl.dat","w"))!=1) 
 { 
  printf("文件打開(kāi)失敗"); 
  exit(1); 
 } 
 p1=head; 
 while(p1->next!=NULL) 
 { 
  if(fwrite(p1,sizeof(struct Sign),1,fp)!=1) 
   printf("寫(xiě)入錯(cuò)誤"); 
  p1=p1->next; 
   
 } 
 fclose(fp); 
} 
void AllShow() 
{ 
 HeadShow(); 
 printf("%10.8s %6.6s %10.10s %11.4s %9.7s %16.6s \n","姓名","性別","生日","電話","郵編","地址");  
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 while(p1->next!=NULL) 
 { 
  printf("%10.8s %6.6s %10.12s %11.11s %9.7s %16.16s \n",p1->name,p1->sex,p1->birthday,p1->phone,p1->postcode,p1->addr); 
  p1=p1->next; 
   
 } 
  
} 
 
void AllNum() 
{ int i=0; 
 HeadShow(); 
 printf("   共有記錄條數(shù)為: \n"); 
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
  while(p1->next!=NULL) 
 { 
  i++; 
  p1=p1->next; 
   
 } 
 printf("   %d     \n",i); 
 printf("---------------------------------------------------------------------\n"); 
  
 printf("   共有聯(lián)通用戶為: \n"); 
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 i=0; 
  while(p1->next!=NULL) 
 { 
  strncpy(PhoneCop,p1->phone,3); 
  if(strcmp(PhoneCop,"130")==0||strcmp(PhoneCop,"131")==0||strcmp(PhoneCop,"132")==0||strcmp(PhoneCop,"155")==0||strcmp(PhoneCop,"156")==0||strcmp(PhoneCop,"185")==0||strcmp(PhoneCop,"186")==0) 
   i++; 
  p1=p1->next; 
   
 } 
 printf("   %d     \n",i); 
 printf("---------------------------------------------------------------------\n"); 
 printf("   共有移動(dòng)用戶為: \n"); 
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 i=0; 
  while(p1->next!=NULL) 
 { 
  strncpy(PhoneCop,p1->phone,3); 
  if(strcmp(PhoneCop,"134")==0||strcmp(PhoneCop,"135")==0||strcmp(PhoneCop,"136")==0||strcmp(PhoneCop,"137")==0||strcmp(PhoneCop,"138")==0||strcmp(PhoneCop,"139")==0||strcmp(PhoneCop,"150")==0||strcmp(PhoneCop,"151")==0||strcmp(PhoneCop,"152")==0||strcmp(PhoneCop,"157")==0||strcmp(PhoneCop,"158")==0||strcmp(PhoneCop,"159")==0||strcmp(PhoneCop,"187")==0||strcmp(PhoneCop,"188")==0) 
   i++; 
  p1=p1->next; 
   
 } 
 printf("   %d     \n",i); 
 printf("---------------------------------------------------------------------\n"); 
  printf("   共有電信用戶為: \n"); 
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 i=0; 
  while(p1->next!=NULL) 
 { 
  strncpy(PhoneCop,p1->phone,3); 
  if(strcmp(PhoneCop,"180")==0||strcmp(PhoneCop,"189")==0||strcmp(PhoneCop,"133")==0||strcmp(PhoneCop,"153")==0) 
   i++; 
  p1=p1->next; 
   
 } 
 printf("   %d     \n",i); 
 printf("---------------------------------------------------------------------\n"); 
} 
void CheckFace() 
{ int Check_key; 
 printf("###########   通訊錄管理系統(tǒng) v1.0 ################\n"); 
 printf("############################################################\n"); 
 printf("#               #\n"); 
 printf("#     1------按姓名查詢      #\n"); 
 printf("#               #\n"); 
 printf("#     2------按電話號(hào)碼查詢     #\n"); 
 printf("#               #\n"); 
 printf("#     3------綜合查詢       #\n"); 
 printf("#               #\n"); 
 printf("#     4------退出查詢模塊      #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("############################################################\n"); 
 printf("# POWER BY ************* 蘭州理工大學(xué)  201407  #\n"); 
 printf("############################################################\n"); 
  
} 
void Selelctname() 
{ system("cls"); 
 HeadShow(); 
 printf("%10.8s %6.6s %10.10s %11.4s %9.7s %16.6s \n","姓名","性別","生日","電話","郵編","地址");  
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 char FindName[8]; 
 int i=0; 
 printf("請(qǐng)輸入要查詢的姓名:"); 
 scanf("%s",&FindName); 
 while(p1->next!=NULL) 
 { 
  if(strcmp(p1->name,FindName)==0) 
   {printf("%10.8s %6.6s %10.10s %11.14s %9.7s %16.16s \n",p1->name,p1->sex,p1->birthday,p1->phone,p1->postcode,p1->addr); 
   i++; 
   } 
  p1=p1->next; 
   
 } 
 printf("共 %d 條\n",i); 
 system("pause"); 
} 
 
void Selelctphone() 
{ system("cls"); 
 HeadShow(); 
 printf("%10.8s %6.6s %10.10s %11.4s %9.7s %16.6s \n","姓名","性別","生日","電話","郵編","地址");  
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 char phone[11]; 
 int i=0; 
 printf("請(qǐng)輸入要查詢的電話號(hào)碼:"); 
 scanf("%s",&phone); 
 while(p1->next!=NULL) 
 { 
  if(strcmp(p1->phone,phone)==0) 
   {printf("%10.8s %6.6s %10.10s %11.4s %9.7s %16.6s \n",p1->name,p1->sex,p1->birthday,p1->phone,p1->postcode,p1->addr); 
   i++; 
   } 
  p1=p1->next; 
   
 } 
 printf("共 %d 條\n",i); 
 system("pause"); 
} 
void Selelctall() 
{ system("cls"); 
 HeadShow(); 
 printf("%10.8s %6.6s %10.10s %11.4s %9.7s %16.6s \n","姓名","性別","生日","電話","郵編","地址");  
 printf("---------------------------------------------------------------------\n"); 
 p1=head; 
 char all[30]; 
 int i=0; 
 printf("請(qǐng)輸入任意一項(xiàng)要查詢的內(nèi)容:"); 
 scanf("%s",&all); 
 while(p1->next!=NULL) 
 { 
  if(strcmp(p1->name,all)==0||strcmp(p1->sex,all)==0||strcmp(p1->birthday,all)==0||strcmp(p1->phone,all)==0||strcmp(p1->postcode,all)==0||strcmp(p1->addr,all)==0) 
   {printf("%10.8s %6.6s %10.10s %11.11s %9.7s %16.16s \n",p1->name,p1->sex,p1->birthday,p1->phone,p1->postcode,p1->addr); 
   i++; 
   } 
  p1=p1->next; 
   
 } 
 printf("共 %d 條\n",i); 
 system("pause"); 
} 
void Change() 
{ char ChangeName[8]; 
 int changekey; 
 system("cls"); 
 HeadShow(); 
 int i,y=0;    
 p1=p2=head;  
 printf("請(qǐng)輸入你要修改的條目的姓名:"); 
 scanf("%s",&ChangeName); 
  getchar(); 
 while(p1!=NULL) 
 {  
 if(strcmp(p1->name,ChangeName)==0)  
  { printf("%10.8s %6.6s %10.10s %11.11s %9.7s %16.16s \n",p1->name,p1->sex,p1->birthday,p1->phone,p1->postcode,p1->addr); 
   printf("您要修改的是這條記錄嗎?1---是|2---否\n"); 
   scanf("%d",&i); 
   if(i==1) 
   { y=1; 
   printf("你要修改的通訊錄為:\n"); 
   printf("%10.8s %6.6s %10.10s %11.11s %9.7s %16.16s \n",p1->name,p1->sex,p1->birthday,p1->phone,p1->postcode,p1->addr); 
   printf("請(qǐng)選擇您的操作  1---刪除|2---修改\n"); 
   scanf("%d",&changekey); 
   if(changekey==1) 
    { 
    if(p1==head)   
     {head=p1->next; 
     free(p1); 
     } 
     else 
     { 
    p2->next=p1->next; 
    free(p1);  
    SaveChange();  
     
    } 
     
  } 
  else if(changekey==2) 
  { 
   printf("姓名:");scanf("%s",p1->name); 
   printf("性別:");scanf("%s",p1->sex); 
   printf("生日:");scanf("%s",p1->birthday); 
   printf("電話:");scanf("%s",p1->phone); 
   printf("郵編:");scanf("%s",p1->postcode); 
   printf("地址:");scanf("%s",p1->addr); 
   SaveChange(); 
   printf("\n OK! \n"); 
  }  
   }    
   
  } 
 else if(strcmp(p1->name,ChangeName)&&(p1->next)==NULL) 
  { 
   i=0;    
   
  } 
  p2=p1;  
  p1=p1->next; 
 } 
 
  if(y==0)  
 { 
  printf("對(duì)不起,沒(méi)有找到要修改的通訊名單,請(qǐng)檢查你要修改的姓名是否正確\n"); 
 } 
  
  
 system("pause"); 
} 
void ExirShow() 
{ 
 system("color 0E"); 
 printf("###########   通訊錄管理系統(tǒng) v1.0 ################\n"); 
 printf("############################################################\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#      謝謝使用!       #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("#               #\n"); 
 printf("############################################################\n"); 
 printf("# POWER BY ************* 蘭州理工大學(xué)  201407  #\n"); 
 printf("############################################################\n"); 
  
} 
void ErrorShow() 
{ int errortime=5; 
 system("color 0E"); 
 for(errortime=5;errortime>0;errortime--) 
  {printf("\r輸入錯(cuò)誤!請(qǐng)仔細(xì)檢查!將在%d秒后返回",errortime); 
   Sleep(1000); 
  } 
  
} 
int main() 
{ int key; 
 int Ex_key; 
 int Check_key; 
 char a[10]; 
 if((fp=fopen("txl.dat","ab"))==NULL) 
 { 
  printf("文件操作錯(cuò)誤,請(qǐng)檢查是否有權(quán)限操作文件!"); 
  Sleep(3000); 
  exit(1); 
 } 
 fclose(fp); 
 FileLoading(); 
 while(1){ 
 ShowMenu(); 
 gets(a); 
 key=atoi(a); 
 if(key==1) 
  {system("cls"); 
  add(); 
  } 
 else if(key==2) 
  { system("cls"); 
    
   system("color 0E"); 
  while(1) 
    { 
   system("color 0E"); 
   CheckFace(); 
   printf("請(qǐng)輸入你的選擇:\n"); 
   gets(a); 
   Check_key=atoi(a); 
   if(Check_key==1) 
    Selelctname() 
   ; 
   else if(Check_key==2) 
    Selelctphone() 
   ; 
   else if(Check_key==3) 
    Selelctall() 
   ; 
   else if(Check_key==4) 
   
   break; 
   else 
   ErrorShow(); 
   system("cls"); 
   system("color 1F"); 
   getchar(); 
    
  }  
   
   
  } 
  
 else if(key==3)  //2013級(jí) 耿。。 
 { system("color 0E"); 
  system("cls"); 
  AllShow(); 
  system("pause"); 
 } 
 else if(key==4) 
  { 
   system("color 0A"); 
   Change(); 
   
   
  } 
 else if(key==5) 
  { 
  system("color 5F"); 
  system("cls"); 
  AllNum(); 
  system("pause"); 
   } 
 else if(key==6) 
  { 
  system("cls"); 
  ExirShow(); 
  Sleep(1000); 
  exit(0); 
  } 
   
 else 
  
  ErrorShow(); 
  system("cls"); 
  system("color 1F"); 
  getchar(); 
 } 
  
 
} 

比較簡(jiǎn)單就是用到了鏈表和文件操作,其中統(tǒng)計(jì)聯(lián)通和移動(dòng)人數(shù)的那里其實(shí)只用一個(gè)循環(huán)就可以。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)航班管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)航班管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)航班管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C++實(shí)現(xiàn)二分法求方程近似解

    C++實(shí)現(xiàn)二分法求方程近似解

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)二分法求方程近似解,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • vscode+platformIO開(kāi)發(fā)stm32f4的實(shí)現(xiàn)

    vscode+platformIO開(kāi)發(fā)stm32f4的實(shí)現(xiàn)

    這篇文章主要介紹了vscode+platformIO開(kāi)發(fā)stm32f4的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 詳解C++異常處理(try catch throw)完全攻略

    詳解C++異常處理(try catch throw)完全攻略

    這篇文章主要介紹了詳解C++異常處理(try catch throw)完全攻略,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C++字符數(shù)組的輸入輸出和字符串結(jié)束標(biāo)志使用講解

    C++字符數(shù)組的輸入輸出和字符串結(jié)束標(biāo)志使用講解

    這篇文章主要介紹了C++字符數(shù)組的輸入輸出和符串結(jié)束標(biāo)志使用講解,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • 深入解析C++ STL中的常用容器

    深入解析C++ STL中的常用容器

    這里我們不涉及容器的基本操作之類,只是要討論一下各個(gè)容器其各自的特點(diǎn)。STL中的常用容器包括:順序性容器(vector、deque、list)、關(guān)聯(lián)容器(map、set)、容器適配器(queue、stac)
    2013-09-09
  • 探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例

    探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例

    這篇文章主要介紹了探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 深入理解C語(yǔ)言指針及占據(jù)內(nèi)存空間

    深入理解C語(yǔ)言指針及占據(jù)內(nèi)存空間

    這篇文章主要介紹了C語(yǔ)言指針及占據(jù)內(nèi)存空間的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • C語(yǔ)言實(shí)現(xiàn)掃雷算法簡(jiǎn)易版

    C語(yǔ)言實(shí)現(xiàn)掃雷算法簡(jiǎn)易版

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷算法簡(jiǎn)易版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 詳解c++11以正確的姿勢(shì)輸出enum class的值

    詳解c++11以正確的姿勢(shì)輸出enum class的值

    這篇文章主要介紹了詳解c++11以正確的姿勢(shì)輸出enum class的值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論