国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

這篇具有很好參考價(jià)值的文章主要介紹了手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

導(dǎo)言:“練習(xí)成就不了完美。多練習(xí)會(huì)產(chǎn)生髓磷脂,是髓磷脂讓你做到完美?!薄つ釥枴た埔翣枺―aniel Coyle)


目錄

一:通訊錄的思想

二:通訊錄的實(shí)現(xiàn)

1.創(chuàng)建文件

2.打印菜單

3.創(chuàng)建聯(lián)系人結(jié)構(gòu)體

4.初始化菜單

5.實(shí)現(xiàn)菜單的功能

a.增加聯(lián)系人

b.刪除聯(lián)系人

c.查找聯(lián)系人

d.修改聯(lián)系人

e.打印聯(lián)系人

三:總結(jié)


一:通訊錄的思想

我們將每一位聯(lián)系人的姓名,性別,年齡,電話,地址來用一個(gè)結(jié)構(gòu)體保存,用另一個(gè)結(jié)構(gòu)體來保存通訊錄的信息和通訊錄已經(jīng)保存的聯(lián)系人的個(gè)數(shù)。

剩下通過函數(shù)依次實(shí)現(xiàn)通訊錄各個(gè)功能:

1.增加聯(lián)系人? 2.刪除聯(lián)系人? 3.查找聯(lián)系人 4.修改聯(lián)系人? 5.打印聯(lián)系人信息


二:通訊錄的實(shí)現(xiàn)

1.創(chuàng)建文件

首先我們創(chuàng)建三個(gè)文件,test.c用來測(cè)試,address.h用來聲明結(jié)構(gòu)體和函數(shù),address.c用來實(shí)現(xiàn)各個(gè)功能函數(shù)的實(shí)現(xiàn)。

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

?2.打印菜單

打印菜單是十分有必要的,能夠?qū)崿F(xiàn)與用戶的交互,菜單需要包含通訊錄的各個(gè)功能,便于操作。

打印菜單如下:

void menu() {
	printf("-------- 1.增加:--------  \n");
	printf("-------- 2.刪除:--------  \n");
	printf("-------- 3.查詢:--------  \n");
	printf("-------- 4.修改:--------  \n");
	printf("-------- 5.打?。?-------  \n");
	printf("      0.退出通訊錄: \n");
	
}

實(shí)際打印效果如下:

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

3.創(chuàng)建聯(lián)系人結(jié)構(gòu)體?

這里我們聯(lián)系人的信息用結(jié)構(gòu)體來保存,在頭文件聲明。

//類型的聲明
//一位聯(lián)系人的基本信息,我們都放在一個(gè)結(jié)構(gòu)體里面
typedef struct People {
	char name[NAME_MAX];  //名字
	char sex[SEX_MAX];   //性別
	int age;      //年齡
	char tele[TELE_MAX];  //電話號(hào)碼
	char addr[ADDR_MAX];  //地址
 
}People;
//通訊錄
typedef struct Address {
	People date[MAX];//可以存放1000位聯(lián)系人
	int sz;//記錄通訊錄已經(jīng)保存的聯(lián)系人個(gè)數(shù)

}Address;

這里我們?cè)O(shè)定存放1000位聯(lián)系人。第二個(gè)結(jié)構(gòu)體是我們的通訊錄,sz是記錄通訊錄已經(jīng)保存的聯(lián)系人個(gè)數(shù)。

看到這兒,可能會(huì)有人好奇我定義的數(shù)組里面大寫字母代表的是什么,這里我用的宏定義的變量,便于后期數(shù)值的修改。

#pragma once
//頭文件這里用來類型的聲明和函數(shù)的聲明
#include<stdio.h>
#include<assert.h>
#include<string.h>

//這樣是為了便于后續(xù)好修改大小和數(shù)據(jù)
#define MAX 1000
#define NAME_MAX 20
#define SEX_MAX  5
#define TELE_MAX 12
#define ADDR_MAX 30

4.初始化菜單

