Übung C: Erstellen einer einfachen Telefonbuchanwendung
Eine der besten Möglichkeiten, die C-Programmierung zu erlernen, sind praktische Übungen. Dieser Artikel führt Sie Schritt für Schritt durch ein Projekt, das ich kürzlich abgeschlossen habe: die Erstellung einer einfachen Telefonbuchanwendung. Mit diesem Programm können Sie Kontakte hinzufügen, anzeigen und löschen und demonstrieren die Dateiverwaltung und grundlegende Datenverwaltung in C.
Detaillierte Code-Erklärung
Hier ist der vollständige Code für die Telefonbuchanwendung:
#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("联系人已删除。"); }
Programmfunktionen
Dieses Programm implementiert drei Schlüsselfunktionen:
-
Kontakt hinzufügen:
- Erlauben Sie Benutzern, Namen und Telefonnummer einzugeben.
- Speichern Sie Kontakte in einer Datei namens Phonebook.txt.
-
Kontakt anzeigen:
- Alle in Phonebook.txt gespeicherten Kontakte lesen und anzeigen.
-
Kontakt löschen:
- Löschen Sie Kontakte basierend auf dem vom Benutzer eingegebenen Namen.
- Erstellen Sie eine temporäre Datei, um gelöschte Kontakte herauszufiltern, und ersetzen Sie dann die Originaldatei.
Wichtige Erkenntnisse aus dieser Übung
-
Dateiverarbeitung in C-Sprache:
- Verwenden Sie die Funktionen fopen, fclose und Dateioperationen.
- Behandeln Sie Fehler, wenn eine Datei nicht geöffnet oder nicht aufgerufen werden kann.
-
String-Verarbeitung:
- Verwenden Sie Funktionen wie strcmp und sscanf zum Vergleichen und Parsen von Zeichenfolgen.
-
Grundlegende Datenverwaltung:
- Speichern und organisieren Sie Daten in einfachen Textdateien.
- Ersetzen oder aktualisieren Sie Dateiinhalte, indem Sie temporäre Dateien erstellen.
So testen Sie Code
- Kopieren Sie den Code in eine .c-Datei und kompilieren Sie ihn mit einem C-Compiler (z. B. gcc):
gcc -o phonebook phonebook.c
- Führen Sie das kompilierte Programm aus:
./phonebook
- Folgen Sie den Anweisungen auf dem Bildschirm, um Kontakte hinzuzufügen, anzuzeigen oder zu löschen.
- Öffnen Sie Phonebook.txt, um zu überprüfen, ob die Daten wie erwartet gespeichert werden.
Mögliche Verbesserungen
Dieses Programm ist ein guter Ausgangspunkt, aber hier sind einige Verbesserungen, die Sie ausprobieren können:
-
Eingabeverifizierung:
- Stellen Sie sicher, dass die Telefonnummer gültig ist (d. h. nur numerische Zeichen).
- Verhindern Sie, dass doppelte Namen im Telefonbuch angezeigt werden.
-
Verbesserte Benutzeroberfläche:
- Geben Sie detailliertere Anweisungen.
- Die Verwendung von fgets anstelle von scanf ermöglicht die Verwendung von Namen mit mehreren Wörtern.
-
Verbesserte Dateiverwaltung:
- Daten aus Sicherheitsgründen verschlüsseln.
- Verwenden Sie ein strukturiertes Format (z. B. CSV oder JSON).
-
Erweiterte Funktionen:
- Implementieren Sie eine Suchfunktion, um Kontakte schnell zu finden.
- Telefonbuch alphabetisch sortieren.
Zusammenfassung
Diese Übung hat mir geholfen, mein Verständnis der Dateiverarbeitung und der grundlegenden Datenverwaltung in C-Sprache zu stärken. Es ist ein einfaches, aber praktisches Programm, das als Baustein für komplexere Projekte dienen kann. Wenn Sie C-Neuling sind, probieren Sie es aus – es ist eine unterhaltsame und lohnende Art, das Programmieren zu üben!
Das obige ist der detaillierte Inhalt vonÜbung C: Erstellen einer einfachen Telefonbuchanwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Die Geschichte und Entwicklung von C# und C sind einzigartig, und auch die Zukunftsaussichten sind unterschiedlich. 1.C wurde 1983 von Bjarnestrustrup erfunden, um eine objektorientierte Programmierung in die C-Sprache einzuführen. Sein Evolutionsprozess umfasst mehrere Standardisierungen, z. B. C 11 Einführung von Auto-Keywords und Lambda-Ausdrücken, C 20 Einführung von Konzepten und Coroutinen und sich in Zukunft auf Leistung und Programme auf Systemebene konzentrieren. 2.C# wurde von Microsoft im Jahr 2000 veröffentlicht. Durch die Kombination der Vorteile von C und Java konzentriert sich seine Entwicklung auf Einfachheit und Produktivität. Zum Beispiel führte C#2.0 Generics und C#5.0 ein, die eine asynchrone Programmierung eingeführt haben, die sich in Zukunft auf die Produktivität und das Cloud -Computing der Entwickler konzentrieren.

