學習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("联系人已删除。"); }</code>
此程式實現了三個關鍵功能:
新增聯絡人:
查看聯絡人:
刪除聯絡人:
C語言中的文件處理:
字串處理:
基本資料管理:
<code class="language-bash">gcc -o phonebook phonebook.c</code>
<code class="language-bash">./phonebook</code>
此程式是一個很好的起點,但以下是您可以嘗試的一些改進:
輸入驗證:
改進的使用者介面:
增強的文件處理:
進階功能:
這個練習幫助我加強了對C語言中文件處理和基本資料管理的理解。它是一個簡單而實用的程序,可以作為更複雜項目的基石。如果您是C語言新手,請嘗試一下—這是一個有趣且有益的程式設計練習方式!
以上是練習 C:建立一個簡單的電話簿應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!