Exercice C: Construire une application de répertoire simple
L'une des meilleures façons d'apprendre la programmation du langage C est de la pratiquer. Cet article vous fera un pas dans un projet que j'ai récemment terminé: une application de l'annuaire téléphonique simple. Cette application démontre le traitement des fichiers et la gestion des données de base en C, vous permettant d'ajouter, d'afficher et de supprimer les contacts.
Explication du code détaillé
Voici le code complet:
<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>
Caractéristiques du projet
Ce programme implémente trois fonctions principales:
- Ajouter un contact:
- Permet aux utilisateurs de saisir leur nom et leur numéro de téléphone.
- Stockez les coordonnées dans un fichier nommé
phonebook.txt
.
- Afficher le contact:
- Lisez et affichez toutes les informations de contact stockées dans le fichier
phonebook.txt
.
- Lisez et affichez toutes les informations de contact stockées dans le fichier
- Supprimer un contact:
- Supprimez le contact en fonction du nom saisi par l'utilisateur.
- Filtrez les contacts supprimés en créant des fichiers temporaires et remplacez les fichiers d'origine.
Gains d'apprentissage
Grâce à cet exercice, j'ai consolidé les connaissances du langage C suivant:
- Traitement de fichiers: compétent dans l'utilisation des fonctions
fopen
,fclose
et d'autres fichiers et gérer la défaillance de l'ouverture du fichier. - Fonctionnement de la chaîne: utilisez des fonctions telles que
strcmp
etsscanf
pour comparer et analyser les chaînes. - Gestion de base des données: apprenez à stocker et à gérer les données dans des fichiers texte simples et à mettre à jour le contenu des fichiers en créant des fichiers temporaires.
Tests de code
- Copiez le code dans un fichier
.c
(par exemplephonebook.c
) et compilez avec un compilateur C (par exemple GCC):
<code class="bash">gcc -o phonebook phonebook.c</code>
- Exécutez le programme compilé:
<code class="bash">./phonebook</code>
- Suivez les invites à l'écran pour ajouter, afficher ou supprimer les contacts.
- Ouvrez le fichier
phonebook.txt
pour vérifier que les données sont stockées correctement.
Améliorations futures
Ce programme est un bon début et les améliorations suivantes peuvent être prises en compte à l'avenir:
- Entrez la vérification: vérifiez la validité du numéro de téléphone (par exemple, y compris les numéros uniquement) pour éviter les noms en double.
- Amélioration de l'interface utilisateur: fournit des invites plus claires, permettant une entrée de noms contenant plusieurs mots (en utilisant
fgets
au lieu descanf
). - Traitement de fichiers amélioré: considérez le chiffrement des données pour une sécurité améliorée, en utilisant des formats de fichiers plus structurés tels que CSV ou JSON.
- Fonctionnalités avancées: Ajoutez une fonction de recherche pour trier les contacts par ordre alphabétique.
Résumer
Cet exercice m'a aidé à comprendre le traitement des fichiers du langage C et la gestion des données de base dans les bases. Il s'agit d'un programme simple mais pratique qui peut servir de base à des projets plus complexes. Si vous êtes un débutant en C, vous recommandez fortement de l'essayer! Il s'agit d'un processus d'apprentissage intéressant et enrichissant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Dans le domaine du trading des crypto-monnaies, la sécurité des échanges a toujours été au centre des utilisateurs. En 2025, après des années de développement et d'évolution, certains échanges se distinguent avec leurs mesures de sécurité exceptionnelles et leur expérience utilisateur. Cet article présentera les cinq échanges les plus sécurisés en 2025 et fournira des guides pratiques sur la façon d'éviter les utilisateurs de Black U (Hacker Attacks) pour s'assurer que vos fonds sont à 100% sécurisés.

Le trading à effet de levier de contrat est une méthode de négociation commune dans le cercle des devises, qui permet aux traders de négocier des montants plus importants avec moins de fonds. En utilisant l'effet de levier, les commerçants peuvent amplifier leur potentiel de profit, mais également augmenter les risques. L'effet de levier est généralement exprimé en multiples, par exemple, 10 fois l'effet de levier signifie que vous pouvez échanger 10 contrats Bitcoin avec une marge de 1 Bitcoin.

Profil de marché actuel d'Ethereum et stratégie de trading à court terme

Dans le compositeur, l'IA améliore principalement l'efficacité du développement et la qualité du code grâce à la recommandation de dépendance, à la résolution des conflits de dépendance et à l'amélioration de la qualité du code. 1. L'IA peut recommander des forfaits de dépendance appropriés en fonction des besoins du projet. 2. L'IA fournit des solutions intelligentes pour faire face aux conflits de dépendance. 3. L'IA examine le code et fournit des suggestions d'optimisation pour améliorer la qualité du code. Grâce à ces fonctions, les développeurs peuvent se concentrer davantage sur la mise en œuvre de la logique commerciale.

Sur les marchés des crypto-monnaies, les altcoins sont souvent considérés par les investisseurs comme des actifs potentiellement élevés. Bien qu'il existe de nombreux altcoins sur le marché, tous les altcoins ne peuvent pas apporter les avantages attendus. Cet article fournira un guide détaillé pour les investisseurs une fondation zéro, introduisant les 5 Altcoins qui méritent d'être thésaurisés en 2025 et expliquant comment atteindre l'objectif de réaliser un bénéfice stable 50X grâce à ces investissements.

Classement des dix premiers échanges de crypto-monnaie dans le cercle des devises: 1. Binance: diriger le monde, offrant un échange efficace et une variété de produits financiers. 2. OKX: Il est innovant et diversifié, soutenant une variété de types de transactions. 3. Huobi: stable et fiable, avec service de haute qualité. 4. Coinbase: Soyez amical pour les débutants et une interface simple. 5. Kraken: le premier choix pour les commerçants professionnels, avec des outils puissants. 6. Bitfinex: trading efficace, paires de trading riches. 7. Bittrex: conformité à la sécurité, coopération réglementaire. 8. Poloniex et ainsi de suite.

En tant que principale plateforme de trading d'actifs numériques au monde, Yiouk Exchange a attiré l'attention et l'utilisation d'un grand nombre d'utilisateurs avec son expérience de trading sûre et pratique. En particulier, sa dernière version Android V6.118.2 a encore optimisé l'interface et les fonctions utilisateur, et amélioré l'efficacité et la sécurité des transactions. Pour aider tout le monde à vivre cette dernière version rapidement,

Ce qui suit est le classement complet faisant autorité de l'application mondiale d'échange de devises numériques en 2025, qui est compilée en fonction des données multidimensionnelles telles que le volume des transactions, la sécurité, la conformité et l'expérience utilisateur pour vous aider à saisir avec précision les tendances du marché:
