亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 101.c

?? 105個c語言的源程序演示各種c語言中非常有用的編程技巧 并可供實際項目中參考使用
?? C
字號:

#include "stdio.h"    /*I/O函數*/
#include "stdlib.h" 	/*標準庫函數*/
#include "string.h"		/*字符串函數*/
#include "ctype.h" 	  /*字符操作函數*/

#define MAX 50  			/*定義常數表示記錄數*/

struct ADDRESS				/*定義數據結構*/
{
   char name[15]; 	  /*姓名*/
   char units[20];    /*單位*/
   char phone[15];    /*電話*/
};


int  InputRecord(struct ADDRESS r[]); /*輸入記錄*/
void ListRecord(struct ADDRESS r[],int n); /*顯示記錄*/
int  DeleteRecord(struct ADDRESS r[],int n); /*刪除記錄*/
int  InsertRecord(struct ADDRESS r[],int n); /*插入記錄*/
void SaveRecord(struct ADDRESS r[],int n); /*記錄保存為文件*/
int  LoadRecord(struct ADDRESS r[]);  /*從文件中讀記錄*/
int  FindRecord(struct ADDRESS r[],int n,char *s) ; /*查找函數*/
void ShowRecord(struct ADDRESS temp); 	/*顯示單條記錄*/

void main()
{
   int i;
   char s[128];
   struct ADDRESS address[MAX];/*定義結構體數組*/
   int num;/*保存記錄數*/
   clrscr();  
   while(1)
   {
		   clrscr();
		   printf("********************MENU*******************\n\n");
		   printf("|      0: Input a record                  |\n");
		   printf("|      1: List records in the file        |\n");
		   printf("|      2: Delete a record                 |\n");
		   printf("|      3: Insert a record to the list     |\n");
		   printf("|      4: Save records to the file        |\n");
		   printf("|      5: Load records from the file      |\n");
		   printf("|      6: Quit                            |\n\n");
		   printf("*******************************************\n");
		   do{
		      printf("\n	Input your choice(0~6):"); /*提示輸入選項*/
		      scanf("%s",s); /*輸入選擇項*/
		      i=atoi(s); /*將輸入的字符串轉化為整型數*/
		   }while(i<0||i>6); /*選擇項不在0~11之間重輸*/
      switch(i)   /*調用主菜單函數,返回值整數作開關語句的條件*/
      {
				 case 0:num=InputRecord(address);break;/*輸入記錄*/
				 case 1:ListRecord(address,num);break; /*顯示全部記錄*/
				 case 2:num=DeleteRecord(address,num);break; /*刪除記錄*/
				 case 3:num=InsertRecord(address,num);  break;   /*插入記錄*/
				 case 4:SaveRecord(address,num);break; /*保存文件*/
				 case 5:num=LoadRecord(address); break; /*讀文件*/
				 case 6:exit(0); /*如返回值為11則程序結束*/
      }
   }
}

