연습 C : 간단한 전화 번호부 응용 프로그램 구축
C 언어 프로그래밍을 배우는 가장 좋은 방법 중 하나는이를 연습하는 것입니다. 이 기사는 최근에 완료 한 프로젝트 인 간단한 전화 번호부 응용 프로그램을 진행할 것입니다. 이 앱은 C의 파일 처리 및 기본 데이터 관리를 보여 주므로 연락처를 추가,보기 및 삭제할 수 있습니다.
자세한 코드 설명
다음은 전체 코드입니다.
<code class="c">#include <stdio.h> #include <string.h> // 函数声明void addcontact(char name[], char number[]); void viewcontacts(); void deletecontact(char name[]); int main() { int choice; char name[20]; char number[20]; printf("-- 欢迎使用您的电话簿! -- \n"); do { // 显示菜单printf("\n您想执行什么操作?\n"); printf("1. 创建新联系人\t 2. 查看电话簿\t 3. 删除联系人\t 4. 退出\n"); scanf("%d", &choice); switch (choice) { case 1: // 添加新联系人printf("很好,让我们创建一个新联系人:\n"); printf("请输入联系人的姓名:\n"); scanf("%s", name); printf("现在输入电话号码:\n"); scanf("%s", number); addcontact(name, number); break; case 2: // 查看电话簿printf("这是您的电话簿:\n"); viewcontacts(); break; case 3: // 删除联系人printf("请输入要删除的联系人的姓名:\n"); scanf("%s", name); deletecontact(name); break; } } while (choice != 4); // 循环直到用户选择“退出” return 0; } // 向电话簿添加联系人的函数void addcontact(char name[], char number[]) { FILE *pfile; pfile = fopen("phonebook.txt", "a"); if (pfile == NULL) { printf("打开电话簿失败。"); return; } fprintf(pfile, "姓名: %s \t 电话: %s\n", name, number); printf("联系人已创建!\n"); fclose(pfile); } // 查看电话簿中所有联系人的函数void viewcontacts() { char filecontent[200]; FILE *pfile; pfile = fopen("phonebook.txt", "r"); while (fgets(filecontent, sizeof(filecontent), pfile)) { printf("\n%s", filecontent); } fclose(pfile); } // 从电话簿中删除联系人的函数void deletecontact(char name[]) { FILE *pfile, *ptrash; char line[200], contactname[20], contactnumber[20]; pfile = fopen("phonebook.txt", "r"); ptrash = fopen("trash.txt", "w"); if (pfile == NULL || ptrash == NULL) { printf("打开文件失败。"); return; } while (fgets(line, sizeof(line), pfile)) { sscanf(line, "姓名: %s \t 电话: %s\n", contactname, contactnumber); if (strcmp(name, contactname) != 0) { fputs(line, ptrash); } } fclose(pfile); fclose(ptrash); // 将旧电话簿替换为更新后的版本remove("phonebook.txt"); rename("trash.txt", "phonebook.txt"); printf("联系人已删除。"); }</string.h></stdio.h></code>
프로젝트 기능
이 프로그램은 세 가지 핵심 기능을 구현합니다.
- 연락처 추가 :
- 사용자가 이름과 전화 번호를 입력 할 수 있습니다.
-
phonebook.txt
라는 파일에 연락처 정보를 저장하십시오.
- 연락처보기 :
-
phonebook.txt
파일에 저장된 모든 연락처 정보를 읽고 표시합니다.
-
- 연락처 삭제 :
- 사용자가 입력 한 이름에 따라 연락처를 삭제하십시오.
- 임시 파일을 작성하여 삭제 된 연락처를 필터링하고 원본 파일을 교체하십시오.
학습 이익
이 연습을 통해 나는 다음과 같은 C 언어 지식을 통합했습니다.
- 파일 처리 :
fopen
,fclose
및 기타 파일 작업 기능을 사용하는 데 능숙하고 파일 개방 실패를 처리합니다. - 문자열 작동 :
strcmp
및sscanf
와 같은 함수를 사용하여 문자열을 비교하고 구문 분석합니다. - 기본 데이터 관리 : 간단한 텍스트 파일에 데이터를 저장하고 관리하는 방법을 배우고 임시 파일을 작성하여 파일 컨텐츠를 업데이트하십시오.
코드 테스트
- 코드를
.c
파일 (예 :phonebook.c
)에 복사하고 C 컴파일러 (예 : GCC)로 컴파일합니다.
<code class="bash">gcc -o phonebook phonebook.c</code>
- 컴파일 된 프로그램 실행 :
<code class="bash">./phonebook</code>
- 온 스크린 프롬프트를 따라 연락처를 추가,보기 또는 삭제하십시오.
-
phonebook.txt
파일을 열면 데이터가 올바르게 저장되어 있는지 확인하십시오.
향후 개선
이 프로그램은 좋은 출발이며 향후 다음과 같은 개선 사항을 고려할 수 있습니다.
- 확인 입력 : 중복 이름을 방지하기 위해 전화 번호 (예 : 숫자 만 포함)의 유효성을 확인하십시오.
- 사용자 인터페이스 개선 : 명확한 프롬프트를 제공하여 여러 단어가 포함 된 이름을 입력 할 수 있습니다 (
scanf
대신fgets
사용). - 향상된 파일 처리 : CSV 또는 JSON과 같은보다 구조화 된 파일 형식을 사용하여 보안 향상을위한 데이터 암호화를 고려하십시오.
- 고급 기능 : 검색 기능을 추가하여 연락처를 알파벳순으로 정렬합니다.
요약
이 연습은 기본의 C 언어 파일 처리 및 기본 데이터 관리를 이해하는 데 도움이되었습니다. 이것은보다 복잡한 프로젝트의 기초가 될 수있는 간단하지만 실용적인 프로그램입니다. C Language의 초보자라면 시도해 보는 것이 좋습니다! 이것은 흥미롭고 보람있는 학습 과정입니다.
위 내용은 연습 C : 간단한 전화 번호부 응용 프로그램 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

