欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語言大作業(yè)——學生通訊錄管理系統(tǒng)

      時間:2019-05-14 04:55:35下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《C語言大作業(yè)——學生通訊錄管理系統(tǒng)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《C語言大作業(yè)——學生通訊錄管理系統(tǒng)》。

      第一篇:C語言大作業(yè)——學生通訊錄管理系統(tǒng)

      #include #include //#define NULL 0 #define LEN sizeof(struct message)

      struct message

      //定義結構體

      {

      char name[15];

      char number[15];

      char phone[15];

      char qq[13];

      char addr[25];

      struct message *next;

      //指向下一數(shù)據(jù)

      };

      int n;

      void creat()

      //建立電話簿

      {

      int num;char choice[5]={'2'};

      FILE *fp;

      struct message *head;

      struct message *p,*q;

      n = 0;

      p = q =(struct message *)malloc(LEN);

      fp=fopen(“通訊錄1.txt”,“wb”);

      system(“cls”);

      printf(“n請輸入姓名:”);

      scanf(“%s”,p->name);

      printf(“n請輸入電話號碼:”);

      scanf(“%s”,p->phone);

      printf(“n請輸入學號:”);

      scanf(“%s”,p->number);

      printf(“n請輸入QQ:”);

      scanf(“%s”,p->qq);

      printf(“n請輸入住址:”);

      scanf(“%s”,p->addr);

      fwrite(p,LEN,1,fp);

      fclose(fp);

      head = 0;

      num = 1;

      while(num!=0)

      {

      n = n+1;

      if(n==1)head = p;

      else q->next = p;

      q = p;

      p =(struct message *)malloc(LEN);

      //分配存儲區(qū)

      while(choice[0]!='1' && choice[0]!='0')

      //判斷是否繼續(xù)

      {

      printf(“n1 繼續(xù)輸入n 0 返回n”);

      printf(“請選擇操作:”);

      scanf(“%s”,choice);

      }

      switch(choice[0])

      {

      case '1':

      {

      fp=fopen(“通訊錄1.txt”,“rb”);

      system(“cls”);

      printf(“n請輸入姓名:”);

      scanf(“%s”,p->name);

      printf(“n請輸入電話號碼:”);

      scanf(“%s”,p->phone);

      printf(“n請輸入學號:”);

      scanf(“%s”,p->number);

      printf(“n請輸入QQ:”);

      scanf(“%s”,p->qq);

      printf(“n請輸入住址:”);

      scanf(“%s”,p->addr);

      fwrite(p,LEN,1,fp);

      fclose(fp);

      choice[0] = '2';

      }

      continue;

      case '0': num = 0;

      system(“cls”);

      }

      }

      q->next = 0;}

      void add()

      //添加通訊錄 {

      int num;char choice[5]={'2'};

      FILE *fp;

      struct message *head;

      struct message *p,*q;

      n = 0;

      p = q =(struct message *)malloc(LEN);

      fp=fopen(“通訊錄1.txt”,“ab”);

      system(“cls”);

      printf(“n請輸入姓名:”);

      scanf(“%s”,p->name);

      printf(“n請輸入電話號碼:”);

      scanf(“%s”,p->phone);

      printf(“n請輸入學號:”);

      scanf(“%s”,p->number);

      printf(“n請輸入QQ:”);

      scanf(“%s”,p->qq);

      printf(“n請輸入住址:”);

      scanf(“%s”,p->addr);

      fwrite(p,LEN,1,fp);

      fclose(fp);

      head = 0;

      num = 1;

      while(num!=0)

      {

      n = n+1;

      if(n==1)head = p;

      else q->next = p;

      q = p;

      p =(struct message *)malloc(LEN);

      while(choice[0]!='1' && choice[0]!='0')

      否繼續(xù)

      {

      printf(“n1 繼續(xù)輸入n 0 返回n”);

      printf(“請選擇操作:”);

      scanf(“%s”,choice);

      }

      //分配空間 //輸入內(nèi)容

      //分配空間

      //判斷是

      switch(choice[0])

      {

      case '1':

      {

      fp=fopen(“通訊錄1.txt”,“rb”);

      system(“cls”);

      printf(“n請輸入姓名:”);

      scanf(“%s”,p->name);

      printf(“n請輸入電話號碼:”);

      scanf(“%s”,p->phone);

      printf(“n請輸入學號:”);

      scanf(“%s”,p->number);

      printf(“n請輸入QQ:”);

      scanf(“%s”,p->qq);

      printf(“n請輸入住址:”);

      scanf(“%s”,p->addr);

      fwrite(p,LEN,1,fp);

      fclose(fp);

      choice[0] = '2';

      }

      continue;

      case '0': num = 0;

      system(“cls”);

      }

      }

      q->next = 0;}

      void findname(struct message * fphead)

      {

      struct message *p;

      int a = 0;

      char findname[20];

      system(“cls”);

      printf(“請輸入要查找的姓名:n”);

      scanf(“%s”,findname);

      for(p=fphead->next;p!=NULL;p=p->next)

      {

      if(strcmp(p->name,findname)==0)

      {

      //按姓名查找

      printf(“姓名

      電話號碼

      學號

      QQ

      住址n”);

      printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

      a = 1;

      }

      }

      if(a!= 1)

      printf(“無此通訊錄!n”);

      } void findphone(struct message * fphead)

      //按電話查找

      {

      struct message *p;

      int a = 0;

      char findphone[15];

      system(“cls”);

      printf(“請輸入要查找的電話:n”);

      scanf(“%s”,findphone);

      for(p=fphead->next;p!=NULL;p=p->next)

      {

      if(strcmp(p->phone,findphone)==0)

      {

      printf(“姓名

      電話號碼

      學號

      住址n”);

      printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

      a = 1;

      }

      }

      if(a!= 1)

      printf(“無此通訊錄!n”);

      }

      void findnumber(struct message * fphead)

      //按學號查找

      {

      struct message *p;

      int a = 0;

      char findnumber[15];

      system(“cls”);

      QQ

      printf(“請鍵入要查找的學生學號:n”);

      scanf(“%s”,findnumber);

      for(p=fphead->next;p!=NULL;p=p->next)

      {

      if(strcmp(p->number,findnumber)==0)

      {

      printf(“姓名

      電話號碼

      學號

      QQ

      住址n”);

      printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

      a = 1;

      }

      }

      if(a!= 1)

      printf(“無此通訊錄!n”);

      }

      void modify(struct message * fphead)

      //修改記錄

      {

      FILE *fp;

      struct message *p,*q;

      int a = 0;

      char findname[15];

      system(“cls”);

      printf(“請鍵入要查找的姓名:n”);

      scanf(“%s”,findname);

      for(p=fphead->next;p!=NULL;p=p->next)

      {

      if(strcmp(p->name,findname)==0)

      {

      printf(“姓名

      電話號碼

      學號

      QQ

      住址n”);

      printf(“%-15s %-15s %-15s %-13s %-25snnnn”,p->name,p->phone,p->number,p->qq,p->addr);

      printf(“n請鍵入新姓名:”);

      scanf(“%s”,p->name);

      printf(“n請鍵入新電話號碼:”);

      scanf(“%s”,p->phone);

      printf(“n請鍵入新學號:”);

      scanf(“%s”,p->number);

      printf(“n請鍵入新QQ:”);

      scanf(“%s”,p->qq);

      printf(“n請鍵入新住址:”);

      scanf(“%s”,p->addr);

      fp = fopen(“通訊錄2.txt”,“wb”);

      q = fphead->next;

      //P為鏈表頭指針

      while(q!=0)

      {

      fwrite(q,LEN,1,fp);

      if(q->next!=0)

      q = q->next;

      else

      q = 0;

      }

      fclose(fp);

      unlink(“通訊錄1.txt”);

      //用新文件覆蓋原文件

      rename(“通訊錄2.txt”, “通訊錄1.txt”);

      printf(“修改成功!”);

      a = 1;

      }

      }

      if(a!= 1)

      printf(“無此通訊錄!n”);

      }

      void del(struct message * fphead)

      //刪除記錄

      {

      FILE *fp,*fq;

      struct message *p,*q,*r;

      char sname[15];

      p = q =(struct message *)malloc(LEN);

      p = fphead;

      system(“cls”);

      fp = fopen(“通訊錄1.txt”,“rb”);

      fq = fopen(“通訊錄2.txt”,“wb”);

      printf(“請輸入欲刪除記錄的姓名:”);

      scanf(“%s”,sname);

      while(strcmp(p->name,sname)!=0 && p->next!=0)//查找節(jié)點并刪除該節(jié)點

      {

      q = p;

      p = p->next;

      }

      if(strcmp(p->name,sname)==0)

      {

      if(p==fphead)

      fphead = p->next;

      else

      {

      q->next = p->next;

      }

      r = fphead->next;

      //r為鏈表頭指針

      while(r!=0)

      {

      fwrite(r,LEN,1,fq);

      if(r->next!=0)

      r = r->next;

      else

      r = 0;

      }

      printf(“刪除成功!”);

      }

      else

      {

      printf(“無此通訊錄!”);

      }

      fclose(fp);

      fclose(fq);

      unlink(“通訊錄1.txt”);

      //用新文件覆蓋原文件

      rename(“通訊錄2.txt”, “通訊錄1.txt”);

      }

      struct message * open(void)

      //打開文件,載入鏈表

      {

      FILE *fp;

      struct message *p=NULL,*q=NULL,*temp=NULL,*fphead=NULL;

      fp=fopen(“通訊錄1.txt”,“rb”);

      fphead=(struct message *)malloc(LEN);

      //分配空間

      temp = q = fphead;

      while(!feof(fp))

      //循環(huán)讀取,載入鏈表

      {

      p=(struct message *)malloc(LEN);

      temp=q;

      q->next=p;

      q=p;

      fread(p,LEN,1,fp);

      }

      temp->next=NULL;

      fclose(fp);

      return(fphead);

      //返回鏈表頭指針

      }

      void print()

      //顯示通訊錄

      {

      struct message *p;

      FILE *fp;

      system(“cls”);

      if((fp=fopen(“通訊錄1.txt”,“rb”))!=NULL)

      {

      printf(“姓名

      電話號碼

      學號

      住址n”);

      p =(struct message *)malloc(LEN);

      //分配空間

      while(!feof(fp))

      {

      fread(p,LEN,1,fp);

      printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

      }

      fclose(fp);

      }

      else

      {

      printf(“未建立通訊錄!”);

      } }

      void main()

      //主函數(shù) {

      FILE * fp;

      struct message * fphead;

      int begin = 1,f;

      char choice[5];

      QQ

      while(begin == 1)

      {

      printf(“tt>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>n”);

      printf(“tttt歡迎使用學生通訊錄n”);

      printf(“tt<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

      printf(“ttt*主窗口菜單*nn”);

      printf(“ttt1:顯示通訊錄中所有記錄;nn”);

      printf(“ttt2:建立新通訊錄;nn”);

      printf(“ttt3:添加新記錄;nn”);

      printf(“ttt4:查詢通訊錄中的記錄;nn”);

      printf(“ttt5:修改通訊錄中的記錄;nn”);

      printf(“ttt6:刪除通訊錄中的記錄;nn”);

      printf(“ttt0:退出通訊錄nn”);

      printf(“請選擇操作:”);

      scanf(“%s”,choice);

      switch(choice[0])

      {

      case '1':

      {

      print();

      printf(“按任意鍵返回主菜單!n”);

      getch();

      system(“cls”);

      }

      continue;

      case '2':

      {

      creat();

      }

      continue;

      case '3':

      {

      add();

      }

      continue;

      case '4':

      {

      if((fp = fopen(“通訊錄1.txt”,“rb”))!= NULL)

      {

      fclose(fp);

      system(“cls”);

      printf(“1按姓名查詢;n2按電話查詢;n3按學號查詢;n”);

      printf(“請輸入查詢方式:”);

      scanf(“%d”,&f);

      if(f==1)

      {

      fphead = open();

      findname(fphead);

      }

      if(f==2)

      {

      fphead = open();

      findphone(fphead);

      }

      else if(f==3)

      {

      fphead = open();

      findnumber(fphead);

      }

      }

      else

      {

      system(“cls”);

      printf(“未建立通訊錄!”);

      }

      printf(“按任意鍵返回主菜單!n”);

      getch();

      system(“cls”);

      }

      continue;

      case '5':

      {

      if((fp = fopen(“通訊錄1.txt”,“rb”))!= NULL)

      {

      fclose(fp);

      fphead = open();

      modify(fphead);

      }

      else

      {

      system(“cls”);

      printf(“未建立通訊錄!”);

      }

      printf(“按任意鍵返回主菜單!n”);

      getch();

      system(“cls”);

      }continue;

      case '6':

      {

      if((fp = fopen(“通訊錄1.txt”,“rb”))!= NULL)

      {

      fclose(fp);

      fphead = open();

      del(fphead);

      }

      else

      {

      system(“cls”);

      printf(“未建立通訊錄!”);

      }

      printf(“按任意鍵返回主菜單!n”);

      getch();

      system(“cls”);

      }

      continue;

      case '0': exit(0);

      default:

      {

      system(“cls”);

      printf(“輸入錯誤,按任意鍵返回主菜單!n”);

      getch();

      system(“cls”);

      }

      }

      }

      system(“pause”);}

      第二篇:學生通訊錄管理系統(tǒng)

      “學生通訊信息記錄系統(tǒng)”的設計與實現(xiàn)

      一、設計要求

      1.問題的描述

      “學生通訊信息記錄系統(tǒng)”是為了實現(xiàn)快速的對學生信息進行錄入、刪除、查找、顯示。各個功能靠函數(shù)實現(xiàn)。2.需求分析

      (1)應該包括以下功能:輸入信息、顯示信息、查找以姓名作為關鍵字、刪除信息(2)作為一個完整的系統(tǒng),應具有友好的界面和較強的容錯能力

      二、概要設計

      1.主界面設計

      2.儲存結構設計

      本系統(tǒng)主要采用鏈表類型來表示儲存“學生信息記錄系統(tǒng)”中的信息。程序中定義了address結構。其中,包括學生的姓名、宿舍信息和學號。3.系統(tǒng)功能的設計

      1)輸入信息——enter();2)顯示信息———display();3)查找以姓名作為關鍵字 ———search();4)刪除信息———delete();

      三、模塊設計

      1.模塊設計

      本成績包含兩個模塊:主程序模塊和鏈表操作模塊。2.系統(tǒng)的程序及功能設計

      (1)插入學生信息

      void enter()

      /*輸入函數(shù),本函數(shù)循環(huán)輸入資料,當輸入姓名為空時退出*/ {

      struct address *info;

      /*定義當前結點*/

      for(;;){

      info=(struct address *)malloc(sizeof(struct address));

      /*為當前結點分配空間*/

      if(!info)

      {

      printf(“n Out of memory”);

      exit(0);

      /*如果分配空間失敗,退出程序*/

      }

      printf(“輸入空姓名結束:n”);

      inputs(“請輸入 姓名:”,info->name,10);

      if(!info->name[0])

      break;

      /*如果輸入姓名為空,結束循環(huán)*/

      inputs(“請輸入

      院系:”,info->street,50);

      inputs(“請輸入宿舍樓:”,info->city,15);

      inputs(“請輸入宿舍號:”,info->state,15);

      inputs(“請輸入

      學號:”,info->eip,7);

      insert(info,&start,&last);

      /*調(diào)用結點插入函數(shù)*/ } }

      五、測試分析

      1.輸入學生信息

      4.刪除信息

      5.退出

      struct address *start;

      /*首結點*/ struct address *last;

      /*尾結點*/ struct address *find(char *);

      /*聲明查找函數(shù)*/

      void enter();

      /*函數(shù)聲明*/ void search();void save();

      void load();void list();void ddelete(struct address **start,struct address **last);void insert(struct address *i,struct address **start,struct address **last);void inputs(char *,char *,int);void display(struct address *);int menu_select(void);

      void main(){

      int c;

      printf(“n

      歡迎使用學生通訊錄系統(tǒng)”);

      printf(“nn”);

      printf(“t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

      printf(“t┃************************************************************┃n”);

      printf(“t┃*

      *

      *┃n”);

      printf(“t┃*

      1.輸入信息

      *

      2.刪除信息

      *┃n”);

      printf(“t┃*

      *

      *┃n”);

      printf(“t┃************************************************************┃n”);

      printf(“t┃*

      *

      *┃n”);

      printf(“t┃*

      3.顯示信息

      *

      4.查找

      *┃n”);

      printf(“t┃*

      *

      *┃n”);

      printf(“t┃************************************************************┃n”);

      printf(“t┃

      5.退出

      ┃ n”);

      printf(“t┃************************************************************┃n”);

      exit(0);

      /*如果分配空間失敗,退出程序*/ }

      printf(“輸入空姓名結束:n”);

      inputs(“請輸入 姓名:”,info->name,10);

      if(!info->name[0])break;

      /*如果輸入姓名為空,結束循環(huán)*/

      inputs(“請輸入

      院系:”,info->street,50);

      inputs(“請輸入宿舍樓:”,info->city,15);

      inputs(“請輸入宿舍號:”,info->state,15);

      inputs(“請輸入

      學號:”,info->eip,7);

      insert(info,&start,&last);

      /*調(diào)用結點插入函數(shù)*/ }

      void inputs(char *prompt,char *s,int count)

      /*輸入函數(shù),有越界檢測功能*/ {

      char p[255];

      do }

      i->next=NULL;

      i->prior=NULL;

      *last=i;

      *start=i;

      return;

      }

      else {

      (*last)->next=i;

      i->prior=*last;i->next=NULL;

      *last=(*last)->next;

      }

      }

      void ddelete(struct address **start,struct address **last)

      /*刪除函數(shù)*/

      { struct address *info;

      char s[80];

      inputs(“請輸入 姓名:”,s,10);

      /*輸入欲刪除結點的name域內(nèi)容*/

      info=find(s);

      if(info)

      {

      printf(“Deleting......n”);if(*start==info)

      點的下驅(qū)作為新的首結點(入口)*/

      { *start=info->next;

      if(*start)(*start)->prior=NULL;

      else *last=NULL;

      }

      else

      結點*/

      {

      info->prior->next=info->next;

      info=info->next;

      }

      printf(“未找到相關信息.n”);

      return NULL;}

      /*輸出整個鏈表*/ void list(void){ struct address *info;

      info=start;

      if(info==NULL)printf(“當前記錄為空!”);else printf(“姓名t院系t宿舍樓t宿舍號t學號tn”);

      while(info)

      {

      };display(info);if(info->next==NULL){break;} info=info->next;

      printf(“nn”);}

      /*查找函數(shù)*/

      /*輸入欲查找的姓名*/ /*如果沒找到,顯示Not found*/

      /*如果找到,顯示該結點資料*/

      七、用戶使用手冊

      (1)本程序的執(zhí)行文件為“學生通訊錄管理系統(tǒng).exe”。

      (2)進入本系統(tǒng)之后,隨即顯示系統(tǒng)住菜單界面。用戶可以在該界面下根據(jù)提示輸入并按回車鍵確定,執(zhí)行相應的菜單命令。

      (3)本系統(tǒng)可以對學生信息進行錄入和刪除。

      數(shù)據(jù)結構課程設計

      課題:學生成績管理系統(tǒng)

      姓名:孫軒宇

      學號:E01014316

      專業(yè):計算機科技

      院系:計科院

      2010.10.8

      班級:10

      第三篇:C語言程序設計學生通訊錄管理系統(tǒng)

      #include “stdio.h” #include “stdlib.h” #include “string.h” #include “conio.h” #include “stdlib.h” #define null 0 struct record { char name[20];char phone[20];char adress[40];char postcode[10];char e_mail[30];}student[500];struct LinkList { struct record US;struct LinkList *next;}a;struct LinkList *head=null;int num=0;FILE *fp;int menu_select();int adduser();int list();int search();int display();int add();int listbyname();int dele();int save();int exit();

      void main(){

      system(“cls”);for(;;){ switch(menu_select()){ case 0:adduser();break;case 1:list();break;case 2:search();break;case 3:add();break;case 4:dele();break;case 5:save();break;case 6:exit(0);} } } menu_select(){ char s[80];int a;printf(“*_* press any key enter menu!*_* n”);getch();system(“cls”);printf(“tt********************MENU*********************nn”);printf(“tt 0.輸入記錄n”);printf(“tt 1.顯示記錄 n”);printf(“tt 2.按姓名查找n”);printf(“tt 3.插入記錄 n”);printf(“tt 4.刪除記錄n”);printf(“tt 5.記錄保存文件n”);printf(“tt 6.Quitn”);printf(“tt***********************************************n”);do{ printf(“n Enter you choice(0~11):”);scanf(“%s”,s);a=atoi(s);} while(a<0||a>11);return a;}

      adduser(){ printf(“ntt**************** 請輸入用戶信息 ****************n”);printf(“ntt輸入姓名:”);scanf(“%s”,&student[num].name);printf(“ntt輸入電話號碼:”);scanf(“%s”,&student[num].phone);printf(“ntt輸入地址:”);scanf(“%s”,&student[num].adress);printf(“ntt輸入郵編:”);scanf(“%s”,&student[num].postcode);printf(“ntt輸入e-mail:”);scanf(“%s”,&student[num].e_mail);num++;printf(“ntt是否繼續(xù)添加?(Y/N):”);if(getch()=='y')adduser();return(0);} list(){ int i;system(“cls”);if(num!=0){ printf(“ntt*************** 以下為通訊錄所有信息************”);for(i=0;i

      printf(“ntt姓名: %s”,student[i].name);printf(“ntt電話: %s”,student[i].phone);printf(“ntt地址: %s”,student[i].adress);printf(“ntt郵編: %s”,student[i].postcode);printf(“ntte-mail:%s”,student[i].e_mail);printf(“tt”);if(i+1

      add(){ int i;if((fp=fopen(“student.bin”,“wb”))==NULL){ printf(“ntt文件打開失敗”);} for(i=0;i

      save(){ int j;FILE*fp;fp=fopen(“student.txt”,“w”);if(fp==NULL)printf(“can't open the file.”);if(num!=0){ for(j=0;j

      fwrite(student,sizeof(student),1,fp);} } printf(“保存成功!”);fclose(fp);return(0);}

      第四篇:C語言-通訊錄管理系統(tǒng)

      #include #include #include struct record{ charnum[12];char name[10];char birthday[10];char post[10];char phone[15];}data[100];intmenu_select();intcreate_record();intadd_record(int flag);int flag=0;

      intfind_record(int flag);intdelete_record(int flag);voidpaixu_record(int flag);intsave_record(int flag);void main(){ for(;;){ switch(menu_select())

      { case 1: printf(“ ***********************************************n”);printf(“ ************** 通訊錄的建立 ***************n”);printf(“ ***********************************************n”);flag=create_record();break;case 2: printf(“ ***********************************************n”);printf(“ ************** 通訊錄信息的添加 *****************n”);printf(“ ***********************************************n”);flag=add_record(flag);break;case 3: printf(“ ******************************n”);printf(“ ******* 通訊錄信息查詢 *******n”);printf(“ ******************************n”);find_record(flag);

      break;case 4: printf(“ ***********************************n”);printf(“ **********通訊信息的刪除***********n”);printf(“ ***********************************n”);delete_record(flag);break;case 5: printf(“ ***********************************n”);printf(“ **********通訊錄的存儲(D:)*********n”);printf(“ ***********************************n”);save_record(flag);break;case 6: printf(“ ***********************************n”);printf(“ **********通訊者的排序*********n”);printf(“ ***********************************n”);paixu_record(flag);break;case 0: printf(“t 謝謝您的使用!n”);break;

      default : break;} } } intmenu_select(){ int i;printf(“

      ********************

      n”);printf(“

      Welcome!

      n

      ”);printf(“

      Form kuangminn”);printf(“

      ********************

      n”);printf(“

      n”);printf(“ n”);printf(“ n”);printf(“

      通訊錄管理系統(tǒng)

      n”);printf(“ n”);printf(“

      ======================n”);printf(“

      1.通訊錄的建立n”);printf(“

      2.通訊者的添加n”);printf(“

      3.通訊錄的查詢n”);printf(“

      4.通訊者的刪除n”);printf(“

      5.通訊錄的存儲n”);printf(“

      6.通訊者的排序n”);printf(“

      0.退出通訊錄管理系統(tǒng)n”);printf(“

      ======================n”);printf(“

      請選擇操作0-5 nn”);for(;;){ scanf(“%d”,&i);if(i<0||i>6)printf(“t對不起,您的輸入錯誤n”);else break;} return i;} intcreate_record(){inti,j;for(i=0;;)

      { printf(“ 學號(12)姓名(10)出生年月(10)家庭住址(30)郵編(10)電話(15)n”);printf(“-------------n”);scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);i++;printf(“ 想繼續(xù)創(chuàng)建嗎?(1.是/0.不):”);scanf(“%d”,&j);if(!j)

      return i;else printf(“恭喜你,創(chuàng)建成功!請繼續(xù)創(chuàng)建!n”);

      } return i;} intadd_record(int flag){ int i=flag,j;for(i;;)

      { printf(“ 學號(12)姓名(10)出生年月(10)家庭住址(30)郵編(10)電話(15)n”);printf(“-------------n”);

      scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday,data[i].post, data[i].phone);i++;printf(“ 想繼續(xù)添加嗎?(1.是/0.不):”);scanf(“%d”,&j);if(!j)return i;else printf(“恭喜你,添加成功!請繼續(xù)添加!n”);

      } return(i);} intfind_record(){ int i;char number[6];char named[10];intxz;printf(“--------------------n”);printf(“ 1.按學號查詢n”);printf(“ 2.按姓名查詢n”);printf(“--------------------n”);printf(“ 請選擇 : n”);

      scanf(“%d”,&xz);if(xz==1){ printf(“ 請輸入要查找的學號: ”);scanf(“%s”,number);for(i=0;i

      if(strcmp(data[i].num,number)==0)

      { printf(“ ** 學號姓名出生年月家庭住址郵編電話**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;}

      } else if(xz=2){ printf(“請輸入要查找的姓名: ”);scanf(“%s”,named);for(i=0;i

      { printf(“ ** 學號姓名出生年月家庭住址郵編電話**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;else {printf(“對不起,沒有你要找的人!n”);return 0;} }

      else {printf(“對不起,沒有你要找的人!n”);return 0;}

      }

      } intdelete_record(int flag)

      { inti,j;intdeletemark=0;char number[20];printf(“ttt請輸入要刪除學號:n”);scanf(“%s”,number);for(i=0;i

      { if(strcmp(data[i].num, number)==0)

      { printf(“ttt以下是您要刪除的用戶紀錄:n”);printf(“ ** 學號姓名出生年月家庭住址郵編電話**n”);printf(“------------------------------n”);

      printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);

      printf(“ttt是否刪除?(y/n)”);if(getch()=='y' || getch()=='Y')

      { for(j=i;j

      } else return;

      } continue;

      } if(deletemark==0)

      { printf(“ttt沒有該用戶的紀錄”);

      return;

      } return;

      } voidpaixu_record(int flag){inti,j;struct record tmp;

      printf(“ 1.按姓名排序n”);printf(“ 2.按學號排序n”);scanf(“%d”,&i);if(i==1){for(i=1;i

      { if(strcmp(data[i].name, data [i-1].name)<0)

      { tmp= data[i];

      j=i-1;do

      { data [j+1]= data [j];j--;}while((strcmp(tmp.name, data [j].name)<0&&j>=0));data [j+1]=tmp;

      }

      } printf(“ttt排序成功!”);}

      if(i==2){for(j=0;jdata[i+1].num)

      {tmp=data[i];data[i]=data[i+1];data[i+1]=tmp;} } }

      intsave_record(int flag){

      FILE*fp;int i;if((fp=fopen(“D:data.txt”,“w+”))==NULL)

      {printf(“無法打開文件!”);exit(0);} for(i=0;i

      {fprintf(fp,“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);printf(“n”);} fclose(fp);return 0;}

      第五篇:學生通訊錄管理系統(tǒng)(C語言課程設計實驗報告)

      C語言課程設計報告——劉顯安

      C語言課程設計

      姓名:劉顯安 學號:09041131 班級:090411 專業(yè):計算機科學與技術 學院:信息工程學院 設計題目:學生通訊錄管理系統(tǒng)

      指導教師:宋文琳 提交時間:2010年9月4日

      第1頁(共25頁)

      C語言課程設計報告——劉顯安

      課程題目:學生通訊錄管理系統(tǒng)

      要求:學生通訊錄信息包括:學號、姓名、班機、聯(lián)系電話、E-mail、宿舍等 主要功能:1、2、3、4、5、通訊錄信息錄入功能 通訊錄信息刪除功能 通訊錄信息瀏覽功能 通訊錄信息查詢功能 按學號排序功能

      一、總體設計

      首先,整個系統(tǒng)必須有一個主函數(shù),為了盡量提高程序的易修改性,且不至于相互干擾,將每一個功能分成不同的模塊,用不同的函數(shù)來實現(xiàn),例如在我寫的這個程序中,一共用了11個函數(shù),分別是:

      主菜單函數(shù)menu()、關于函數(shù)gaunyu()、幫助函數(shù)help()、輸出單個學生信息函數(shù)shuchu()、輸入函數(shù)shuru()、輸出所有學生信息函數(shù)findall()、按姓名查找函數(shù)findname()、按學號查找函數(shù)findnum()、刪除函數(shù)shanchu()、排序函數(shù)paixu()、主函數(shù)main(),這樣在整個程序的設計過程中也就一目了然,寫起來也相對輕松了不少。

      這個程序我只是總體上參考了一下網(wǎng)上程序的架構,具體的各個函數(shù)是參照課本上《鏈表》那一章的內(nèi)容的,比如結構體的建立、查找和排序等功能,這些書上都有類似的,其中排序功能雖沒有原版的,第2頁(共25頁)

      C語言課程設計報告——劉顯安

      但是在第六章中有一個用冒泡法排序的例題,我就是仿照這個模式來對結構體進行排序的,總之整個程序中蘊含了我很多的汗水。

      二、具體設計

      關于這個程序的具體設計,也不是一兩句話就能說完的,所以我也不想再在這里贅述了,因為程序里都可以看的到,幾乎每個函數(shù)都傾注了我的大量汗水,我在這上面花了不少的時間,不過從中也收獲了很多,因為不停地修改不停的調(diào)試,總之還是直接看源程序吧,因為也沒必要在這里重復地說廢話。

      三、源代碼

      以下是整個程序的源代碼,其中我的主菜單函數(shù)是很美觀的,但由于這里字體和板式的限制,不能很好的顯現(xiàn),可以看我下面程序運行的截圖就知道了?!?#include #include #include #include #include #define NULL 0

      struct student{

      第3頁(共25頁)

      C語言課程設計報告——劉顯安

      long num;char name[20];int banji;char tel[11];char Email[20];int sushe;struct student *next;};

      struct student *stu;int n;

      void menu(void){ /*主菜單函數(shù)*/ system(“cls”);puts(“****************************************************************************”);puts(“** ^_^學生通訊錄管理系統(tǒng)^_^ **”);puts(“****************************************************************************”);puts(“******** 計 ********”);

      第4頁(共25頁)

      C語言課程設計報告——劉顯安

      puts(“******* *******”);puts(“****** 算 ******”);puts(“***** 0 1=錄入學生通訊錄信息 *****”);puts(“**** 9 機 ****”);puts(“*** ***”);puts(“** 科 **”);puts(“*

      *”);puts(“** 1 學 **”);puts(“*** ***”);puts(“**** 與 ****”);puts(“***** *****”);0 4

      劉 2=

      安 6=

      第5頁(共25頁)

      列出所有學生通訊錄 3=按姓名查詢信息 4=按學號查詢信息

      5=刪除學生信息 按學號將通訊錄排序

      7=關于

      8=幫助

      0=退出

      C語言課程設計報告——劉顯安

      puts(“****** 技 ******”);puts(“******* *******”);puts(“******** 術 ********”);puts(“****************************************************************************”);} void guanyu()/*關于函數(shù)*/ { system(“cls”);puts(“n ************************** ”);puts(“ *** 版權所有,翻版必究!***”);puts(“**** copyright◎劉顯安!****”);puts(“ *** 2009~2010 ***”);puts(“ **************************”);puts(“n返回主菜單請按【9】”);if(getche()=='9')menu();}

      struct student *shuru(void)/*輸入函數(shù)*/

      第6頁(共25頁)

      C語言課程設計報告——劉顯安

      { system(“cls”);struct student *s1,*s2;n=1;int num;puts(“請輸入學生個數(shù)(提示:個數(shù)不能輸入0?。骸?;scanf(“%d”,&num);s1=s2=(struct student *)malloc(sizeof(struct student));puts(“*************************************************”);puts(“請輸入學號:”);scanf(“%ld”,&s1->num);puts(“請輸入學生姓名:”);scanf(“%s”,s1->name);puts(“請輸入班級:”);scanf(“%d”,&s1->banji);puts(“請輸入電話號碼:”);scanf(“%s”,s1->tel);puts(“請輸入電子郵件:”);scanf(“%s”,s1->Email);puts(“請輸入學生宿舍號:”);scanf(“%d”,&s1->sushe);stu=s1;

      第7頁(共25頁)

      C語言課程設計報告——劉顯安

      while(nnext=s1;s2=s1;s1=(struct student *)malloc(sizeof(struct student));puts(“*************************************************”);puts(“請輸入學號:”);scanf(“%ld”,&s1->num);puts(“請輸入學生姓名:”);scanf(“%s”,s1->name);puts(“請輸入班級:”);scanf(“%d”,&s1->banji);puts(“請輸入電話號碼:”);scanf(“%s”,s1->tel);puts(“請輸入電子郵件:”);scanf(“%s”,s1->Email);puts(“請輸入學生宿舍號:”);scanf(“%d”,&s1->sushe);n=n+1;} puts(“*************************************************”);s2->next=s1;

      第8頁(共25頁)

      C語言課程設計報告——劉顯安

      s2=s1;s2->next=NULL;return(stu);//system(“cls”);}

      void shuchu(struct student *s){ /*輸出單個學生信息*/ printf(“* %-8ld”,s->num);printf(“%-15s”,s->name);printf(“%-8d”,s->banji);printf(“%-15s”,s->tel);printf(“%-15s”,s->Email);printf(“%-5d *n”,s->sushe);}

      void findall()/*輸出所有學生信息*/ { system(“cls”);struct student *s;//if(n=2)//printf(“n現(xiàn)在有%d個學生信息,分別是:n”,n);//else

      第9頁(共25頁)

      C語言課程設計報告——劉顯安

      printf(“n現(xiàn)在有%d個學生信息,分別是:n”,n);puts(“________________________________________________________________________”);puts(“* 學號 姓名 班級 電話 電子郵件 宿舍 *”);s=stu;while(s!=NULL){ shuchu(s);s=s->next;} puts(“________________________________________________________________________”);puts(“返回主菜單請按【9】”);if(getche()=='9')menu();}

      void findname(){ /*按姓名查找函數(shù)*/ system(“cls”);struct student *s;char name[20];printf(“n請輸入你要查詢的學生姓名:n”);

      第10頁(共25頁)

      C語言課程設計報告——劉顯安

      scanf(“%s”,name);s=stu;while(strcmp(s->name,name)!=0){ s=s->next;} if(s==NULL){ puts(“查無此學生姓名!”);goto end;} else { puts(“該學生的信息為:”);puts(“* 學號

      姓名

      電子郵件 宿舍 *”);shuchu(s);} end:;puts(“返回主菜單請按【9】”);if(getche()=='9')menu();}

      第11頁(共25頁)

      班級

      電話

      C語言課程設計報告——劉顯安

      void findnum()/*按學號查找函數(shù)*/ { system(“cls”);struct student *s;puts(“請輸入你要查詢的學生學號:”);long i;scanf(“%ld”,&i);s=stu;

      while(s->num!=i){ s=s->next;} if(s==NULL){puts(“查無此學生學號!”);goto end;} else { puts(“該學生的信息為:”);puts(“* 學號 姓名 班級 郵件 宿舍 *”);shuchu(s);

      第12頁(共25頁)

      子電話 電C語言課程設計報告——劉顯安

      } end:;puts(“返回主菜單請按【9】”);if(getche()=='9')menu();}

      struct student *shanchu(struct student*stu)/*刪除函數(shù)*/ { system(“cls”);long num;char s;struct student *s1,*s2;if(stu==NULL){ puts(“傻冒!沒有任何學生信息,還刪個屁啊,刪刪刪!”);goto end;} puts(“請輸入你要刪除的學生學號:”);scanf(“%ld”,&num);s1=stu;puts(“警告:你確定要刪除這個學生的信息嗎(Y/N)?”);scanf(“%s”,&s);

      第13頁(共25頁)

      C語言課程設計報告——劉顯安

      if((s=='Y')||(s=='y')){ while((num!=s1->num)&&(s1->next!=NULL)){s2=s1;s1=s1->next;}

      if(num==s1->num){ puts(“該學生的信息為:”);puts(“* 學號

      姓名

      班級

      電話 電子郵件 宿舍 *”);shuchu(s1);if(s1==stu)stu=s1->next;else s2->next=s1->next;puts(“注意喲,該學生的信息已經(jīng)刪除了!剩下的學生通訊錄信息如下:”);n=n-1;} } findall();return(stu);end:;

      第14頁(共25頁)

      C語言課程設計報告——劉顯安

      puts(“返回主菜單請按【9】”);if(getche()=='9')menu();}

      void paixu(){ /*排序函數(shù)*/ struct student *p, *p1,*p2;int i,j;int temp;char b[20];if(stu==NULL){printf(“n學生信息不存在n”);goto end;} for(i=0;inext;if(p1->num>p2->num)

      {temp=p1->num;p1->num=p2->num;p2->num=temp;

      strcpy(b,p1->name);strcpy(p1->name,p2->name);strcpy(p2->nam

      第15頁(共25頁)

      C語言課程設計報告——劉顯安

      e,b);

      temp=p1->banji;p1->banji=p2->banji;p2->banji=temp;

      strcpy(b,p1->tel);strcpy(p1->tel,p2->tel);strcpy(p2->tel,b);

      strcpy(b,p1->Email);strcpy(p1->Email,p2->Email);strcpy(p2->Email,b);temp=p1->sushe;p1->sushe=p2->sushe;p2->sushe=temp;

      } p1=p1->next;} } p=stu;puts(“已按學生學號順序排序完畢!重新排序如下:”);

      puts(“****************************************************************************”);puts(“* 學號 姓名 班級 電話 電子郵件 宿舍 *”);

      while(p!=NULL)

      第16頁(共25頁)

      C語言課程設計報告——劉顯安

      { printf(“* %-8ld”,p->num);printf(“%-15s”,p->name);printf(“%-8d”,p->banji);printf(“%-15s”,p->tel);printf(“%-15s”,p->Email);printf(“%-5d *n”,p->sushe);p=p->next;} end:;puts(“返回主菜單請按【9】”);if(getche()=='9')menu();}

      void help()/*幫助函數(shù)*/ { system(“cls”);puts(“n1、請按提示操作,第一次進入本系統(tǒng)時請按“1”錄入學生信息,”);puts(“ 否則有可能造成程序運行錯誤!”);puts(“

      2、添加、修改功能本系統(tǒng)暫不提供,還有待以后完善,謝謝

      第17頁(共25頁)

      C語言課程設計報告——劉顯安

      合作!”);puts(“

      3、請注意查看“Num Lock”是否打開,如果沒有打開,則按數(shù)字n 鍵可能導致程序錯誤!”);puts(“

      4、版權所有,翻版必究!請按“7”鍵查看關于。”);puts(“n返回主菜單請按【9】”);if(getche()=='9')menu();}

      void main()/*主函數(shù)*/ { char a;menu();puts(“n您為首次使用本系統(tǒng),強烈建議您按1開始錄入學生信息,”);puts(“否則有可能導致程序運行錯誤!您可以按8查看幫助.”);a=getche();while(a){ puts(“");switch(a){case'0':goto end;break;case '1': puts(”n好了,您可以開始向本系統(tǒng)錄入學生通訊錄信息了:

      第18頁(共25頁)

      C語言課程設計報告——劉顯安

      “);stu=shuru();system(”cls“);menu();puts(”n學生信息錄入完畢,請輸入你的選擇(0~6):n“);

      break;case '2':findall();puts(”n請輸入你的選擇(0~6):“);break;case '3':findname();puts(”n請輸入你的選擇(0~6):“);break;case '4':findnum();puts(”n請輸入你的選擇(0~6):“);break;case '5':stu=shanchu(stu);puts(”n請輸入你的選擇(0~6):“);break;case '6':paixu();puts(”n請輸入你的選擇(0~6):“);break;case '7':guanyu();puts(”n請輸入你的選擇(0~6):“);break;case '8':help();puts(”n請輸入你的選擇(0~6):“);break;default:puts(”輸錯了!笨蛋!快點按數(shù)字1鍵錄入學生信息吧!“);break;} a=getche();} end:;puts(”謝謝您使用本系統(tǒng),歡迎再次使用!");

      第19頁(共25頁)

      C語言課程設計報告——劉顯安

      } —————————————————————————

      四、調(diào)試

      主要是通過截圖來顯示運行過程 以下是程序運行的主界面:

      按1后,開始錄入信息,程序會提示你輸入學生個數(shù)(例如本例中輸入4個),當輸完4個學生的信息時,程序會提示你已輸入完畢:

      第20頁(共25頁)

      C語言課程設計報告——劉顯安

      學生信息錄入完畢,提示輸入(0到6)進行選擇:

      第21頁(共25頁)

      C語言課程設計報告——劉顯安

      這時我選擇按2輸出所有學生信息,按9返回:

      按3按姓名查詢信息:

      按4按學號查詢信息:

      第22頁(共25頁)

      C語言課程設計報告——劉顯安

      按5刪除學生信息,這是按學號刪除學生信息,本例中,刪除學號為41212的學生信息:

      刪除成功后,系統(tǒng)自動將剩下的學生信息列出:

      按6按學號從小到大進行排序,可以發(fā)現(xiàn),排序成功:

      第23頁(共25頁)

      C語言課程設計報告——劉顯安

      按8查看幫助函數(shù):

      呵呵,這是我設置的關于函數(shù),滿足一下敝人的虛榮心嘛^_^,版權所有,翻版必究哦!

      最后按0退出系統(tǒng):

      第24頁(共25頁)

      C語言課程設計報告——劉顯安

      呵呵,怎么樣?我寫的程序還行吧。嘿嘿……

      三、總結

      這個程序我只是總體上參考了一下網(wǎng)上程序的架構,具體的各個函數(shù)是參照課本上《鏈表》那一章的內(nèi)容的,比如結構體的建立、查找和排序等功能,這些書上都有類似的,其中排序功能雖沒有原版的,但是在第六章中有一個用冒泡法排序的例題,我就是仿照這個模式來對結構體進行排序的,總之整個程序中蘊含了我很多的汗水。

      第25頁(共25頁)

      下載C語言大作業(yè)——學生通訊錄管理系統(tǒng)word格式文檔
      下載C語言大作業(yè)——學生通訊錄管理系統(tǒng).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

      相關范文推薦

        C語言課程設計學生通訊錄管理系統(tǒng)設計

        C語言課程設計學生通訊錄管理系統(tǒng)設計一、題目內(nèi)容的描述學生通訊錄管理系統(tǒng)設計設計一個學生通信錄,學生通迅錄數(shù)據(jù)信息構成內(nèi)容可自行設計(如:姓名、家庭地址、郵政編碼、電......

        通訊錄管理系統(tǒng)大全

        課 程 設 計 任 務 書 題目 C語言課程設計 系(部) 專業(yè)班級學生姓名學號 06 月信息科學與電氣工程學院計算機科學與技術 計職141 王雪 140819139 21 日至07 月04 日共 2......

        通訊錄管理系統(tǒng)

        摘 要 為了人們對他人信息的記憶方便而設計,開發(fā)的一套“通訊錄管理系統(tǒng)“軟件。 通過該題目的設計過程,可以培養(yǎng)學生結構化程序設計的思想,加深對高級語言基本語言要素和控制......

        C語言作業(yè):學通訊錄

        學生通訊錄一、語言和環(huán)境1.實現(xiàn)語言:C語言。2.環(huán)境要求:devC++。二、實現(xiàn)功能開發(fā)一套學生通訊錄C語言系統(tǒng),具體實現(xiàn)如下功能:1.打開系統(tǒng)顯示歡迎界面,以及功能菜單,用戶輸入需要......

        C++通訊錄管理系統(tǒng)

        黑龍江工程學院 第一章 問題分析和任務定義 1.1 問題分析 問題: 編寫一個通訊錄管理系統(tǒng)。要求包括通訊錄建立、增加號碼、刪除號碼、查詢號碼(按姓名、按號碼)、修改號碼、......

        通訊錄管理系統(tǒng)[推薦5篇]

        1.題目名稱通訊錄管理系統(tǒng) 2.基本功能 (1)顯示:將所有聯(lián)系人的信息顯示出來 (2)查找:按姓名、手機號碼、QQ號碼進行查找 (3)添加:從鍵盤上錄入聯(lián)系人的有關信息,包括姓名、手機號碼......

        手機通訊錄管理系統(tǒng)

        #include #include #include #include #include #include class Information { char name[20]; char tel[12]; char kind; char email[50]; public: Information(){} Inform......

        C語言課程設計-通訊錄管理范文合集

        課程設計報告 課程設計題目: 通訊錄管理學生姓名: 專業(yè): 班級:指導教師: 2009年6月16日 實驗題目: 《通訊錄管理》 實驗時間、地點: 2009-6-8到2009-6-12日 信工樓307 實驗......