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

C語言實(shí)現(xiàn)簡單通訊錄管理系統(tǒng)

 更新時(shí)間:2021年07月28日 14:06:57   作者:晚安小點(diǎn)點(diǎn)  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

C語言實(shí)現(xiàn)的通訊錄管理系統(tǒng),供大家參考,具體內(nèi)容如下

設(shè)計(jì)一個(gè)學(xué)生通信錄,學(xué)生通迅錄數(shù)據(jù)信息構(gòu)成內(nèi)容可自行設(shè)計(jì)(如:學(xué)號、姓名、電話號碼、所在班級、寢室地址等),通信錄數(shù)據(jù)類型定義為結(jié)構(gòu)體類型。

主要實(shí)現(xiàn)功能包括:

(1)創(chuàng)建學(xué)生通訊錄
(2)修改學(xué)生通訊錄
(3)增刪學(xué)生通訊錄
(4)能夠按多種方式進(jìn)行查詢(如:①按學(xué)號查詢;②按所在班級查詢)

源代碼:

#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>

typedef struct people
{
 char name[10]; //姓名
 char IDnumber[20];//學(xué)號
 char phone[15];   // 手機(jī)號
 int classNum; //班級
 char roomID[10];   //寢室
 
}people;  //定義別名people

//函數(shù)模塊定義
void UI_show();//進(jìn)入界面 UI 實(shí)現(xiàn)
void NEW_in(); //新學(xué)生信息添加
void OLD_adjust();//修改學(xué)生信息
void OLD_delete(); //刪除學(xué)生信息
void OLD_find();  //學(xué)生信息查找
void OLD_findByNum();//通過學(xué)號查找
void OLD_findByName();//通過姓名查找

//各種UI界面顯示
void UI_show1();
void UI_show2();
void UI_show3();
void UI_show4();
void UI_show5();
void UI_show6();

//=======================================================================
//進(jìn)入界面 UI 實(shí)現(xiàn)
void UI_show()
{
 int i;
 //--------------------------------------------------------------------
 printf("\n");
 for (i = 0; i < 75; i++)   //數(shù)字用來  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 30; i++)
 {
  printf(" ");
 }
 printf("歡迎進(jìn)入通訊錄管理系統(tǒng)");
 for (i = 0; i < 30; i++)
 {
  printf(" ");
 }
 printf("\n");
 for (i = 0; i < 75; i++)   
 {
  printf("=");
 }
 //實(shí)現(xiàn)上方歡迎界面
//--------------------------------------------------------------------
 printf("\n\n\n");
 for (i = 0; i < 33; i++)                          //以下實(shí)現(xiàn)  菜單界面功能選擇
 {
  printf(" ");
 }
 printf("請選擇以下功能:\n");
 for (i = 0; i < 33; i++)
 {
  printf(" ");
 }
 printf("1、添加學(xué)生通訊錄\n");
 for (i = 0; i < 33; i++)
 {
  printf(" ");
 }
 printf("2、修改學(xué)生通訊錄\n");
 for (i = 0; i < 33; i++)
 {
  printf(" ");
 }
 printf("3、刪除學(xué)生通訊錄\n");

 for (i = 0; i < 33; i++)
 {
  printf(" ");
 }
 printf("4、查找通訊錄信息\n");
 for (i = 0; i < 33; i++)
 {
  printf(" ");
 }
 printf("5、退出系統(tǒng)");
 printf("\n\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n\n");
 for (i = 0; i < 33; i++)
 {
  printf(" ");
 }
 printf("請選擇:");
 //實(shí)現(xiàn)界面UI
}