剛開始的時(shí)候,在結(jié)構(gòu)體Address中我們并沒有給數(shù)組和sz賦值,不知道起始數(shù)值是多少,所以現(xiàn)在我們需要將他們?nèi)抠x值為0,是通訊錄里面為空。

我們首先聲明一個(gè)初始化函數(shù)。

//初始化通訊錄函數(shù)
void InitAddress(Address* p);

由于結(jié)構(gòu)體傳參的數(shù)據(jù)所占內(nèi)存可能過大,所以我們結(jié)構(gòu)體傳遞用地址傳遞,后面都是如此。

函數(shù)的實(shí)現(xiàn)如下:

//初始化
void InitAddress(Address* p) {
	assert(p);//斷言,為了指針的有效性
	p->sz = 0;
	//利用庫(kù)函數(shù),將數(shù)組全部初始化為0
	memset(p->date, 0, sizeof(p->date));
}

初始化函數(shù)這里我們用到了庫(kù)函數(shù)memset,是將整個(gè)數(shù)組的字節(jié)大小全部修改為0.

5.實(shí)現(xiàn)菜單的功能

a.增加聯(lián)系人

在初始化函數(shù)后,我們開始實(shí)現(xiàn)模擬菜單的功能。但是在實(shí)現(xiàn)功能之前,我們還要選擇菜單選項(xiàng),可以讓用戶選擇幾就執(zhí)行幾所對(duì)應(yīng)的功能,并且能讓用戶可以一直輸入下去,這里我們使用枚舉變量來代表我們用戶選擇的數(shù)字,更加直接明了。

//利用枚舉類型便于直觀
enum Option {
	EXIT,//0
	ADD,//1
	DEL,//2
	FIND,//3
	MODIFY,//4
	PRINT//5

};
void test() {
	printf("歡迎進(jìn)入通訊錄:\n");
	int input = 0;
	Address add;
	//初始化通訊錄
	InitAddress(&add);

	do {
		menu();
		scanf("%d", &input);
		switch (input) {
		case ADD:
			//增加聯(lián)系人
			Add_Address(&add);
			break;
		case DEL:
			//刪除聯(lián)系人
			Del_Address(&add);
			break;
		case FIND:
			//查詢聯(lián)系人
			Find_Address(&add);
			break;
		case MODIFY:
			//修改聯(lián)系人
			Modify_Address(&add);
			break;
		case PRINT:
			Print_Address(&add);
			break;
		case EXIT:
			printf("退出通訊錄:\n");
			break;
		default:
			printf("輸入錯(cuò)誤,請(qǐng)重新輸入:\n");
			break;
		}
	} while (input);
}
int main() {
	test();
	return 0;
}

現(xiàn)在我們來實(shí)現(xiàn)增加聯(lián)系人的操作,首先我們要聲明一個(gè)函數(shù)。

//增加聯(lián)系人
void Add_Address(Address* p);

函數(shù)的實(shí)現(xiàn):

//增加聯(lián)系人
void Add_Address(Address* p) {
	assert(p);
	//先判斷有沒有空間添加聯(lián)系人
	if (p->sz == MAX) {
		printf("通訊錄已滿,無法添加!\n");
	}
	//否則,添加聯(lián)系人
	//錄入信息
	printf("請(qǐng)輸入聯(lián)系人姓名:");
	scanf("%s", p->date[p->sz].name);
	printf("請(qǐng)輸入聯(lián)系人性別:");
	scanf("%s", p->date[p->sz].sex);
	printf("請(qǐng)輸入聯(lián)系人年齡:");
	scanf("%d", &p->date[p->sz].age);
	printf("請(qǐng)輸入聯(lián)系人電話:");
	scanf("%s", p->date[p->sz].tele);
	printf("請(qǐng)輸入聯(lián)系人地址:");
	scanf("%s", p->date[p->sz].addr);

	//記錄完一次,我們sz保存的聯(lián)系人就要加一次
	p->sz++;

	printf("聯(lián)系人保存成功!\n");

}

