C 언어 프로그래밍을 배우는 가장 좋은 방법 중 하나는이를 연습하는 것입니다. 이 기사는 최근에 완료 한 프로젝트 인 간단한 전화 번호부 응용 프로그램을 진행할 것입니다. 이 앱은 C의 파일 처리 및 기본 데이터 관리를 보여 주므로 연락처를 추가,보기 및 삭제할 수 있습니다.
자세한 코드 설명
다음은 전체 코드입니다.
<code class="language-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="language-bash">gcc -o phonebook phonebook.c</code>
- 컴파일 된 프로그램 실행 :
<code class="language-bash">./phonebook</code>
- 온 스크린 프롬프트를 따라 연락처를 추가,보기 또는 삭제하십시오.
-
phonebook.txt
파일을 열면 데이터가 올바르게 저장되어 있는지 확인하십시오.
향후 개선
이 프로그램은 좋은 출발이며 향후 다음과 같은 개선 사항을 고려할 수 있습니다.
- 확인 입력 : 중복 이름을 방지하기 위해 전화 번호 (예 : 숫자 만 포함)의 유효성을 확인하십시오.
- 사용자 인터페이스 개선 : 명확한 프롬프트를 제공하여 여러 단어가 포함 된 이름을 입력 할 수 있습니다 (
scanf
대신fgets
사용). - 향상된 파일 처리 : CSV 또는 JSON과 같은보다 구조화 된 파일 형식을 사용하여 보안 향상을위한 데이터 암호화를 고려하십시오.
- 고급 기능 : 검색 기능을 추가하여 연락처를 알파벳순으로 정렬합니다.
요약
이 연습은 기본의 C 언어 파일 처리 및 기본 데이터 관리를 이해하는 데 도움이되었습니다. 이것은보다 복잡한 프로젝트의 기초가 될 수있는 간단하지만 실용적인 프로그램입니다. C Language의 초보자라면 시도해 보는 것이 좋습니다! 이것은 흥미롭고 보람있는 학습 과정입니다.
위 내용은 연습 C : 간단한 전화 번호부 응용 프로그램 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

VScode中怎么配置C语言环境?下面本篇文章给大家介绍一下VScode配置C语言环境的方法(超详细),希望对大家有所帮助!

在C语言中,node是用于定义链表结点的名称,通常在数据结构中用作结点的类型名,语法为“struct Node{...};”;结构和类在定义出名称以后,直接用该名称就可以定义对象,C语言中还存在“Node * a”和“Node* &a”。

c语言将数字转换成字符串的方法:1、ascii码操作,在原数字的基础上加“0x30”,语法“数字+0x30”,会存储数字对应的字符ascii码;2、使用itoa(),可以把整型数转换成字符串,语法“itoa(number1,string,数字);”;3、使用sprintf(),可以能够根据指定的需求,格式化内容,存储至指针指向的字符串。

在c语言中,没有开根号运算符,开根号使用的是内置函数“sqrt()”,使用语法“sqrt(数值x)”;例如“sqrt(4)”,就是对4进行平方根运算,结果为2。sqrt()是c语言内置的开根号运算函数,其运算结果是函数变量的算术平方根;该函数既不能运算负数值,也不能输出虚数结果。

C语言数组初始化的三种方式:1、在定义时直接赋值,语法“数据类型 arrayName[index] = {值};”;2、利用for循环初始化,语法“for (int i=0;i<3;i++) {arr[i] = i;}”;3、使用memset()函数初始化,语法“memset(arr, 0, sizeof(int) * 3)”。

c语言合法标识符的要求是:1、标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成;2、第一个字符必须是字母或下划线,不能是数字;3、标识符中的大小写字母是有区别的,代表不同含义;4、标识符不能是关键字。

c语言编译后生成“.OBJ”的二进制文件(目标文件)。在C语言中,源程序(.c文件)经过编译程序编译之后,会生成一个后缀为“.OBJ”的二进制文件(称为目标文件);最后还要由称为“连接程序”(Link)的软件,把此“.OBJ”文件与c语言提供的各种库函数连接在一起,生成一个后缀“.EXE”的可执行文件。

c语言可以处理的文件类型是:文本文件和二进制文件。C语言所能够处理文件是按照存放形式分为文本文件和二进制文件:1、文本文件存储的是一个ASCII码,文件的内容可以直接进行输入输出;2、二进制文件直接将字符存储,不能将二进制文件的内容直接输出到屏幕上。


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
