国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table of Contents
Detailed code explanation
Project Features
Learning gains
Code Testing
Future improvements
Summarize
Home Backend Development C++ Exercise C: Building a simple phonebook application

Exercise C: Building a simple phonebook application

Apr 03, 2025 pm 08:15 PM
c language ai switch c language programming 2025

Exercise C: Building a simple phonebook application

One of the best ways to learn C language programming is to practice it. This article will take you step through a project I recently completed: a simple phone book application. This app demonstrates file processing and basic data management in C, allowing you to add, view, and delete contacts.


Detailed code explanation

Here is the complete code:

 <code class="c">#include <stdio.h> #include <string.h> // 函數(shù)聲明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您想執(zhí)行什么操作?\n"); printf("1. 創(chuàng)建新聯(lián)系人\t 2. 查看電話簿\t 3. 刪除聯(lián)系人\t 4. 退出\n"); scanf("%d", &choice); switch (choice) { case 1: // 添加新聯(lián)系人printf("很好,讓我們創(chuàng)建一個新聯(lián)系人:\n"); printf("請輸入聯(lián)系人的姓名:\n"); scanf("%s", name); printf("現(xiàn)在輸入電話號碼:\n"); scanf("%s", number); addcontact(name, number); break; case 2: // 查看電話簿printf("這是您的電話簿:\n"); viewcontacts(); break; case 3: // 刪除聯(lián)系人printf("請輸入要刪除的聯(lián)系人的姓名:\n"); scanf("%s", name); deletecontact(name); break; } } while (choice != 4); // 循環(huán)直到用戶選擇“退出” return 0; } // 向電話簿添加聯(lián)系人的函數(shù)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("聯(lián)系人已創(chuàng)建!\n"); fclose(pfile); } // 查看電話簿中所有聯(lián)系人的函數(shù)void viewcontacts() { char filecontent[200]; FILE *pfile; pfile = fopen("phonebook.txt", "r"); while (fgets(filecontent, sizeof(filecontent), pfile)) { printf("\n%s", filecontent); } fclose(pfile); } // 從電話簿中刪除聯(lián)系人的函數(shù)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("聯(lián)系人已刪除。"); }</string.h></stdio.h></code>

Project Features

This program implements three core functions:

  1. Add a contact:
    • Allows users to enter their name and phone number.
    • Store contact information in a file named phonebook.txt .
  2. View contact:
    • Read and display all contact information stored in the phonebook.txt file.
  3. Delete a contact:
    • Delete the contact based on the name entered by the user.
    • Filter out deleted contacts by creating temporary files and replace the original files.

Learning gains

Through this exercise, I consolidated the following C language knowledge:

  1. File processing: Proficient in using fopen , fclose and other file operation functions, and handle the failure of file opening.
  2. String operation: Use functions such as strcmp and sscanf to compare and parse strings.
  3. Basic Data Management: Learn how to store and manage data in simple text files, and update file content by creating temporary files.

Code Testing

  1. Copy the code into a .c file (e.g. phonebook.c ) and compile with a C compiler (e.g. GCC):
 <code class="bash">gcc -o phonebook phonebook.c</code>
  1. Run the compiled program:
 <code class="bash">./phonebook</code>
  1. Follow the on-screen prompts to add, view, or delete contacts.
  2. Open the phonebook.txt file to verify that the data is stored correctly.

Future improvements

This program is a good start and the following improvements can be considered in the future:

  1. Enter Verification: Verify the validity of the phone number (for example, including only numbers) to prevent duplicate names.
  2. User interface improvement: Provides clearer prompts, allowing input of names containing multiple words (using fgets instead of scanf ).
  3. Enhanced file processing: Consider data encryption for improved security, using more structured file formats such as CSV or JSON.
  4. Advanced Features: Add search function to sort contacts alphabetically.

Summarize

This exercise helped me understand the C language file processing and basic data management in the basics. This is a simple but practical program that can serve as the basis for more complex projects. If you are a beginner in C language, you highly recommend giving it a try! This is an interesting and rewarding learning process.

The above is the detailed content of Exercise C: Building a simple phonebook application. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to avoid risks in the turmoil in the currency circle? The TOP3 stablecoin list is revealed How to avoid risks in the turmoil in the currency circle? The TOP3 stablecoin list is revealed Jul 08, 2025 pm 07:27 PM

Against the backdrop of violent fluctuations in the cryptocurrency market, investors' demand for asset preservation is becoming increasingly prominent. This article aims to answer how to effectively hedge risks in the turbulent currency circle. It will introduce in detail the concept of stablecoin, a core hedge tool, and provide a list of TOP3 stablecoins by analyzing the current highly recognized options in the market. The article will explain how to select and use these stablecoins according to their own needs, so as to better manage risks in an uncertain market environment.

Global stablecoin market value PK! Who is the gold substitute in the bear market Global stablecoin market value PK! Who is the gold substitute in the bear market Jul 08, 2025 pm 07:24 PM

This article will discuss the world's mainstream stablecoins and analyze which stablecoins have the risk aversion attribute of "gold substitute" in the market downward cycle (bear market). We will explain how to judge and choose a relatively stable value storage tool in a bear market by comparing the market value, endorsement mechanism, transparency, and comprehensively combining common views on the Internet, and explain this analysis process.

The popularity of the currency circle has returned, why do smart people have begun to quietly increase their positions? Look at the trend from the on-chain data and grasp the next round of wealth password! The popularity of the currency circle has returned, why do smart people have begun to quietly increase their positions? Look at the trend from the on-chain data and grasp the next round of wealth password! Jul 09, 2025 pm 08:30 PM

As the market conditions pick up, more and more smart investors have begun to quietly increase their positions in the currency circle. Many people are wondering what makes them take decisively when most people wait and see? This article will analyze current trends through on-chain data to help readers understand the logic of smart funds, so as to better grasp the next round of potential wealth growth opportunities.

Virtual Currency Stable Coins Ranking Which is the 'safe haven' in the currency circle Virtual Currency Stable Coins Ranking Which is the 'safe haven' in the currency circle Jul 08, 2025 pm 07:30 PM

This article will introduce several mainstream stablecoins and explain in depth how to evaluate the security of a stablecoin from multiple dimensions such as transparency and compliance, so as to help you understand which stablecoins are generally considered relatively reliable choices in the market, and learn how to judge their "hazard-haven" attributes on your own.

Bitcoin breaks new highs, Dogecoin rebounds strongly, will Ethereum keep up with the pace Bitcoin breaks new highs, Dogecoin rebounds strongly, will Ethereum keep up with the pace Jul 09, 2025 pm 08:24 PM

Recently, Bitcoin hit a new high, Dogecoin ushered in a strong rebound and the market was hot. Next, we will analyze the market drivers and technical aspects to determine whether Ethereum still has opportunities to follow the rise.

80% of license application loopholes that the platform does not know about. Compliance experts teach you how to use the 'curve approved' strategy 80% of license application loopholes that the platform does not know about. Compliance experts teach you how to use the 'curve approved' strategy Jul 08, 2025 pm 07:33 PM

Under the current severe regulatory environment, the difficulty of directly applying for a specific business license is increasing day by day, and the success rate is not ideal. Many platforms have therefore fallen into development bottlenecks. This article will analyze in detail an efficient "curve approval" strategy, aiming to help you understand how to obtain the required license through indirect compliance. This article will explain its operational process and core points in steps, providing you with a feasible compliance path.

What are the types of stablecoins? What are the stablecoins in digital currency? What are the types of stablecoins? What are the stablecoins in digital currency? Jul 08, 2025 pm 11:51 PM

Stable coins maintain price stability by anchoring fiat currencies such as the US dollar, which are mainly divided into three categories: 1. Fiat currency collateralization types such as USDT and USDC; 2. Cryptocurrency collateralization types such as DAI; 3. Algorithm types have higher risks. Mainstream stablecoins include USDT with the highest market value and the best liquidity. USDC is known for its compliance and transparency. DAI relies on the decentralized mechanism. TUSD adopts on-chain real-time audit. BUSD is gradually withdrawing from the market due to supervision. USDP is known for its high compliance and security. Both are widely circulated on mainstream exchanges.

What are the mainstream public chains of cryptocurrencies? The top ten rankings of cryptocurrency mainstream public chains in 2025 What are the mainstream public chains of cryptocurrencies? The top ten rankings of cryptocurrency mainstream public chains in 2025 Jul 10, 2025 pm 08:21 PM

The pattern in the public chain field shows a trend of "one super, many strong ones, and a hundred flowers blooming". Ethereum is still leading with its ecological moat, while Solana, Avalanche and others are challenging performance. Meanwhile, Polkadot, Cosmos, which focuses on interoperability, and Chainlink, which is a critical infrastructure, form a future picture of multiple chains coexisting. For users and developers, choosing which platform is no longer a single choice, but requires a trade-off between performance, cost, security and ecological maturity based on specific needs.

See all articles