只要依次輸入對(duì)應(yīng)數(shù)據(jù),即可保存成功。

最終效果如下:

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

?

b.刪除聯(lián)系人

刪除元素我們需要將sz作為下標(biāo)來使用,具體實(shí)現(xiàn)如下,我們先聲明一個(gè)函數(shù)。


//刪除聯(lián)系人
void Del_Address(Address* p);

函數(shù)的實(shí)現(xiàn)

//刪除聯(lián)系人

//這里我們?cè)O(shè)置,如果存在這個(gè)聯(lián)系人,就返回下標(biāo)sz
//如果不存在這個(gè)聯(lián)系人,就返回-1。
int Find_name(const Address* p,char name[]) {
	assert(p);
	//采用循環(huán)遍歷
	int i = 0;
	for (i = 0; i < p->sz; i++) {
		if (0 == strcmp(p->date[i].name, name)) {
			//等于0,表示存在這個(gè)聯(lián)系人
			return i;
		}
	}
	//否則返回-1
	return -1;

}
void Del_Address(Address* p) {
	assert(p);
	//判斷是否為空
	if (p->sz == 0) {
		printf("通訊錄已空,無法刪除!\n");
	}
	char name[20] = { 0 };
	printf("請(qǐng)輸入你要?jiǎng)h除的聯(lián)系人姓名:\n");
	scanf("%s", name);
	int ret = Find_name(p,name);
	if (ret == -1) {
		printf("這個(gè)聯(lián)系人不存在!\n");
		return;
	}
	else {
		int j = 0;
		for (j = ret; j < p->sz - 1; j++) {
			p->date[j] = p->date[j + 1];
		}
		p->sz--;
	}
	printf("刪除成功.\n");
}

這里中間我們又定義了一個(gè)函數(shù)Find_name(),這個(gè)函數(shù)用來查找要?jiǎng)h除的聯(lián)系人是否在通訊錄中,用庫(kù)函數(shù)strcmp比較函數(shù)來判斷是否存在。另外,在刪除元素的時(shí)候要主要數(shù)組下標(biāo)越界的問題。

最終效果如下:

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

c.查找聯(lián)系人

查找聯(lián)系人和刪除很像,只要用Find_name()函數(shù)查找,再打印出來即可。首先我們?cè)俾暶骱瘮?shù)。

//查詢聯(lián)系人
void Find_Address(Address* p);

函數(shù)的實(shí)現(xiàn)

//查詢聯(lián)系人
void Find_Address(const Address* p) {
	assert(p);
	char name[20];
	printf("請(qǐng)輸入你要查詢的聯(lián)系人姓名:\n");
	scanf("%s", name);
	int ret = Find_name(p, name);
	if (ret == -1) {
		printf("查無此人\n");
	}
	else {
		//打印當(dāng)前查詢聯(lián)系人信息
		printf("%-20s %-5s %-5s %-12s %-30s\n", "姓名", "性別", "年齡", "電話", "地址");
		printf("%-20s %-5s %-5d %-12s %-30s\n", p->date[ret].name, p->date[ret].sex, p->date[ret].age, p->date[ret].tele, p->date[ret].addr);
		
	}

}

最終效果如下:

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

?d.修改聯(lián)系人

修改聯(lián)系人我們這里讓用戶選擇修改什么類容,通過信息查詢來進(jìn)行修改,跟實(shí)現(xiàn)菜單差不多,也是通過do? while?和switch來實(shí)現(xiàn)用戶的選擇,我們先聲明一個(gè)函數(shù)。

//修改聯(lián)系人
void Modify_Address(Address* p);

函數(shù)的實(shí)現(xiàn)

