bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

C語言練習:通訊錄的實現-創新互聯

文章目錄
  • 1.test.c
  • 2.Contacts.c
  • 3.Contacts.h

創新互聯長期為上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為清流企業提供專業的網站建設、成都網站建設,清流網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。1.test.c

作用:函數的測試

#define _CRT_SECURE_NO_WARNINGS 1
#include"Contacts.h"



void menu() {printf("*********************************************\n");
	printf("********       1.add    2.del        ********\n");
	printf("********       3.query  4.modif      ********\n");
	printf("********       5.show   6.empty      ********\n");
	printf("********       7.sort   0.exit       ********\n");
	printf("********************************************\n");

}

int main() {int input = 0;
	Contacts con;
	initContaces(&con);
	do {menu();
		scanf("%d", &input);
		switch (input) {case 1:
			addContacts(&con);
			break;
		case 2:
			delContacts(&con);
			break;
		case 3:
			queryContacts(&con);
			break;
		case 4:
			modifContacts(&con);
			break;
		case 5:
			showContacts(&con);
			break;
		case 6:
			emptyContacts(&con);
			break;
		case 7:
			sortContacts(&con);
			break;
		case 0:
			printf("退出通訊錄\n");
			break;
		default:
			printf("輸入錯誤\n");
			break;
		}
	} while (input);

	return 0;
}
2.Contacts.c

作用:函數體的實現

#define _CRT_SECURE_NO_WARNINGS 1
#include"Contacts.h"


void initContaces(Contacts* con) {assert(con);
	con->sz = 0;
	memset(con->date, 0, sizeof(con->date));
}

void addContacts(Contacts* con) {assert(con);
	if (con->sz == 100) {printf("通訊錄已滿無法添加\n");
		return;
	}
	printf("請輸入要添加聯系人姓名:>");
	scanf("%s", con->date[con->sz].name);
	printf("請輸入要添加聯系人年齡:>");
	scanf("%d", &(con->date[con->sz].age));
	printf("請輸入要添加聯系人性別:>");
	scanf("%s", con->date[con->sz].sex);
	printf("請輸入要添加聯系人地址:>");
	scanf("%s", con->date[con->sz].addr);
	printf("請輸入要添加聯系人電話號:>");

	scanf("%s", con->date[con->sz].tel);

	con->sz++;
}
void showContacts(Contacts* con) {assert(con);
	int i = 0;
	printf("%-20s\t%-4s\t%-5s\t%-30s\t%-12s\n ", "姓名","年齡","性別","地址","電話號");
	for (i = 0; i< con->sz; i++) {printf("%-20s\t%-4d\t%-5s\t%-30s\t%-12s\n ", con->date[i].name,
			con->date[i].age,
			con->date[i].sex,
			con->date[i].addr,
			con->date[i].tel);
	}
}
int findContacts(Contacts* con, char* name) {int i = 0;
	int ret = 0;
	for (i = 0; i< con->sz; i++) {if (strcmp(name, con->date[i].name) == 0) {	ret = i;
			return ret;
		}
	}
	return -1;
}
void delContacts(Contacts* con) {assert(con);
	char name[20];
	printf("請輸入要刪除聯系人的姓名\n");
	scanf("%s", name);
	int temp=findContacts(con, name);
	if (-1 == temp) {printf("找不到姓名為%s的聯系人\n", name);
		return;
	}
	else {for (int i = temp; i< con->sz - 1; i++) {	con->date[i] = con->date[i + 1];
		}
		con->sz--;
	}
}

void queryContacts(Contacts* con) {printf("請輸入要查找的聯系人的姓名\n");
	char name[20];
	scanf("%s", name);
	int temp = findContacts(con, name);
	if (-1 == temp) {printf("找不到姓名為%s的聯系人\n", name);
		return;
	}
	else {printf("%-20s\t%-4s\t%-5s\t%-30s\t%-12s\n ", "姓名", "年齡", "性別", "地址", "電話號");
		printf("%-20s\t%-4d\t%-5s\t%-30s\t%-12s\n ", con->date[temp].name,
			con->date[temp].age,
			con->date[temp].sex,
			con->date[temp].addr,
			con->date[temp].addr);
	}
}

void modifContacts(Contacts* con) {printf("請輸入要修改的聯系人的姓名\n");
	char name[20];
	scanf("%s", name);
	int temp = findContacts(con, name);
	if (-1 == temp) {printf("找不到姓名為%s的聯系人\n", name);
		return;
	}
	else {printf("請輸入修改后聯系人姓名:>");
		scanf("%s", con->date[temp].name);
		printf("請輸入修改后聯系人年齡:>");
		scanf("%d", &(con->date[temp].age));
		printf("請輸入修改后聯系人性別:>");
		scanf("%s", con->date[temp].sex);
		printf("請輸入修改后聯系人地址:>");
		scanf("%s", con->date[temp].addr);
		printf("請輸入修改后聯系人電話號:>");
		scanf("%s", con->date[temp].tel);
	}
}
int cmp(const void* e1, const void* e2) {Contacts* c1 = (Contacts*)e1;
	Contacts* c2 = (Contacts*)e2;

	return strcmp(c1->date->name, c2->date->name);
}
void sortContacts(Contacts* con) {qsort(con, con->sz, sizeof(con->date[0]), cmp);
}
void emptyContacts(Contacts* con) {con->sz = 0;
}
3.Contacts.h

作用:函數的聲明

#pragma once
#include#include#include
#define MAX 100
#define NAME_MAX 20
#define SEX_MAX 5
#define ADDR_MAX 30
#define TEL_MAX 12

typedef struct people {char name[NAME_MAX];
	int age;
	char sex[SEX_MAX];
	char addr[ADDR_MAX];
	char tel[TEL_MAX];
}people;
typedef struct Contacts {people date[MAX];
	int sz;
}Contacts;
//初始化結構體
void initContaces(Contacts* con);
//添加
void addContacts(Contacts* con);
//展示
void showContacts(Contacts* con);
//刪除
void delContacts(Contacts* con);
//查詢
void queryContacts(Contacts* con);
//修改
void modifContacts(Contacts* con);
//排序
void sortContacts(Contacts* con);
void emptyContacts(Contacts* con);

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

文章名稱:C語言練習:通訊錄的實現-創新互聯
標題網址:http://vcdvsql.cn/article4/cedsoe.html

成都網站建設公司_創新互聯,為您提供微信公眾號網站改版企業網站制作網站建設關鍵詞優化手機網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設