Die zukünftigen Entwicklungstrends von C und XML sind: 1) C werden neue Funktionen wie Module, Konzepte und Coroutinen in den Standards C 20 und C 23 einführen, um die Programmierungseffizienz und -sicherheit zu verbessern. 2) XML nimmt weiterhin eine wichtige Position in den Datenaustausch- und Konfigurationsdateien ein, steht jedoch vor den Herausforderungen von JSON und YAML und entwickelt sich in einer prägnanteren und einfacheren Analyse wie die Verbesserungen von XMLSchema1.1 und XPATH3.1.

C Gründe für die kontinuierliche Verwendung sind seine hohe Leistung, breite Anwendung und sich weiterentwickelnde Eigenschaften. 1) Leistung mit hoher Effizienz. 2) weit verbreitete: Glanz in den Feldern der Spieleentwicklung, eingebettete Systeme usw. 3) Kontinuierliche Entwicklung: Seit seiner Veröffentlichung im Jahr 1983 hat C weiterhin neue Funktionen hinzugefügt, um seine Wettbewerbsfähigkeit aufrechtzuerhalten.

Es gibt signifikante Unterschiede in den Lernkurven von C# und C- und Entwicklererfahrung. 1) Die Lernkurve von C# ist relativ flach und für rasche Entwicklung und Anwendungen auf Unternehmensebene geeignet. 2) Die Lernkurve von C ist steil und für Steuerszenarien mit hoher Leistung und niedrigem Level geeignet.

C interagiert mit XML über Bibliotheken von Drittanbietern (wie Tinyxml, Pugixml, Xerces-C). 1) Verwenden Sie die Bibliothek, um XML-Dateien zu analysieren und in C-verarbeitbare Datenstrukturen umzuwandeln. 2) Konvertieren Sie beim Generieren von XML die C -Datenstruktur in das XML -Format. 3) In praktischen Anwendungen wird XML häufig für Konfigurationsdateien und Datenaustausch verwendet, um die Entwicklungseffizienz zu verbessern.

Das moderne C -Designmodell verwendet neue Funktionen von C 11 und darüber hinaus, um flexiblere und effizientere Software aufzubauen. 1) Verwenden Sie Lambda -Ausdrücke und STD :: Funktion, um das Beobachtermuster zu vereinfachen. 2) Die Leistung durch mobile Semantik und perfekte Weiterleitung optimieren. 3) Intelligente Zeiger gewährleisten die Sicherheit und das Management von Ressourcen.

C -Lernende und Entwickler können Ressourcen und Unterstützung von Stackoverflow, Reddits R/CPP -Community, Coursera und EDX -Kursen, Open -Source -Projekten zu Github, professionellen Beratungsdiensten und CPPCON erhalten. 1. Stackoverflow gibt Antworten auf technische Fragen. 2. Die R/CPP -Community von Reddit teilt die neuesten Nachrichten; 3.. Coursera und EDX bieten formelle C -Kurse; 4. Open Source -Projekte auf Github wie LLVM und Boost verbessern die Fähigkeiten; 5. Professionelle Beratungsdienste wie Jetbrains und Perforce bieten technische Unterstützung; 6. CPPCON und andere Konferenzen helfen Karrieren

C hat immer noch wichtige Relevanz für die moderne Programmierung. 1) Hochleistungs- und direkte Hardware-Betriebsfunktionen machen es zur ersten Wahl in den Bereichen Spieleentwicklung, eingebettete Systeme und Hochleistungs-Computing. 2) Reiche Programmierparadigmen und moderne Funktionen wie Smart -Zeiger und Vorlagenprogrammierung verbessern seine Flexibilität und Effizienz. Obwohl die Lernkurve steil ist, machen sie im heutigen Programmierökosystem immer noch wichtig.