//修改聯(lián)系人信息
void Modify_Address(Address* p) {
	assert(p);
	char name[20]={0};
	printf("請(qǐng)選擇你要修改的聯(lián)系人姓名:\n");
	scanf("%s", name);
	int ret= Find_name(p, name);
	if (ret == -1) {
		printf("查無此人\n");
	}
	else {
		int input = 0;
		do {
			printf("請(qǐng)選擇你要修改的信息:\n");
			printf("1.修改聯(lián)系人名字:\n");
			printf("2.修改聯(lián)系人性別:\n");
			printf("3.修改聯(lián)系人年齡:\n");
			printf("4.修改聯(lián)系人電話:\n");
			printf("5.修改聯(lián)系人地址:\n");
			printf("    0.退出修改:   \n");
			scanf("%d", &input);
			switch (input) {
			case 1:
				//修改名字:
				printf("請(qǐng)輸入你要修改的聯(lián)系人名字:\n");
				scanf("%s", p->date[ret].name);
				break;
			case 2:
				printf("請(qǐng)輸入你要修改的聯(lián)系人性別:\n");
				scanf("%s", p->date[ret].sex);
				break;
			case 3:
				printf("請(qǐng)輸入你要修改的聯(lián)系人年齡:\n");
				scanf("%s", &p->date[ret].age);
				break;
			case 4:
				printf("請(qǐng)輸入你要修改的聯(lián)系人電話:\n");
				scanf("%s", &p->date[ret].tele);
				break;
			case 5:
				printf("請(qǐng)輸入你要修改的聯(lián)系人地址:\n");
				scanf("%s", &p->date[ret].addr);
				break;
			case 0:
				printf("退出修改\n");
				break;
			default:
				printf("輸入無效,請(qǐng)重新輸入:\n");
				break;

			}
		} while (input);
	}

	printf("修改成功!\n");

}

這里我們通過Find_name函數(shù)所返回的那個(gè)下標(biāo)進(jìn)行修改,那個(gè)下標(biāo)就是我們要修改的聯(lián)系人對(duì)象。

最終效果如下:

手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)

?

e.打印聯(lián)系人

這里我們使用一個(gè)for循環(huán)和sz當(dāng)作下標(biāo)來依次打印出聯(lián)系人的信息。

聲明函數(shù):

//打印通訊錄
void Print_Address(Address* p);

函數(shù)的實(shí)現(xiàn)

//打印聯(lián)系人
void Print_Address(Address* p) {
	assert(p);
	//前面-是左對(duì)齊的意思,不加-就是右對(duì)齊
	printf("%-20s %-5s %-5s %-12s %-30s\n", "姓名", "性別", "年齡", "電話", "地址");
	int i = 0;
	for (i = 0; i < p->sz; i++) {
		printf("%-20s %-5s %-5d %-12s %-30s\n", p->date[i].name, p->date[i].sex, p->date[i].age, p->date[i].tele, p->date[i].addr);
	}
}

三.總結(jié)

寫到這兒也結(jié)束了,通訊錄是考察結(jié)構(gòu)體的運(yùn)用和創(chuàng)建,完整源碼如下,供參考,歡迎提錯(cuò)誤。文章來源地址http://www.zghlxwxcb.cn/news/detail-490715.html

#pragma once
//頭文件這里用來類型的聲明和函數(shù)的聲明
#include<stdio.h>
#include<assert.h>
#include<string.h>

//這樣是為了便于后續(xù)好修改大小和數(shù)據(jù)
#define MAX 1000
#define NAME_MAX 20
#define SEX_MAX  5
#define TELE_MAX 12
#define ADDR_MAX 30


//利用枚舉類型便于直觀
enum Option {
	EXIT,//0
	ADD,//1
	DEL,//2
	FIND,//3
	MODIFY,//4
	PRINT//5

};

//類型的聲明
//一位聯(lián)系人的基本信息,我們都放在一個(gè)結(jié)構(gòu)體里面
typedef struct People {
	char name[NAME_MAX];  //名字
	char sex[SEX_MAX];   //性別
	int age;      //年齡
	char tele[TELE_MAX];  //電話號(hào)碼
	char addr[ADDR_MAX];  //地址
 
}People;