//=======================================================================
//添加學(xué)生到通訊錄
void NEW_in()
{
 FILE* fp = NULL; //定義文件指針   
 fp = fopen("output.txt", "a");//以追加的方式打開 文件
 if (fp == NULL)
 {
  printf("\n出現(xiàn)未知錯(cuò)誤!按任意鍵退出.....\n");
  exit(0);
 }
 int classNum;  //班級
 char name[10]; //姓名
 char IDnumber[20];//學(xué)號
 char phone[15];   // 手機(jī)號
 char roomID[10];   //寢室
 
 char ch;  //鍵盤輸入選擇
 system("cls"); //清屏 
 UI_show1();  // 界面顯示1;
 while (1)     //進(jìn)入循環(huán)體,直到接收到信息 跳出循環(huán)
 {
  printf("請輸入姓名:");
  scanf("%s", name);
  printf("請輸入學(xué)號:");
  scanf("%s", IDnumber);
  printf("請輸入聯(lián)系電話:");
  scanf("%s", phone);
  printf("請輸入寢室:");
  scanf("%s", roomID);
  printf("請輸入班級:");
  scanf("%d", &classNum);
  
  //緩沖區(qū)保存到文件
  fprintf(fp, "%s  %s  %s  %s  %d  \n", name,  IDnumber, phone, roomID, classNum);

  do           // 接收字符 判斷是否 繼續(xù)錄入用戶信息
  {
   printf("是否繼續(xù)錄入?請選擇(Y/N)");
   getchar();   //接收 回車鍵
   scanf("%c", &ch);

  } while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));

  if ((ch == 'n') || (ch == 'N'))
  {
   fclose(fp);  //如果用戶 輸入N 則保存 并退出程序
   break;
  }
 }
}

//=========================================================================
//修改學(xué)生通訊錄信息
void OLD_adjust()     
 //    先將硬盤文件中數(shù)據(jù) 保存到 內(nèi)存緩沖區(qū)中,找到要修改的用戶信息,修改后 重新寫入文檔
{
 system("cls");        //清屏
 people peopleI[100];//建立結(jié)構(gòu)體 數(shù)組
 int number = 0, sign = 0, i = 1, a, test;
 char name[10], ch;
 int classNum;  //班級
 char IDnumber[20];//學(xué)號
 char phone[15];   // 手機(jī)號
 char roomID[10];   //寢室
 FILE* fp = NULL;  //文件指針
 UI_show2();       //UI調(diào)用
 fp = fopen("output.txt", "r+");     //以讀寫的方式打開文件
 if (fp == NULL)                                                      // 錯(cuò)誤檢測
 {
  printf("文件打開失??!請先添加用戶信息!\n");
  return;
 
 }

 printf("請輸入要修改的學(xué)生姓名:");
 scanf("%s", name);
 while (!feof(fp))  //從文件中讀取
 {
  fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
  i++;     //記錄行的個(gè)數(shù)
 }
 
 printf("\n");
 i--;
 test = i;  //保存 數(shù)據(jù)的行數(shù)
 for ( ; i >= 0; i--)
 {
  a = strcmp(name, peopleI[i].name);  //比較 輸入的用戶名  和文件中的用戶名
  if (a == 0)
  {
   sign = 1;  //判斷 賦值1  代表找到 該數(shù)據(jù)
   printf("姓名%s,學(xué)號%s,聯(lián)系電話%s,寢室%s,班級%d\n", peopleI[i].name, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID,peopleI[i].classNum);
   do   // 友情提示 選擇
   {
    printf("你確定要修改該用戶的信息嗎?(Y/N):");
    getchar();
    scanf("%c", &ch);

   } while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));
   if ((ch == 'y') || (ch == 'Y'))  //如果 選y則 錄入信息
   {
    printf("請輸入姓名:");
          scanf("%s", name);
  printf("請輸入學(xué)號:");
  scanf("%s", IDnumber);
  printf("請輸入聯(lián)系電話:");
  scanf("%s", phone);
  printf("請輸入寢室:");
  scanf("%s", roomID);
  printf("請輸入班級:");
  scanf("%d", &classNum);
    printf("修改成功!");
    fclose(fp);  //關(guān)閉文件
    fp = fopen("output.txt", "w");
    for (i = 1; i < test; i++) //將內(nèi)存中 修改過的信息 重新寫入文件
    {
     fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
  }
    fclose(fp);
    break; //跳出 for循環(huán)
   }
   else  //假如不修改信息  再次寫入文件
   {
    
    fclose(fp);
    break;
   }
  }
 }
 if (sign == 0)
 {
  printf("沒找到該用戶!\n請按任意鍵繼續(xù)....");
  getchar();
 }
}

//===============================================================================
//刪除住戶信息的功能
void OLD_delete()
{
 //  先將硬盤文件中數(shù)據(jù) 保存到 內(nèi)存緩沖區(qū)中,找到要?jiǎng)h除的用戶信息,刪除后 重新寫入文檔
 system("cls");  //清屏
 people peopleI[10000];//建立結(jié)構(gòu)體 數(shù)組
 int number = 0, len = 0, sign = 0, i = 1, a, test, j;
 char name[10], ch;
 FILE* fp = NULL;  //文件指針
 UI_show3();
 fp = fopen("output.txt", "r");

 if (fp == NULL)
 {
  printf("未找到文件!");
  return;    //返回 main函數(shù)
 }
 printf("請輸入要?jiǎng)h除的住戶姓名:");
 scanf("%s", name);
 while (!feof(fp))  //從文件中讀取,文件中數(shù)據(jù)轉(zhuǎn)移到內(nèi)存數(shù)組中區(qū)
 {     //!feof(fp)只要文件不到末尾 就一直讀下去
  fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
  i++;
 }
 ///------------------------------------ 
 fclose(fp);  //保存文件 

 printf("\n");
 i--;
 test = i;  //保存 行數(shù)
 for (; i >= 0; i--)
 {
  a = strcmp(name, peopleI[i].name);  //比較 輸入的用戶名  和文件中的用戶名
  if (a == 0)   //找到相應(yīng)位置   
  {
   sign = 1;  // 標(biāo)志 是否找到 數(shù)據(jù)
    printf("姓名%s,學(xué)號%s,聯(lián)系電話%s,寢室%s,班級%d\n", peopleI[i].name, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID,peopleI[i].classNum);
  //顯示出要修改的信息
   do
   {
    printf("你確定要?jiǎng)h除該用戶的信息嗎?(Y/N):");
    getchar();
    scanf("%c", &ch);

   } while ((ch != 'Y') && (ch != 'y') && (ch != 'n') && (ch != 'N'));
   if ((ch == 'y') || (ch == 'Y'))  //假如 確定
   {
    printf("刪除成功!");
    fp = fopen("output.txt", "w");  //以寫的方式打開,源文件被清除
    for (j = 1; j < test; j++)  //重新寫入文件  
    {
     if (j == i) // 不寫入 第i個(gè)數(shù)據(jù)
     {
      //操作為空 
     }
     else //否則  寫入文件
      fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
  }
    fclose(fp);  //關(guān)閉  保存緩沖區(qū) 文件
   }
   else    //假如不修改信息  再次寫入文件
   {
    fp = fopen("output.txt", "w");  //以寫的方式打開,源文件被清除
    for (i = 1; i < test; i++) //將內(nèi)存中 修改過的信息 重新寫入文件
    {
     fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
   }
    fclose(fp);
   }
  }
 }
 if (sign == 0)   //判斷為未找到用戶
 {
  printf("沒找到該用戶!\n請按回車鍵返回菜單選項(xiàng).....");
  getchar();
 }
}

//========================================================================================
//查詢通訊錄信息;
void OLD_find(){
 system("cls");
 int temp;
 UI_show5(); 
 printf("1.按學(xué)號查詢通訊錄信息\t2.按姓名查詢通訊錄信息\n");
 printf("請選擇……");
 scanf("%d",&temp);
 switch(temp){
 case 1:
  system("cls");
  OLD_findByNum();
  break;
 case 2:
  system("cls");
  OLD_findByName();  
  break;
 default:printf("\n\t\t\t輸入錯(cuò)誤! 按回車鍵返回重新選擇");
 }
 _getch();
 system("cls");
}