2025 년 전 세계의 상위 10 개 암호 화폐 교환에는 Binance, Okx, Gate.io, Coinbase, Kraken, Huobi, Bitfinex, Kucoin, Bittrex 및 Poloniex가 포함됩니다.

참깨 오픈 도어는 암호 화폐 거래에 중점을 둔 플랫폼입니다. 사용자는 공식 웹 사이트 또는 소셜 미디어를 통해 포털을 얻을 수있어 액세스 중에 SSL 인증서 및 웹 사이트 컨텐츠의 진위가 확인되도록 할 수 있습니다.

현재 10 개의 가상 환전 거래소 중 하나입니다. 1. Binance, 2. OKX, 3. Gate.io, 4. Coin Library, 5. Siren, 6. Huobi Global Station, 7. Bybit, 8. Bitcoin, 10. 비트 스탬프.

Binance, Okx, Gate.io와 같은 상위 10 개 디지털 환전 거래소는 시스템, 효율적인 다양한 거래 및 엄격한 보안 조치를 개선했습니다.

전 세계의 상위 10 개 암호 화폐 거래 플랫폼에는 Binance, OKX, Gate.io, Coinbase, Kraken, Huobi Global, Bitfinex, Bittrex, Kucoin 및 Poloniex가 포함되며 다양한 거래 방법과 강력한 보안 조치가 제공됩니다.

C의 DMA는 직접 메모리 액세스 기술인 DirectMemoryAccess를 말하며 하드웨어 장치는 CPU 개입없이 데이터를 메모리로 직접 전송할 수 있습니다. 1) DMA 운영은 하드웨어 장치 및 드라이버에 크게 의존하며 구현 방법은 시스템마다 다릅니다. 2) 메모리에 직접 액세스하면 보안 위험이 발생할 수 있으며 코드의 정확성과 보안이 보장되어야합니다. 3) DMA는 성능을 향상시킬 수 있지만 부적절하게 사용하면 시스템 성능이 저하 될 수 있습니다. 실습과 학습을 통해 우리는 DMA 사용 기술을 습득하고 고속 데이터 전송 및 실시간 신호 처리와 같은 시나리오에서 효과를 극대화 할 수 있습니다.

C에서 Chrono 라이브러리를 사용하면 시간과 시간 간격을보다 정확하게 제어 할 수 있습니다. 이 도서관의 매력을 탐구합시다. C의 크로노 라이브러리는 표준 라이브러리의 일부로 시간과 시간 간격을 다루는 현대적인 방법을 제공합니다. 시간과 C 시간으로 고통받는 프로그래머에게는 Chrono가 의심 할 여지없이 혜택입니다. 코드의 가독성과 유지 가능성을 향상시킬뿐만 아니라 더 높은 정확도와 유연성을 제공합니다. 기본부터 시작합시다. Chrono 라이브러리에는 주로 다음 주요 구성 요소가 포함됩니다. std :: Chrono :: System_Clock : 현재 시간을 얻는 데 사용되는 시스템 클럭을 나타냅니다. STD :: 크론

MySQL에 데이터 삽입을위한 효율적인 방법은 다음과 같습니다. 1. InsertInto 사용 ... 값 구문 사용 ... 값 구문, 2. 트랜잭션 처리 사용, 3. 트랜잭션 처리 사용, 4. 배치 크기 조정, 5. 인덱스 비활성화, 6. Insertignore 또는 Insert ... ondupliceKeyUpdate를 사용하여 데이터베이스 작동 효율성을 크게 향상시킬 수 있습니다.