//通訊錄
typedef struct Address {
	People date[MAX];//可以存放1000位聯(lián)系人
	int sz;//記錄通訊錄已經(jīng)保存的聯(lián)系人個(gè)數(shù)

}Address;


//函數(shù)的聲明


//初始化通訊錄函數(shù)
void InitAddress(Address* p);

//增加聯(lián)系人
void Add_Address(Address* p);

//刪除聯(lián)系人
void Del_Address(Address* p);

//打印通訊錄
void Print_Address(Address* p);

//查詢聯(lián)系人
void Find_Address(Address* p);

//修改聯(lián)系人
void Modify_Address(Address* p);


#define _CRT_SECURE_NO_WARNINGS 1
#include"address.h"


//通訊錄函數(shù)的實(shí)現(xiàn)

//初始化
void InitAddress(Address* p) {
	assert(p);//斷言,為了指針的有效性
	p->sz = 0;
	//利用庫(kù)函數(shù),將數(shù)組全部初始化為0
	memset(p->date, 0, sizeof(p->date));
}


//增加聯(lián)系人
void Add_Address(Address* p) {
	assert(p);
	//先判斷有沒有空間添加聯(lián)系人
	if (p->sz == MAX) {
		printf("通訊錄已滿,無法添加!\n");
	}
	//否則,添加聯(lián)系人
	//錄入信息
	printf("請(qǐng)輸入聯(lián)系人姓名:");
	scanf("%s", p->date[p->sz].name);
	printf("請(qǐng)輸入聯(lián)系人性別:");
	scanf("%s", p->date[p->sz].sex);
	printf("請(qǐng)輸入聯(lián)系人年齡:");
	scanf("%d", &p->date[p->sz].age);
	printf("請(qǐng)輸入聯(lián)系人電話:");
	scanf("%s", p->date[p->sz].tele);
	printf("請(qǐng)輸入聯(lián)系人地址:");
	scanf("%s", p->date[p->sz].addr);

	//記錄完一次,我們sz保存的聯(lián)系人就要加一次
	p->sz++;

	printf("聯(lián)系人保存成功!\n");

}

//刪除聯(lián)系人

//這里我們?cè)O(shè)置,如果存在這個(gè)聯(lián)系人,就返回下標(biāo)sz
//如果不存在這個(gè)聯(lián)系人,就返回-1。
int Find_name(const Address* p,char name[]) {
	assert(p);
	//采用循環(huán)遍歷
	int i = 0;
	for (i = 0; i < p->sz; i++) {
		if (0 == strcmp(p->date[i].name, name)) {
			//等于0,表示存在這個(gè)聯(lián)系人
			return i;
		}
	}
	//否則返回-1
	return -1;

}
void Del_Address(Address* p) {
	assert(p);
	//判斷是否為空
	if (p->sz == 0) {
		printf("通訊錄已空,無法刪除!\n");
	}
	char name[20] = { 0 };
	printf("請(qǐng)輸入你要?jiǎng)h除的聯(lián)系人姓名:\n");
	scanf("%s", name);
	int ret = Find_name(p,name);
	if (ret == -1) {
		printf("這個(gè)聯(lián)系人不存在!\n");
		return;
	}
	else {
		//刪除
		int j = 0;
		for (j = ret; j < p->sz - 1; j++) {
			p->date[j] = p->date[j + 1];
		}
		p->sz--;
	}
	printf("刪除成功.\n");
}


//打印聯(lián)系人
void Print_Address(Address* p) {
	assert(p);
	//前面-是左對(duì)齊的意思,不加-就是右對(duì)齊
	printf("%-20s %-5s %-5s %-12s %-30s\n", "姓名", "性別", "年齡", "電話", "地址");
	int i = 0;
	for (i = 0; i < p->sz; i++) {
		printf("%-20s %-5s %-5d %-12s %-30s\n", p->date[i].name, p->date[i].sex, p->date[i].age, p->date[i].tele, p->date[i].addr);
	}
}


//查詢聯(lián)系人
void Find_Address(const Address* p) {
	assert(p);
	char name[20];
	printf("請(qǐng)輸入你要查詢的聯(lián)系人姓名:\n");
	scanf("%s", name);
	int ret = Find_name(p, name);
	if (ret == -1) {
		printf("查無此人\n");
	}
	else {
		//打印當(dāng)前查詢聯(lián)系人信息
		printf("%-20s %-5s %-5s %-12s %-30s\n", "姓名", "性別", "年齡", "電話", "地址");
		printf("%-20s %-5s %-5d %-12s %-30s\n", p->date[ret].name, p->date[ret].sex, p->date[ret].age, p->date[ret].tele, p->date[ret].addr);
		
	}

}

//修改聯(lián)系人信息
void Modify_Address(Address* p) {
	assert(p);
	char name[20]={0};
	printf("請(qǐng)選擇你要修改的聯(lián)系人姓名:\n");
	scanf("%s", name);
	int ret= Find_name(p, name);
	if (ret == -1) {
		printf("查無此人\n");
	}
	else {
		int input = 0;
		do {
			printf("請(qǐng)選擇你要修改的信息:\n");
			printf("1.修改聯(lián)系人名字:\n");
			printf("2.修改聯(lián)系人性別:\n");
			printf("3.修改聯(lián)系人年齡:\n");
			printf("4.修改聯(lián)系人電話:\n");
			printf("5.修改聯(lián)系人地址:\n");
			printf("    0.退出修改:   \n");
			scanf("%d", &input);
			switch (input) {
			case 1:
				//修改名字:
				printf("請(qǐng)輸入你要修改的聯(lián)系人名字:\n");
				scanf("%s", p->date[ret].name);
				break;
			case 2:
				printf("請(qǐng)輸入你要修改的聯(lián)系人性別:\n");
				scanf("%s", p->date[ret].sex);
				break;
			case 3:
				printf("請(qǐng)輸入你要修改的聯(lián)系人年齡:\n");
				scanf("%s", &p->date[ret].age);
				break;
			case 4:
				printf("請(qǐng)輸入你要修改的聯(lián)系人電話:\n");
				scanf("%s", &p->date[ret].tele);
				break;
			case 5:
				printf("請(qǐng)輸入你要修改的聯(lián)系人地址:\n");
				scanf("%s", &p->date[ret].addr);
				break;
			case 0:
				printf("退出修改\n");
				break;
			default:
				printf("輸入無效,請(qǐng)重新輸入:\n");
				break;

			}
		} while (input);
	}

	printf("修改成功!\n");

}

#define _CRT_SECURE_NO_WARNINGS 1
//通訊錄
//靜態(tài)版本
//通訊錄可以存儲(chǔ)1000位聯(lián)系人
#include"address.h"
void menu() {
	printf("-------- 1.增加:--------  \n");
	printf("-------- 2.刪除:--------  \n");
	printf("-------- 3.查詢:--------  \n");
	printf("-------- 4.修改:--------  \n");
	printf("-------- 5.打?。?-------  \n");
	printf("      0.退出通訊錄: \n");
	
}
void test() {
	printf("歡迎進(jìn)入通訊錄:\n");
	int input = 0;
	Address add;
	//初始化通訊錄
	InitAddress(&add);

	do {
		menu();
		scanf("%d", &input);
		switch (input) {
		case ADD:
			//增加聯(lián)系人
			Add_Address(&add);
			break;
		case DEL:
			//刪除聯(lián)系人
			Del_Address(&add);
			break;
		case FIND:
			//查詢聯(lián)系人
			Find_Address(&add);
			break;
		case MODIFY:
			//修改聯(lián)系人
			Modify_Address(&add);
			break;
		case PRINT:
			Print_Address(&add);
			break;
		case EXIT:
			printf("退出通訊錄:\n");
			break;
		default:
			printf("輸入錯(cuò)誤,請(qǐng)重新輸入:\n");
			break;
		}
	} while (input);
}
int main() {
	test();
	return 0;
}