/***輸入記錄,形參為結構體數組,函數值返回類型為整型表示記錄長度*/
int  InputRecord(struct ADDRESS t[])
{
   int i,n;
   char *s;
   clrscr(); /*清屏*/
   printf("\n please input record num you want to input. \n"); /*提示信息*/
   scanf("%d",&n); /*輸入記錄數*/
   printf("please input the %d records \n",n); /*提示輸入記錄*/
   printf("name             units                 telephone\n");
   printf("------------------------------------------------\n");
   for(i=0;i<n;i++)
   {
      scanf("%s%s%s",t[i].name,t[i].units,t[i].phone);  /*輸入記錄*/
      printf("----------------------------------------------\n");
   }
   getch();
   return n;  /*返回記錄條數*/
}
/*顯示記錄,參數為記錄數組和記錄條數*/
void ListRecord(struct ADDRESS t[],int n)
{
   int i;
   clrscr();
   printf("\n\n*******************ADDRESS LIST*****************\n");
   printf("name               units               telephone\n");
   printf("------------------------------------------------\n");
   for(i=0;i<n;i++)
   printf("%-13s%-20s%-15s\n",t[i].name,t[i].units,t[i].phone);
   printf("************************end*********************\n");
   getch();
}
/*顯示指定的一條記錄*/
void ShowRecord(struct ADDRESS temp)
{
   printf("\n\n************************************************\n");
   printf("name                units              telephone\n");
   printf("------------------------------------------------\n");
   printf("%-13s%-20s%-15s\n",temp.name,temp.units,temp.phone);
   printf("**********************end***********************\n");
   getch();
}
/*刪除函數,參數為記錄數組和記錄條數*/
int DeleteRecord(struct ADDRESS t[],int n)
{
   char s[20];  /*要刪除記錄的姓名*/
   int i,j;
   clrscr();
   printf("please record name:\n"); /*提示信息*/
   scanf("%s",s);/*輸入姓名*/
   i=FindRecord(t,n,s); /*調用FindRecord函數*/
   if(i>n-1)  /*如果i>n-1超過了數組的長度*/
      printf("Can't found the record\n"); /*顯示沒找到要刪除的記錄*/
   else
   {
     ShowRecord(t[i]); /*調用輸出函數顯示該條記錄信息*/
		 for(j=i+1;j<n;j++)  /*刪除該記錄,實際后續記錄前移*/
		 {
		    strcpy(t[j-1].name,t[j].name); /*將后一條記錄的姓名拷貝到前一條*/
		    strcpy(t[j-1].units,t[j].units); /*將后一條記錄的單位拷貝到前一條*/
		    strcpy(t[j-1].phone,t[j].phone); /*將后一條記錄的電話拷貝到前一條*/
		 }
		 n--;  /*記錄數減1*/
		 printf("Delete a record successfully!\n");
   }
   getch();
   return n;  /*返回記錄數*/
}
/*插入記錄函數,參數為結構體數組和記錄數*/
int InsertRecord(struct ADDRESS t[],int n)/*插入函數,參數為結構體數組和記錄數*/
{
   struct ADDRESS temp;  /*新插入記錄信息*/
   int i,j;
   char s[20]; /*確定插入在哪個記錄之前*/
   clrscr();
   printf("please input record\n");
   printf("************************************************\n");
   printf("name                units              telephone\n");
   printf("------------------------------------------------\n");
   scanf("%s%s%s",temp.name,temp.units,temp.phone); /*輸入插入信息*/
   printf("------------------------------------------------\n");
   printf("please input locate name \n");
   scanf("%s",s); /*輸入插入位置的姓名*/
   i=FindRecord(t,n,s);  /*調用FindRecord,確定插入位置*/
   for(j=n-1;j>=i;j--)   /*從最后一個結點開始向后移動一條*/
   {
      strcpy(t[j+1].name,t[j].name); /*當前記錄的姓名拷貝到后一條*/
      strcpy(t[j+1].units,t[j].units); /*當前記錄的單位拷貝到后一條*/
      strcpy(t[j+1].phone,t[j].phone); /*當前記錄的電話拷貝到后一條*/
   }
   strcpy(t[i].name,temp.name); /*將新插入記錄的姓名拷貝到第i個位置*/
   strcpy(t[i].units,temp.units); /*將新插入記錄的單位拷貝到第i個位置*/
   strcpy(t[i].phone,temp.phone); /*將新插入記錄的電話拷貝到第i個位置*/
   n++;   /*記錄數加1*/
   getch();
   return n; /*返回記錄數*/
}
/*保存函數,參數為結構體數組和記錄數*/
void SaveRecord(struct ADDRESS t[],int n)
{
   int i;
   FILE *fp;  /*指向文件的指針*/
   clrscr();
   printf("Saving the records to the file address.txt\n.............\n");
   if((fp=fopen("address.txt","wb"))==NULL)  /*打開文件,并判斷打開是否正常*/
   {
      printf("can not open file\n");/*沒打開*/
      exit(1);  /*退出*/
   }
   printf("\nSaving the file\n"); /*輸出提示信息*/
   fprintf(fp,"%d",n);  /*將記錄數寫入文件*/
   fprintf(fp,"\r\n");  /*將換行符號寫入文件*/
   for(i=0;i<n;i++)
   {
      fprintf(fp,"%-20s%-30s%-10s",t[i].name,t[i].units,t[i].phone);/*格式寫入記錄*/
      fprintf(fp,"\r\n"); /*將換行符號寫入文件*/
   }
   fclose(fp);/*關閉文件*/
   
   printf("Save the records successfully!\n"); /*顯示保存成功*/
   getch();
}
/*讀入函數,參數為結構體數組*/
int LoadRecord(struct ADDRESS t[])
{
   int i,n;
   FILE *fp; /*指向文件的指針*/
   if((fp=fopen("address.txt","rb"))==NULL)/*打開文件*/
   {
      printf("can not open file\n");  /*不能打開*/
      exit(1);  /*退出*/
   }
   fscanf(fp,"%d",&n); /*讀入記錄數*/
   for(i=0;i<n;i++)
      fscanf(fp,"%20s%30s%10s",t[i].name,t[i].units,t[i].phone); /*按格式讀入記錄*/
   fclose(fp);  /*關閉文件*/
   printf("You have successfully load files from file!\n"); /*顯示保存成功*/
   getch();
   return n; /*返回記錄數*/
}
/*查找函數,參數為記錄數組和記錄條數以及姓名s */
int FindRecord(struct ADDRESS t[],int n,char *s)
{
   int i;
   for(i=0;i<n;i++)/*從第一條記錄開始,直到最后一條*/
   {
      if(strcmp(s,t[i].name)==0)  /*記錄中的姓名和待比較的姓名是否相等*/
      return i;   /*相等,則返回該記錄的下標號,程序提前結結束*/
   }
   return i;  /*返回i值*/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文在线不卡住| 久久99在线观看| 免费成人在线观看视频| 高清shemale亚洲人妖| 欧美日韩高清一区| 中文字幕第一页久久| 偷拍自拍另类欧美| av激情成人网| 久久久精品国产免大香伊| 日本午夜一区二区| 日本二三区不卡| 国产精品每日更新在线播放网址| 视频一区二区三区在线| 91浏览器在线视频| 国产亲近乱来精品视频| 久久精品免费观看| 在线播放91灌醉迷j高跟美女 | 欧美四级电影在线观看| 国产三级精品视频| 久久电影国产免费久久电影| 欧洲激情一区二区| 夜夜嗨av一区二区三区四季av | 日一区二区三区| 色综合久久中文字幕综合网| 国产亚洲成av人在线观看导航| 免费一级欧美片在线观看| 在线视频中文字幕一区二区| 亚洲欧洲日韩在线| av午夜一区麻豆| 国产精品日韩精品欧美在线| 国产精品中文有码| 久久在线观看免费| 高清beeg欧美| 国产精品护士白丝一区av| 国产91高潮流白浆在线麻豆| 久久免费视频色| 国产精品中文字幕一区二区三区| 精品sm在线观看| 韩国精品主播一区二区在线观看| 欧美成人国产一区二区| 蜜臀va亚洲va欧美va天堂| 欧美精品粉嫩高潮一区二区| 午夜成人在线视频| 欧美高清www午色夜在线视频| 亚洲mv在线观看| 日韩一区二区三区av| 开心九九激情九九欧美日韩精美视频电影| 欧美精品 国产精品| 男女性色大片免费观看一区二区| 欧美岛国在线观看| 国产成人精品免费| 亚洲精品国产视频| 欧美精品九九99久久| 国内精品不卡在线| 国产精品国产成人国产三级| 欧美性生交片4| 韩日av一区二区| 一区免费观看视频| 欧美日本一道本| 国产精品2024| 一区二区三区蜜桃网| 日韩一区二区三区免费看| 国产成人精品免费| 亚洲国产精品久久不卡毛片 | 看片的网站亚洲| 国产精品色在线观看| 91国产福利在线| 日本伊人色综合网| 中文字幕国产一区| 日韩欧美一区二区久久婷婷| 国产超碰在线一区| 午夜电影一区二区三区| 欧美国产日产图区| 91精品国产综合久久久蜜臀粉嫩| 国产传媒欧美日韩成人| 亚洲午夜激情网页| 中文字幕乱码一区二区免费| 51精品国自产在线| 色偷偷88欧美精品久久久| 久久国产精品99精品国产 | 久久久久久一二三区| 色噜噜狠狠一区二区三区果冻| 日本不卡123| 亚洲精品自拍动漫在线| 久久婷婷国产综合国色天香| 欧美色视频在线| 97se亚洲国产综合自在线不卡 | 日韩亚洲欧美在线观看| 99v久久综合狠狠综合久久| 欧美aaaaaa午夜精品| 一区二区三区电影在线播| 久久久欧美精品sm网站 | 99国产精品一区| 韩日欧美一区二区三区| 视频一区在线播放| 亚洲一二三四在线| 中文字幕一区二区视频| 久久久亚洲精品石原莉奈 | 欧美色区777第一页| 国产福利一区二区三区视频在线| 天天做天天摸天天爽国产一区| 国产亚洲成aⅴ人片在线观看| 欧美一区欧美二区| 在线视频国内一区二区| 91丨九色丨黑人外教| 粉嫩av一区二区三区粉嫩| 久久成人免费网站| 久久精品免费观看| 激情综合色综合久久| 日本v片在线高清不卡在线观看| 亚洲成人黄色小说| 亚洲成人在线观看视频| 亚洲自拍另类综合| 夜夜嗨av一区二区三区四季av| 亚洲久本草在线中文字幕| 亚洲精品videosex极品| 亚洲视频图片小说| 亚洲永久免费视频| 五月天网站亚洲| 免费久久99精品国产| 精品一区二区在线播放| 国产一区二区三区香蕉| 国产一区二区在线看| 国产高清精品在线| 成人av网在线| 色香蕉久久蜜桃| 欧美日韩成人一区二区| 日韩免费观看高清完整版在线观看| 欧美一级生活片| 久久久综合网站| 日韩伦理免费电影| 亚洲国产综合91精品麻豆| 午夜精品久久久久久久久久| 奇米在线7777在线精品| 韩国精品主播一区二区在线观看 | 日韩av电影免费观看高清完整版 | 欧美成人一区二区三区在线观看| 欧美一区中文字幕| 精品福利一区二区三区| 日本一区二区三级电影在线观看| 国产精品国产三级国产aⅴ中文| 亚洲色图欧洲色图| 亚洲高清免费视频| 精品伊人久久久久7777人| 成人精品小蝌蚪| 欧美怡红院视频| 精品久久久影院| 国产精品欧美精品| 婷婷一区二区三区| 国产精品一线二线三线| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美日韩黄色一区二区| 久久久五月婷婷| 亚洲午夜一区二区| 国产aⅴ精品一区二区三区色成熟| 97久久超碰精品国产| 日韩欧美一区二区不卡| 18欧美乱大交hd1984| 奇米777欧美一区二区| 91视频.com| 久久嫩草精品久久久精品| 亚洲国产精品一区二区久久| 国模娜娜一区二区三区| 欧美日韩一区二区三区在线看| 久久久久久9999| 午夜久久久久久久久久一区二区| 粉嫩蜜臀av国产精品网站| 欧美一区二区视频免费观看| 亚洲人成网站精品片在线观看| 日韩av一级片| 欧美日韩你懂得| 亚洲视频网在线直播| 国产不卡视频一区| 欧美一级高清片在线观看| 亚洲一区二区三区视频在线 | 中文字幕在线观看不卡| 蜜桃av一区二区三区电影| 在线日韩国产精品| 国产精品免费丝袜| 久久99精品网久久| 91精品欧美久久久久久动漫| 一区二区三区av电影| 99精品欧美一区| 国产精品理论片| 国产精品综合一区二区| 精品剧情在线观看| 免费精品视频在线| 欧美精品久久久久久久多人混战 | 色爱区综合激月婷婷| 国产精品美女久久久久久久网站| 国产一区欧美日韩| 久久综合精品国产一区二区三区| 另类小说欧美激情| 日韩一区二区在线观看视频 | 欧美精品一区二区蜜臀亚洲| 蜜桃一区二区三区在线| 在线电影一区二区三区| 日韩av不卡在线观看| 日韩精品一区在线| 精品一区二区免费在线观看|