Latihan C: Membina Aplikasi Buku Telefon Ringkas
Apr 03, 2025 pm 08:15 PMSalah satu cara terbaik untuk mempelajari pengaturcaraan bahasa C adalah untuk mengamalkannya. Artikel ini akan membawa anda melangkah melalui projek yang baru -baru ini saya selesai: Aplikasi Buku Telefon Mudah. Aplikasi ini menunjukkan pemprosesan fail dan pengurusan data asas di C, membolehkan anda menambah, melihat, dan memadam kenalan.
Penjelasan kod terperinci
Inilah kod lengkap:
<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)建一個(gè)新聯(lián)系人:\n"); printf("請(qǐng)輸入聯(lián)系人的姓名:\n"); scanf("%s", name); printf("現(xiàn)在輸入電話號(hào)碼:\n"); scanf("%s", number); addcontact(name, number); break; case 2: // 查看電話簿printf("這是您的電話簿:\n"); viewcontacts(); break; case 3: // 刪除聯(lián)系人printf("請(qǐng)輸入要?jiǎng)h除的聯(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>
Ciri -ciri projek
Program ini melaksanakan tiga fungsi teras:
- Tambahkan kenalan:
- Membolehkan pengguna memasukkan nama dan nombor telefon mereka.
- Simpan maklumat hubungan dalam fail bernama
phonebook.txt
.
- Lihat Hubungi:
- Baca dan paparkan semua maklumat hubungan yang disimpan dalam fail
phonebook.txt
.
- Baca dan paparkan semua maklumat hubungan yang disimpan dalam fail
- Padam kenalan:
- Padam kenalan berdasarkan nama yang dimasukkan oleh pengguna.
- Tapis kenalan yang dipadam dengan membuat fail sementara dan gantikan fail asal.
Keuntungan pembelajaran
Melalui latihan ini, saya menyatukan pengetahuan bahasa C berikut:
- Pemprosesan Fail: Mahir dalam menggunakan fungsi operasi
fopen
,fclose
dan lain -lain, dan mengendalikan kegagalan pembukaan fail. - Operasi String: Gunakan fungsi seperti
strcmp
dansscanf
untuk membandingkan dan menghuraikan rentetan. - Pengurusan Data Asas: Ketahui cara menyimpan dan menguruskan data dalam fail teks mudah, dan kemas kini kandungan fail dengan membuat fail sementara.
Ujian kod
- Salin kod ke dalam fail
.c
(mis.phonebook.c
) dan disusun dengan pengkompil C (mis. GCC):
<code class="bash">gcc -o phonebook phonebook.c</code>
- Jalankan program yang disusun:
<code class="bash">./phonebook</code>
- Ikuti arahan pada skrin untuk menambah, melihat, atau memadam kenalan.
- Buka fail
phonebook.txt
untuk mengesahkan bahawa data disimpan dengan betul.
Penambahbaikan masa depan
Program ini adalah permulaan yang baik dan penambahbaikan berikut boleh dipertimbangkan pada masa akan datang:
- Masukkan pengesahan: Sahkan kesahihan nombor telefon (contohnya, termasuk nombor sahaja) untuk mengelakkan nama pendua.
- Penambahbaikan Antara Muka Pengguna: Menyediakan arahan yang lebih jelas, yang membolehkan input nama yang mengandungi pelbagai perkataan (menggunakan
fgets
bukanscanf
). - Pemprosesan fail yang dipertingkatkan: Pertimbangkan penyulitan data untuk keselamatan yang lebih baik, menggunakan format fail yang lebih berstruktur seperti CSV atau JSON.
- Ciri -ciri Lanjutan: Tambah fungsi carian untuk menyusun kenalan mengikut abjad.
Meringkaskan
Latihan ini membantu saya memahami pemprosesan fail bahasa C dan pengurusan data asas dalam asas -asas. Ini adalah program yang mudah tetapi praktikal yang boleh menjadi asas untuk projek yang lebih kompleks. Jika anda seorang pemula dalam bahasa C, anda sangat mengesyorkan mencubanya! Ini adalah proses pembelajaran yang menarik dan bermanfaat.
Atas ialah kandungan terperinci Latihan C: Membina Aplikasi Buku Telefon Ringkas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apabila keadaan pasaran meningkat, lebih banyak pelabur pintar telah mula secara senyap -senyap meningkatkan kedudukan mereka dalam bulatan mata wang. Ramai orang tertanya -tanya apa yang membuat mereka mengambil tegas apabila kebanyakan orang menunggu dan melihat? Artikel ini akan menganalisis trend semasa melalui data rantaian untuk membantu pembaca memahami logik dana pintar, untuk lebih memahami pusingan seterusnya peluang pertumbuhan kekayaan yang berpotensi.

Baru -baru ini, Bitcoin melanda tinggi baru, Dogecoin mengantar pemulihan yang kuat dan pasaran panas. Seterusnya, kami akan menganalisis pemandu pasaran dan aspek teknikal untuk menentukan sama ada Ethereum masih mempunyai peluang untuk mengikuti kenaikan.

Corak dalam bidang rantaian awam menunjukkan trend "satu super, banyak yang kuat, dan seratus bunga mekar". Ethereum masih mengetuai parit ekologi, manakala Solana, Avalanche dan lain -lain adalah prestasi yang mencabar. Sementara itu, Polkadot, Cosmos, yang memberi tumpuan kepada interoperabilitas, dan Chainlink, yang merupakan infrastruktur kritikal, membentuk gambaran masa depan pelbagai rantai yang wujud bersama. Bagi pengguna dan pemaju, memilih platform mana yang tidak lagi menjadi satu pilihan, tetapi memerlukan perdagangan antara prestasi, kos, keselamatan dan kematangan ekologi berdasarkan keperluan khusus.

Peningkatan Alonzo Hard Fork Cardano telah berjaya mengubah Cardano dari rangkaian pemindahan nilai ke platform kontrak pintar yang berfungsi sepenuhnya dengan memperkenalkan platform kontrak pintar Plutus. 1. Plutus didasarkan pada bahasa Haskell, dengan fungsi yang kuat, keselamatan yang dipertingkatkan dan model kos yang boleh diramal; 2. Selepas peningkatan, penggunaan DAPPS dipercepatkan, komuniti pemaju diperluaskan, dan ekosistem DEFI dan NFT berkembang pesat; 3. Melihat ke depan untuk 2025, ekosistem Cardano akan menjadi lebih matang dan pelbagai. Digabungkan dengan peningkatan skalabilitas dalam era Basho, peningkatan interoperabilitas rantaian silang, evolusi tadbir urus yang terdesentralisasi dalam era Voltaire, dan promosi pengangkatan arus perdana oleh aplikasi peringkat perusahaan, Cardano telah

Lingkaran mata wang nampaknya mempunyai ambang yang rendah, tetapi sebenarnya ia menyembunyikan banyak istilah dan logik yang kompleks. Ramai orang baru "tergesa -gesa ke pasaran" dalam kekeliruan dan akhirnya kehilangan wang. Artikel ini akan memberikan penjelasan yang komprehensif mengenai istilah umum dalam bulatan mata wang, logik operasi pembuat wang sebenar, dan strategi kawalan risiko praktikal untuk membantu pembaca menjelaskan idea mereka dan mengurangkan risiko pelaburan.

StableCoins adalah aset crypto yang mengekalkan kestabilan harga dengan menambat mata wang fiat seperti dolar AS. Mereka terutamanya dibahagikan kepada tiga kategori: cagaran mata wang fiat, cagaran aset crypto dan stablecoins algoritma. 1. USDT dikeluarkan oleh Tether dan merupakan stablecoin dengan nilai pasaran terbesar dan kecairan tertinggi. 2. USDC dikeluarkan oleh Perikatan Pusat yang dilancarkan oleh Circle dan Coinbase, dan terkenal dengan ketelusan dan pematuhannya. 3. 4. BUSD dilancarkan dengan kerjasama Paxos, dan dikawal oleh Amerika Syarikat tetapi telah dihentikan. 5. TUSD mencapai pengesahan rizab ketelusan yang tinggi melalui akaun escrow pihak ketiga. Pengguna boleh menggunakan pertukaran berpusat seperti Binance, Ouyi, dan Huobi

20 aset crypto yang paling menjanjikan pada tahun 2025 termasuk BTC, ETH, SOL, dan lain -lain, terutamanya meliputi pelbagai trek seperti rantai awam, lapisan 2, AI, defi dan permainan. 1.BTC terus memimpin pasaran dengan sifat logam kuning digital dan populasi ETF; 2.Dera menyatukan ekosistem kerana status dan peningkatan platform kontrak pintar; 3.Sol menonjol dengan rantaian awam yang berprestasi tinggi dan komuniti pemaju; 4. Link adalah pemimpin dalam Oracle yang menyambungkan data sebenar; 5.RNDR membina keperluan perkhidmatan rangkaian GPU yang terdesentralisasi; 6.imx memberi tumpuan kepada permainan Web3 untuk menyediakan persekitaran bebas gas sifar; 7.Arb membawa dengan teknologi Layer 2 yang matang dan ekosistem defi yang besar; 8.Matic telah menjadi lapisan nilai Ethereum melalui evolusi pelbagai rantai

Baru -baru ini, perbincangan dalam bidang aset digital tetap panas. Dogecoin Doge, sebagai salah satu tumpuan yang paling popular, telah menjadi persoalan yang banyak diterokai oleh ramai orang. Di manakah ia "menetap"? Apakah hubungan dengan platform perdagangan terkemuka semasa, Binance? Untuk menjawab soalan-soalan ini, kita perlu menjalankan analisis mendalam dari dua dimensi logik teknikal yang mendasari aset digital dan ekologi platform, bukan hanya tinggal dalam penampilan.