到了這里,關(guān)于手機(jī)通訊錄的實(shí)現(xiàn)——C語言(靜態(tài)版本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 通訊錄的實(shí)現(xiàn)(靜態(tài)版本,動(dòng)態(tài)版本,文件版本)(后附完整源代碼)

    通訊錄的實(shí)現(xiàn)(靜態(tài)版本,動(dòng)態(tài)版本,文件版本)(后附完整源代碼)

    對(duì)于通訊錄來說,我們需要它實(shí)現(xiàn)以下幾個(gè)功能。 1.人的信息:姓名+年齡+性別+電話+地址。 2.可以存放100個(gè)人的信息。 功能: 1增加聯(lián)系人。 2刪除聯(lián)系人。 3查找指定聯(lián)系人信息。 4修改指定聯(lián)系人信息。 5顯示所有聯(lián)系人信息。 6按名字排序。 接下來分為三個(gè)模塊,test.c

    2024年01月19日
    瀏覽(21)
  • 【進(jìn)階C語言】靜態(tài)版通訊錄的實(shí)現(xiàn)(詳細(xì)講解+全部源碼)

    【進(jìn)階C語言】靜態(tài)版通訊錄的實(shí)現(xiàn)(詳細(xì)講解+全部源碼)

    前言 ??作者簡(jiǎn)介: 熱愛跑步的恒川 ,正在學(xué)習(xí)C/C++、Java、Python等。 ??本文收錄于 C語言進(jìn)階 系列,本專欄主要內(nèi)容為數(shù)據(jù)的存儲(chǔ)、指針的進(jìn)階、字符串和內(nèi)存函數(shù)的介紹、自定義類型結(jié)構(gòu)、動(dòng)態(tài)內(nèi)存管理、文件操作等,持續(xù)更新! ??相關(guān)專欄Python,Java等正在發(fā)展,拭目

    2023年04月25日
    瀏覽(31)
  • C語言之通訊錄的實(shí)現(xiàn)(靜態(tài)版,動(dòng)態(tài)版,文件版)

    C語言之通訊錄的實(shí)現(xiàn)(靜態(tài)版,動(dòng)態(tài)版,文件版)

    個(gè)人主頁(yè)(找往期文章包括但不限于本期文章中不懂的知識(shí)點(diǎn)):?我要學(xué)編程(?_?)-CSDN博客 目錄 靜態(tài)通訊錄的實(shí)現(xiàn)邏輯? test.c:通訊錄的邏輯實(shí)現(xiàn) Contact.h:函數(shù)的聲明與頭文件的包含 Contact.c:函數(shù)的實(shí)現(xiàn)? 通訊錄源碼:? test.c: Contact.c: Contect.h: 動(dòng)態(tài)版通訊錄? test.c: Co

    2024年04月13日
    瀏覽(57)
  • C語言實(shí)現(xiàn)建立手機(jī)通訊錄(順序結(jié)構(gòu))

    C語言實(shí)現(xiàn)建立手機(jī)通訊錄(順序結(jié)構(gòu))

    今天來和大家分享一個(gè)簡(jiǎn)易通訊錄(C語言實(shí)現(xiàn)) 首先要介紹一下通訊錄的基本功能 添加聯(lián)系人信息 刪除指定聯(lián)系人信息 查找指定聯(lián)系人信息 修改指定聯(lián)系人信息 顯示所有聯(lián)系人信息 總結(jié),考慮到數(shù)據(jù)結(jié)構(gòu)中的順序表和單鏈表,我們可以采用這兩種結(jié)構(gòu)來實(shí)現(xiàn)。本文選擇

    2024年02月07日
    瀏覽(23)
  • C語言實(shí)現(xiàn)通訊錄(三合一版本)

    作者主頁(yè): paper jie的博客_CSDN博客 本文作者: 大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于 《C語言》專欄,本專欄是針對(duì)于大學(xué)生,編程小白精心打造的。筆者用重金(時(shí)間和精力)打造,將基礎(chǔ)知識(shí)一網(wǎng)打盡,希望可以幫到讀者們哦。 其他專欄:

    2024年02月16日
    瀏覽(23)
  • C語言動(dòng)態(tài)內(nèi)存練習(xí):【通訊錄(動(dòng)態(tài)內(nèi)存版本)實(shí)現(xiàn)】

    前面我們寫了一個(gè)靜態(tài)數(shù)組版本的通訊錄,再結(jié)合剛學(xué)習(xí)的動(dòng)態(tài)內(nèi)存管理的知識(shí),我們現(xiàn)在來實(shí)現(xiàn)一個(gè)動(dòng)態(tài)內(nèi)存版本的通訊錄。 動(dòng)態(tài)內(nèi)存版本的通訊錄,主要還是為了解決靜態(tài)數(shù)組版本的通訊錄空間太大導(dǎo)致的內(nèi)存浪費(fèi)和空間太小不夠存放的問題。 擴(kuò)容策略: 為通訊錄設(shè)置

    2023年04月13日
    瀏覽(35)
  • 【c語言】通訊錄(靜態(tài))

    【c語言】通訊錄(靜態(tài))

    小張剛學(xué)習(xí)完結(jié)構(gòu)體,枚舉,聯(lián)合相關(guān)的知識(shí),實(shí)踐實(shí)踐,寫一個(gè)通訊錄唄! 通訊錄的功能 1.通訊錄可存放100的信息 2.信息的內(nèi)容姓名,性別,年齡,電話,地址 3.支持增加聯(lián)系人 4.支持刪除聯(lián)系人 5.支持查找聯(lián)系人 6.支持修改聯(lián)系人 7.支持排序聯(lián)系人 8.打印數(shù)據(jù) 文件類型

    2024年02月13日
    瀏覽(106)
  • C語言進(jìn)階——靜態(tài)通訊錄

    C語言進(jìn)階——靜態(tài)通訊錄

    作者: 敲代碼の流川楓 博客主頁(yè):流川楓的博客 專欄:C語言從入門到進(jìn)階 語錄: Stay hungry stay foolish 工欲善其事必先利其器,給大家介紹一款超牛的斬獲大廠offer利器——牛客網(wǎng) 點(diǎn)擊免費(fèi)注冊(cè)和我一起刷題吧 目錄 1.contact.h——通訊錄相關(guān)的聲明 2.contact.c——通訊錄相關(guān)的

    2024年02月16日
    瀏覽(22)
  • 使用C語言實(shí)現(xiàn)通訊錄管理系統(tǒng)1.0版本(持續(xù)更新)

    使用C語言實(shí)現(xiàn)通訊錄管理系統(tǒng)1.0版本(持續(xù)更新)

    本篇文章會(huì)教大家用C語言實(shí)現(xiàn)一個(gè)通訊錄系統(tǒng),此程序?qū)?huì)持續(xù)更新優(yōu)化。覺得博主寫的不錯(cuò)的朋友可以關(guān)注點(diǎn)贊收藏一波,支持一下博主,感謝大家! 此通訊錄系統(tǒng)可以存儲(chǔ)1000個(gè)聯(lián)系人的:姓名,性別,年齡,電話號(hào)碼,家庭地址。 主要實(shí)現(xiàn)的系統(tǒng)功能有:添加聯(lián)系人,

    2024年02月03日
    瀏覽(49)
  • C語言——通訊錄詳解(靜態(tài)版)

    今天我們做一個(gè)簡(jiǎn)單的通訊錄,同時(shí)也能加深對(duì)C語言的理解。 實(shí)現(xiàn)一個(gè)通訊錄,我們要在通訊錄中保存人的信息: 名字、年齡、性別、電話、地址。 我們也要知道編寫通訊錄的流程: 通訊錄中存放100個(gè)人的信息 增加聯(lián)系人 刪除聯(lián)系人 修改聯(lián)系人 查找聯(lián)系人 顯示所有聯(lián)系

    2024年02月12日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包