//===================================================================================
//按照學(xué)號查詢通訊錄信息
void OLD_findByNum()    
 //    先將硬盤文件中數(shù)據(jù) 保存到 內(nèi)存緩沖區(qū)中,找到要用戶信息,修改后 重新寫入文檔
{
 system("cls");        //清屏
 people peopleI[100];//建立結(jié)構(gòu)體 數(shù)組
 int number = 0, sign = 0, i = 1,  test;
 int p;
 char IDnumber[20];
 FILE* fp = NULL;  //文件指針
 void UI_show5();       //UI調(diào)用
 fp = fopen("output.txt", "r");     //以讀寫的方式打開文件
 if (fp == NULL)                                                      // 錯(cuò)誤檢測
 {
  printf("文件打開失??!請先添加用戶信息!\n");
  return;
  // exit(0);
 }
 printf("請輸入要查詢的學(xué)號:");
 scanf("%s",IDnumber);
 while (!feof(fp))  //從文件中讀取
 {
  fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
  i++;     //記錄行的個(gè)數(shù)
 }
 printf("\n");
 i--;
 test = i;  //保存 數(shù)據(jù)的行數(shù)
 for (; i >= 0; i--)
 {
    //比較 輸入的學(xué)號  和文件中的學(xué)號
  p=strcmp(IDnumber,peopleI[i].IDnumber);
  if (p==0)
  {
   sign = 1;  //判斷 賦值1  代表找到 該數(shù)據(jù)
   printf("姓名%s,學(xué)號%s,聯(lián)系電話%s,寢室%s,班級%d\n", peopleI[i].name, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID,peopleI[i].classNum);
   printf("\n"); 
   fclose(fp);  //關(guān)閉文件
   }
   else  //假如meiyou信息  再次寫入文件
   {   
    fclose(fp);
   }
  }
 if (sign == 0)
 {
  printf("沒找到該學(xué)生信息!\n請按任意鍵繼續(xù)....");
  getchar();
 }
}

//===================================================================================
//按照姓名查詢通訊錄信息
void OLD_findByName()    
 //    先將硬盤文件中數(shù)據(jù) 保存到 內(nèi)存緩沖區(qū)中,找到要用戶信息,修改后 重新寫入文檔
{
 system("cls");        //清屏
 people peopleI[100];//建立結(jié)構(gòu)體 數(shù)組
 int number = 0, sign = 0, i = 1,  test;
 int p;
 char name[10];
 FILE* fp = NULL;  //文件指針
 void UI_show6();       //UI調(diào)用
 fp = fopen("output.txt", "r");     //以讀寫的方式打開文件
 if (fp == NULL)                                                      // 錯(cuò)誤檢測
 {
  printf("文件打開失??!請先添加用戶信息!\n");
  return;
  // exit(0);
 }
 printf("請輸入要查詢的姓名:");
 scanf("%s",name);
 while (!feof(fp))  //從文件中讀取
 {
  fscanf(fp, "%s %s %s %s %d", peopleI[i].name,  peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID, &peopleI[i].classNum);
  i++;     //記錄行的個(gè)數(shù)
 }
 printf("\n");
 i--;
 test = i;  //保存 數(shù)據(jù)的行數(shù)
 for (; i >= 0; i--)
 {
    //比較 輸入的姓名  和文件中的姓名
  p=strcmp(name,peopleI[i].name);
  if (p==0)
  {
   sign = 1;  //判斷 賦值1  代表找到 該數(shù)據(jù)
   printf("姓名%s,學(xué)號%s,聯(lián)系電話%s,寢室%s,班級%d\n", peopleI[i].name, peopleI[i].IDnumber, peopleI[i].phone, peopleI[i].roomID,peopleI[i].classNum);
   printf("\n"); 
   fclose(fp);  //關(guān)閉文件
   }
   else  //假如meiyou信息  再次寫入文件
   {   
    fclose(fp);
   }
  }
 if (sign == 0)
 {
  printf("沒找到該學(xué)生信息!\n請按任意鍵繼續(xù)....");
  getchar();
 }
}
//===================================================================================
//判斷文件是否為空
int NEW_oj()
{
 FILE* fp;

 fp = fopen("output.txt", " r");
 if (fp == NULL)
 {
  fp = fopen("output.txt", " w");
 }

 if (fgetc(fp) == EOF)
 {
  fclose(fp);
  return 0;
 }
 else
 {
  return 1;
  fclose(fp);
 }
}

//===================================================================================
//      各種UI界面顯示
void UI_show1()
{
 int i;
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 15; i++)
 {
  printf(" ");
 }
 printf("你正在添加通訊錄學(xué)生信息,請根據(jù)提示輸入信息。\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");

}
void UI_show2()
{
 int i;
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 15; i++)
 {
  printf(" ");
 }
 printf("你正在修改通訊錄學(xué)生信息,請根據(jù)提示輸入信息。\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");

}
void UI_show3()
{
 int i;
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 15; i++)
 {
  printf(" ");
 }
 printf("你正在刪除通訊錄學(xué)生信息,請根據(jù)提示輸入信息。\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
}
void UI_show4()
{
 int i;
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 15; i++)
 {
  printf(" ");
 }
 printf("你正在使用通訊錄查詢功能,請根據(jù)提示輸入信息。\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");

}
void UI_show5()
{
 int i;
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 15; i++)
 {
  printf(" ");
 }
 printf("你正在使用按學(xué)號查找功能。\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
}
void UI_show6()
{
 int i;
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
 for (i = 0; i < 15; i++)
 {
  printf(" ");
 }
 printf("你正在使用按姓名查找功能。\n");
 for (i = 0; i < 75; i++)   //數(shù)字  控制 上方 = 數(shù)量 
 {
  printf("=");
 }
 printf("\n");
}

