日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網 > 大魚機器人
[導讀]分享一個之前學C語言時練習寫的一個簡單的通訊錄程序。程序功能: 1、添加聯(lián)系人信息(姓名、電話號碼、城市、公司)。 2、保存聯(lián)系人信息至本地文件。 3、打印輸出聯(lián)系人列表。 4、刪除某個聯(lián)系人信息或刪除所有聯(lián)系人信息。 程序運行結果: 代碼如下,需要

分享一個之前學C語言時練習寫的一個簡單的通訊錄程序。程序功能:

1、添加聯(lián)系人信息(姓名、電話號碼、城市、公司)。

2、保存聯(lián)系人信息至本地文件。

3、打印輸出聯(lián)系人列表。

4、刪除某個聯(lián)系人信息或刪除所有聯(lián)系人信息。

程序運行結果:

代碼如下,需要的朋友自己保存。

/*----------------------------------------------------------------------------------------

Program Explain:簡單的通訊錄??杀4媛?lián)系人的名字、電話號碼、城市、公司至磁盤文件中。
Create Date:2016.2.4 by ZhengN

----------------------------------------------------------------------------------------*/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MaxCnt 100
#define CntFull -1

// 菜單命令宏定義
#define CMD_Add 1
#define CMD_Save 2
#define CMD_List 3
#define CMD_Delete 4
#define CMD_Clear 5
#define CMD_Exit6

// 定義聯(lián)系人基本信息結構體
typedef struct Message
{

char name[32];//姓名
char PhoneNum[32]; //電話號碼
char city[32]; //城市
char company[32];//公司
}Message;

Message LinkmanMes[MaxCnt];//可保存MaxCnt個聯(lián)系人

// 函數(shù)聲明
void Init(void);
void AddLinkman(void);
int FindCapacity(void);
void SaveToFile(void);
void PrintfList(void);
int MenuSelect(void);
void Delete(void);

/*********************************************************************************
* Function Name :main主函數(shù)
* Parameter :NULL
* Return Value :0
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

int main(void)
{
int cmd;
int num;

Init();
while(1)
{
cmd = MenuSelect();
switch(cmd)
{
case CMD_Add:
AddLinkman();
break;
case CMD_Save:
SaveToFile();
break;
case CMD_List:
PrintfList();
break;
case CMD_Delete:
Delete();
break;
case CMD_Clear:
system("cls");
break;
case CMD_Exit:
exit(0);
break;
}
}

return 0;
}

/*********************************************************************************
* Function Name :通訊錄初始化,初始化所有聯(lián)系人信息為空
* Parameter :NULL
* Return Value :0
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

void Init(void)
{
for(int i; i<MaxCnt; i++)
{
LinkmanMes[i].name[0] = '\0';
}
}

/*********************************************************************************
* Function Name :添加聯(lián)系人
* Parameter :NULL
* Return Value :0
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

void AddLinkman(void)
{
int slot;

slot = FindCapacity();
printf("Linkman num=%d\n",slot+1);
if(slot==CntFull)
{
printf("\nList full\n");
return;
}
printf("Input name:");
gets(LinkmanMes[slot].name);
printf("Input PhoneNum:");
gets(LinkmanMes[slot].PhoneNum);
printf("Input city:");
gets(LinkmanMes[slot].city);
printf("Input company:");
gets(LinkmanMes[slot].company);
printf("\n\n");
}

/*********************************************************************************
* Function Name :FindCapacity,查找可保存聯(lián)系人的容量,最大容量為MaxCnt
* Parameter :NULL
* Return Value :CntFull:已經沒有余量了 slot:第slot+1個聯(lián)系人
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

int FindCapacity(void)
{
int slot;

for(slot=0; LinkmanMes[slot].name[0]&&slot<MaxCnt; slot++);
if(slot==MaxCnt)
{
return CntFull;//已經達到了最大容量,沒有余量了
}

return slot;
}

/*********************************************************************************
* Function Name :SaveToFile,保存所有聯(lián)系人信息至本地文件Contact.txt
* Parameter :NULL
* Return Value :0
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

void SaveToFile(void)
{
FILE *fp;
char num[100];

if((fp=fopen("Contact.txt","wb"))==NULL)
{
printf("Cannot open the file.\n");
exit(0); /* 正常跳出程序 */
}
for(int i=0; i<MaxCnt; i++)
{
if(*LinkmanMes[i].name)
{
sprintf(num,"Num.%.2d",i+1);
fwrite(num, 6, 1, fp);
fwrite("\r\n", 2, 1, fp);
fwrite(LinkmanMes[i].name, strlen(LinkmanMes[i].name), 1, fp);
fwrite("\r\n", 2, 1, fp);
fwrite(LinkmanMes[i].PhoneNum, strlen(LinkmanMes[i].PhoneNum), 1, fp);
fwrite("\r\n", 2, 1, fp);
fwrite(LinkmanMes[i].city, strlen(LinkmanMes[i].city), 1, fp);
fwrite("\r\n", 2, 1, fp);
fwrite(LinkmanMes[i].company, strlen(LinkmanMes[i].company), 1, fp);
fwrite("\r\n", 2, 1, fp);
}
}

fclose(fp);
}

/*********************************************************************************
* Function Name :PrintfList,打印聯(lián)系人列表
* Parameter :NULL
* Return Value :0
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

void PrintfList(void)
{
int i;

for(i=0; i<MaxCnt; i++)
{
if(LinkmanMes[i].name[0])
{
printf("Num.%d\n",i+1);
printf("%s\n",LinkmanMes[i].name);
printf("%s\n",LinkmanMes[i].PhoneNum);
printf("%s\n",LinkmanMes[i].city);
printf("%s\n",LinkmanMes[i].company);
printf("\n");
}
}
}

/*********************************************************************************
* Function Name :Delete,刪除聯(lián)系人
* Parameter :NULL
* Return Value :0
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

void Delete(void)
{
int i;
char str[80];
int num;

printf("Input the linkman num(1-100)to delete a linkman or input 0 to delete all linkman:");
gets(str);
num = atoi(str);
/* 刪除第num個聯(lián)系人 */
if( (num>0)&&(num<MaxCnt) )
{
LinkmanMes[num-1].name[0] = '\0';
}
/* 刪除所有聯(lián)系人 */
else if(num==0)
{
for(i=0; i<MaxCnt; i++)
{
LinkmanMes[i].name[0] = '\0';
}
}
printf("\n\n");
}

/*********************************************************************************
* Function Name :MenuSelect,菜單
* Parameter :NULL
* Return Value :c:菜單命令
* Function Explain :
* Create Date :2016.2.4 by ZhengN
**********************************************************************************/

int MenuSelect(void)
{
char str[80];
int c;

printf("1. Add linkman\n");
printf("2. Save linkman to file\n");
printf("3. Printf all linkman\n");
printf("4. Delete linkman\n");
printf("5. Clear screen\n");
printf("6. Exit\n");
do{
printf("\nEnter your choice: ");
gets(str);
c = atoi(str);
} while(c<0 || c>6);

return c;
}

-END-

﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

免責聲明:本文轉自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯(lián)系,謝謝!

往期好文合集

做硬件,到底有沒有前途?<<戳這里

測試你C語言水平的十道題,挑戰(zhàn)一下?<<戳這里

基本電子元器件識別法<<戳這里

 最 后   
 

若覺得文章不錯,轉發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等!
在公眾號內回復「 更多資源 」,即可免費獲取,期待你的關注~
長按識別圖中二維碼關注

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