⑴ 誰有用c語言編寫一個能有保存功能的通訊錄
額。。。。我之前是給我同學他們寫的管理系統帶保存功能。。。就是每次保存都是寫到一個文件裡面而已。。。每次程序運行在讀那個文件讀出來而已……
⑵ 用c語言對以下通訊錄用順序表來實現儲存
#include<stdio.h>
typedefstruct
{
intxh;
charxm[10];
chartel[12];
}STU;
typedefSTUElemType;
typedefstruct
{
ElemTypedata[10];
intlength;
}SqList;
intmain()
{
SqListl={{{178101,"楊文","13788041567"},{178102,"張江","13478920019"},{178103,"李華","15077402345"},{178104,"黃麗","15867748903"},{178105,"劉寧","18977410656"}},5};
inti;
printf("學號 姓名 手機號碼 ");
for(i=0;i<l.length;i++)
{
printf("%d %s %s ",l.data[i].xh,l.data[i].xm,l.data[i].tel);
}
return0;
}
⑶ 我用C語言編的通訊錄程序,怎樣才能實現保存輸入的數據的功能
親,(fp=fopen("f:\\1.txt","r")),r 只允許進行「讀」操作。改成「wb+」試試
⑷ 用c語言編寫一個通訊錄程序,數組保存
1、 用結構體數組編程實現一個通訊錄程序,本通訊錄最多容納5人;通訊錄文件為AddressBook.dat;
2、 本通訊錄程序實現以下功能:
a) 增加記錄:本功能模塊是將一個人的信息輸入到通訊錄中;當通訊錄中信息達到5人時提示「此通信錄中已有5人的信息,無法再添加!」;增加記錄時輸入人名和此人的電話後,要先判斷通信錄中是否有此人,如有提示「此通信錄中已經有此人的信息,無法再添加!」,否則,添加後提示「目前通訊錄中查無此人,增加記錄成功!」。
b) 顯示記錄:本功能模塊是將通訊錄中每個人的信息都顯示到電腦屏幕上;如果通訊錄為空,提示「目前通訊錄為空,沒有任何人的信息可顯示!」。
c) 刪除記錄:本功能模塊是將某個人的信息從通訊錄中刪除;請根據輸入的人名來刪除記錄;如果通訊錄在刪除前已經為空,則提示「目前通訊錄為空,沒有任何人的信息可刪除!」;如果通訊錄雖然不為空,但沒有此人,則提示「通訊錄中沒有此人,無法刪除!」;如果通訊錄不為空且有此人信息,刪除成功後提示「通訊錄中此人的信息已成功刪除!」
d) 保存記錄:本功能模塊是將所有變更的信息寫入通訊錄文件中;首先判斷以寫方式打開文件AddressBook.dat是否成功,如果不成功則提示「打開文件失敗」,如果打開成功,但沒有任何信息需要保存到通信錄中(即通信錄為空),則提示「目前通訊錄為空,沒有任何人的信息需存儲!」,如果文件打開成功,且有數據需要保存,則在保存文件成功後提示「保存文件成功!」,保存文件失敗時提示「保存文件失敗!」;
e) 查詢記錄:本功能模塊是在通訊錄中查詢是否有某個人的信息;請根據輸入的人名來查詢記錄;如果有此人,則顯示此人的信息;否則提示「目前通訊錄中查無此人!」;
f) 修改記錄:本功能模塊是在通訊錄中修改某個人的信息;請根據輸入的人名來修改記錄;如果通信錄為空,則提示「目前通訊錄為空,沒有任何人的信息可修改!」;如果通訊錄中查無此人,則提示「通訊錄中找不到此人,無法修改!」,否則提示「請輸入此人最新的信息」後開始輸入此人的新的姓名和電話號碼,再次提示「現修改為的信息如下:Name:XXXX----Tel:XXXX」,並替換此人以前的信息,最後提示「修改成功」;
g) 退出系統:本功能模塊是用來退出本程序的;退出之前需要根據操作提示是否「存檔」;當執行了「增加記錄」、「刪除記錄」,「修改記錄」功能後但沒有執行「保存記錄」功能時需要提示「通信錄中信息有修改,是否存檔?(Y/N)」。存檔後退出前顯示通信錄中的所有信息,再提示「歡迎使用,謝謝!再見!」;
3、 通訊錄中每個人的信息包含姓名、電話號碼兩部分組成,可用以下結構體類型定義:
struct address_info
{ char name[20];
char tel[20];
};
4、 程序開始執行時,要首先確認磁碟上是否有此文件。如果有,首先要將文件中的內容讀出,放到結構體數組中,並對結構體數組沒有使用的元素初始化,如果通訊錄中已有5人,則提示「通訊錄已滿」。如果沒有,則需結構體數組全部初始化;並要在執行「保存記錄」功能時創建此文件
5、 提示:定義一個全局數組struct address_info addrinfo[5];來存儲最多5個人的信息。定義一個全局整型變數Maxindex保存上面數組目前使用的最大下標;定義一個全局整型變數ischange來跟蹤記錄通訊錄中內容是否變化過,以便存檔提示。
⑸ 設計一個通訊錄C語言程序中,怎樣設計將新建的聯系人保存起來
通訊錄直接寫入文件就好 ,這是練習程序吧,直接調用 fopen、fread、fwrite之類的函數,對文件操作就行了!
⑹ 求用c語言編譯的 通訊錄 (命令行界面數組保存 )
我來了 幫你完成
⑺ c語言中通訊錄編程中如何保存輸入值
用文件做就可以。
例如:
struct address a;
//此處加幾條代碼,給a賦值
fp=fopen("file.txt","w");//以寫方式打開文件
fwrite(&a,sizeof(struct address),1,fp);//把變數a中的值存儲到文件file中去
fclose(fp);
這只是舉個例子,比較粗糙,你自己完善。
⑻ C語言通訊錄怎麼保存文件並且再次打開時能顯示儲存的數據
// 顯示文件的數據:
// mon 1001: $1.20 0
// tue 1002: $2.30 0
// wed 1003: $3.40 0
// thu 1004: $4.50 0
// fri 1005: $5.60 0
// 請輸入查詢卡號: 1003
// 測試---開始
// wed 1003: $3.40 1
// 測試---結果
//
// 顯示文件的數據:
// mon 1001: $1.20 0
// tue 1002: $2.30 0
// wed 1003: $3.40 1
// thu 1004: $4.50 0
// fri 1005: $5.60 0
#include
#include
#include
struct arm
{
char name[11];
char num_car[11];
float value;
int state;
};
struct arm num[100]; //暫時沒有用到
void loss_card(void)
{
struct arm oneItem;
char infor[11];
//原代碼int a;
int ret; //函數fread()的返回值
int size = sizeof(struct arm);
FILE *pcard;
//原代碼if ((pcard = fopen("book.dat", "a+b")) == NULL)
// rb+ 讀寫打開一個二進制文件,允許讀寫數據(可以任意修改),文件必須存在.
if ((pcard = fopen("book.dat", "rb+")) == NULL)
{
fputs("無法打開book.dat文件\n", stderr);
exit(1);
}
//原代碼while (getchar() != '\n');
//原代碼printf("請輸入查詢卡號:\n");
//原代碼s_gets(infor, 11);
printf("請輸入查詢卡號:");
fflush(stdin); //清空輸入緩存,吸收掉回車符(有的編譯器不適用)
gets(infor);
printf("測試---開始\n");
//原代碼for (a = 0; fread(&num[a], size, 1, pcard); a++)
while(!feof(pcard)) //沒有到達文件的結尾
{
ret=fread(&oneItem, size, 1, pcard);
if(ret==1)
{
if (strncmp(infor, oneItem.num_car, 10) == 0)
{
if(oneItem.state == 0)
{
oneItem.state = 1;
printf("%s %s: $%.2f %d\n", oneItem.name, oneItem.num_car,
oneItem.value, oneItem.state);
}
else
{
printf("該賬戶已掛失。");
}
//把文件指針移動到離文件當前位置的-size的地方,也就是退回1個size
//常數SEEK_CUR表示當前位置
fseek(pcard,-size,SEEK_CUR);
fwrite(&oneItem, size, 1, pcard); //寫入新數據
//只需找到一個,寫入新數據後就退出,如果繼續循環,會異常
break;
}
}
}
//原代碼fwrite(&num[a], size, 1, pcard);
printf("測試---結束\n");
fclose(pcard);
}
void testWrite() //測試:寫入文件
{
struct arm test[5]={{"mon","1001",1.2,0},{"tue","1002",2.3,0},
{"wed","1003",3.4,0},{"thu","1004",4.5,0},
{"fri","1005",5.6,0}};
FILE *pcard;
int size = sizeof(struct arm);
int a;
// wb 只寫打開或建立一個二進制文件,只允許寫數據
pcard = fopen("book.dat", "wb");
if (pcard == NULL)
{
fputs("無法打開book.dat文件\n", stderr);
exit(1);
}
for(a=0;a<5;a++)
{
fwrite(&test[a], size, 1, pcard);
}
fclose(pcard);
}
void testRead() //測試:讀取文件
{
struct arm oneItem;
FILE *pcard;
int size = sizeof(struct arm);
int ret;
// rb 只讀打開一個二進制文件,只允許讀數據
pcard = fopen("book.dat", "rb");
if (pcard == NULL)
{
fputs("無法打開book.dat文件\n", stderr);
exit(1);
}
printf("\n顯示文件的數據:\n");
while(!feof(pcard)) //沒有到達文件的結尾
{
ret=fread(&oneItem, size, 1, pcard);
if(ret==1)
{
printf("%s %s: $%.2f %d\n", oneItem.name, oneItem.num_car,
oneItem.value, oneItem.state);
}
}
fclose(pcard);
}
int main()
{
testWrite(); //測試:寫入文件
testRead(); //測試:讀取文件
loss_card();
testRead(); //測試:讀取文件
return 0;
}
⑼ c語言通訊錄編寫
靠山山倒,靠樹樹倒,靠自己最好!
自己寫吧,一個
結構體{
姓名;
性別;
年齡;
手機;
}
如果不會用鏈表,那你就用數組!
錄入:就是往數組里寫入數據
刪除:就清為0就可以了唄
查詢:就是從數組的第一項到保存數查找一遍嘍。
大哥
,你是在做課程設計吧?計科的?
傷不起!!!!!!
⑽ 用C語言編程通訊錄如何將信息儲存
定義一個文件指針啊!給你說個例子
#include
"stdio.h"
void
main()
{
FILE
*fq;
if(fq=fopen("c:\\123.bat","w「))//bat文件的完全路徑,並自動創建文件!w
是寫入的意思
{
printf
(fq,"輸出並保存」);}
//加fq,是指明要寫入
else
printf
("沒有開打文件");
}
}