int main()
{ 
 int pan, p; 
 while (1)
 {
  p = NEW_oj();//判斷用戶文件是否為空
  if (p == 0)
  {
   printf("\n\n查詢文件中未存在學(xué)生信息,請先進(jìn)行信息錄入?。?");
   printf("\n請按回車鍵,進(jìn)入信息添加系統(tǒng).....");
   getchar();
   NEW_in();
  }
  system("cls");  //清屏
  UI_show();    //調(diào)用 界面UI 顯示
  scanf("%d", &pan);
  switch (pan)
  {
  case 1:NEW_in(); break;//通訊錄學(xué)生信息添加
  case 2:OLD_adjust(); break;//通訊錄學(xué)生信息修改
  case 3:OLD_delete(); break;//通訊錄學(xué)生信息刪除
  case 4:OLD_find(); break;//查詢通訊錄學(xué)生信息
  case 5:exit(0);  break;//退出系統(tǒng)
  default:printf("\n\t\t\t輸入錯(cuò)誤! 按回車鍵返回重新選擇");//按鍵錯(cuò)誤反饋
  }
  _getch();
  system("cls");//清屏
 }
 system("pause");
 return 0;
}

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

相關(guān)文章

  • 單詞小助手C語言版

    單詞小助手C語言版

    這篇文章主要為大家詳細(xì)介紹了C語言版的單詞小助手,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 如何用C++求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)

    如何用C++求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)

    最大公約數(shù)是指兩個(gè)或多個(gè)整數(shù)共有約數(shù)中,最大的一個(gè)約數(shù),常用的方法是歐幾里得算法,也叫輾轉(zhuǎn)相除法,下面這篇文章主要給大家介紹了關(guān)于如何用C++求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 使用Clion刷LeetCode的方法

    使用Clion刷LeetCode的方法

    這篇文章主要介紹了使用Clion刷LeetCode的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 深入理解C++中public、protected及private用法

    深入理解C++中public、protected及private用法

    這篇文章主要介紹了C++中public、protected及private用法,對于C++面向?qū)ο蟪绦蛟O(shè)計(jì)來說是非常重要的概念,需要的朋友可以參考下
    2014-08-08
  • C++利用SQLite實(shí)現(xiàn)命令行工具

    C++利用SQLite實(shí)現(xiàn)命令行工具

    這篇文章主要為大家詳細(xì)介紹了一個(gè)基于 C++、SQLite 和 Boost 庫的簡單交互式數(shù)據(jù)庫操作 Shell,該 Shell 允許用戶通過命令行輸入執(zhí)行各種數(shù)據(jù)庫操作,感興趣的可以了解下
    2023-11-11
  • 基于OpenCv的運(yùn)動(dòng)物體檢測算法

    基于OpenCv的運(yùn)動(dòng)物體檢測算法

    這篇文章主要為大家詳細(xì)介紹了基于OpenCv的運(yùn)動(dòng)物體檢測算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++騎士游歷問題(馬踏棋盤)解析

    C++騎士游歷問題(馬踏棋盤)解析

    這篇文章主要為大家詳細(xì)介紹了C++騎士游歷問題的解答思路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C語言位圖及位圖的實(shí)現(xiàn)

    C語言位圖及位圖的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了C語言位圖及位圖的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C/C++ 避免數(shù)組越界的方法

    C/C++ 避免數(shù)組越界的方法

    這篇文章主要介紹了C/C++ 避免數(shù)組越界的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • opencv3/C++ PHash算法圖像檢索詳解

    opencv3/C++ PHash算法圖像檢索詳解

    今天小編就為大家分享一篇opencv3/C++ PHash算法圖像檢索詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論