當前位置:編程學習大全網 - 源碼下載 - 網站註冊登錄源代碼

網站註冊登錄源代碼

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

# include & ltstring.h & gt

# include & ltmalloc.h & gt

結構學生

{

int num

char name[20];

char tel[20];

結構學生*下壹個;

};

struct student *head、*tmp1、* tmp2

int n;

無效載荷()

{

FILE * FP 1;

int I;

fp1=fopen("file.txt "," Rb ");

結構學生* tmp

struct student * q;

Printf("開始讀取學生信息\ n ");

head = 0;

while(1){

tmp = malloc(sizeof(struct student))。

tmp-& gt;next = 0;

//i=fscanf(fp1,"學號:%d姓名:%s電話:% s \ n ",&;(tmp->;num),tmp-& gt;名稱,tmp-& gt;電話);

i=fread(tmp,sizeof(struct student),1,FP 1);

if(i==1){

if(head==0)

q = head = tmp

Printf("讀取壹條學生信息\ n ");

q->;next = tmp

q = q-& gt;接下來;

}否則{

fclose(FP 1);

返回;

}

}

}

無效輸出()

{

tmp 1 =頭;

而(tmp1!=0)

{

Printf("學生ID: %d姓名:%s電話:%s\n ",tmp 1-& gt;num,tmp 1->;名稱,tmp 1->;電話);

tmp 1 = tmp 1-& gt;接下來;

}

}

無效輸入( )

{ struct學生*q,* p;

Printf("請按要求添加學生信息:\ n ");

p=malloc(sizeof(結構學生));

Printf("請輸入學號:");

scanf("%d ",& ampp->;num);

printf(" \ n請輸入學生姓名:");

scanf("%s ",p-& gt;姓名);

printf(" \ n請輸入學生電話號碼:");

scanf("%s ",p-& gt;電話);

p->;next = 0;

if(head==0){

head = p;

q = p;

}否則{

q =頭;

while(q->;下壹個!=0)

{

q = q-& gt;接下來;

}

q->;next = p;

q = p;

}

}

void刪除()

{ struct學生*q,* p;

int numint I;/*這裏的num是什麽冠詞*/

Printf("請輸入要刪除的記錄I \ n ");

scanf("%d ",& ampnum);

if(num==1)

{ head = head-& gt;接下來;}/*刪除頭節點*/

p =頭部;

for(I = 1;我& ltnum-1;I++) /*將p移動到要刪除的節點*/

{ p = p-& gt;接下來;}

if(num & gt;1)

p->;next =(p-& gt;下壹個)-& gt;接下來;/*例如,鏈接2個4節點並刪除3個節點*/

Printf("刪除成功,請檢查\ n ");

}

無效搜索()

{ char c[20];

char tmp 2 _ num[20];

Printf("請輸入要查詢的信息:\ n ");

scanf("%s ",c);

Printf("妳要查詢的是:\ n ");

tmp2 =頭;/*遍歷*/

而(tmp2!=0)

{

Printf("學生ID: %d姓名:%s電話:%s\n ",tmp 2-& gt;num,tmp 2-& gt;名稱,tmp 2-& gt;電話);

if(strncacecmp(tmp 2-& gt;name,c,strlen(c))==0)

Printf("名稱匹配成功\ n ");

/*匹配*/

if(strncacecmp(tmp 2-& gt;tel,c,strlen(c))==0)

Printf("電話匹配成功\ n ");

sprintf(tmp2_num," %d ",tmp 2-& gt;num);

if(strncacescmp(tmp 2 _ num,c,strlen(c))==0)

Printf("學號匹配成功\ n ");

tmp 2 = tmp 2-& gt;接下來;

}

}

無效保存()

{

FILE * FP 1;

struct student *q,* p 1;

fp1=fopen("file.txt "," w ");

p 1 = 0;

p 1 =頭;

if(head==0)

{

Printf("現在沒有學生信息,請先添加學生信息:\ n ");

}

而(p1!=0)

{

//fprintf(fp1,"學生ID: %d姓名:%s電話:%s\n ",p 1-& gt;num,p 1->;名稱,p 1->;電話);

fwrite(p1,sizeof(struct student),1,FP 1);

Printf("學生ID: %d姓名:%s電話:%s\n ",p 1-& gt;num,p 1->;名稱,p 1->;電話);

p 1 = p 1->;接下來;

}

fclose(FP 1);

}

無效更改()

{ struct student * p;

int numint I;/*這裏的num是什麽冠詞*/

Printf("請輸入要修改的記錄I \ n ");

scanf("%d ",& ampnum);

p =頭部;

for(I = 1;我& ltnumi++)

{

p = p-& gt;接下來;

}

Printf("學生ID: %d姓名:%s電話:%s\n ",p-& gt;num,p->姓名,p-& gt;電話);

Printf("請修改學號:");

scanf("%d ",& ampp->;num);

Printf("請修改學生姓名:");

scanf("%s ",p-& gt;姓名);

Printf("請修改學生電話號碼:");

scanf("%s ",p-& gt;電話);

}

int main()

{

head = tmp 1 = 0;

while(1)

{

printf(" \ n \ n ");

Printf ("\ t \ t * *歡迎使用學生管理系統* * \ n ");

Printf ("\ t \ t * *請按要求輸入相應的信息* * \ n ");

Printf ("\ t \ t * * 0。加載學生信息* * \ n ");

Printf ("\ t \ t * * 1。查看學生情況* * \ n ");

Printf("\t\t*** 2。添加學生信息* * * \ n”);

Printf("\t\t*** 3。刪除學生記錄* * * \ n ");

Printf("\t\t*** 4。查詢學生記錄* * * \ n ");

Printf("\t\t*** 5。保存學生信息* * * \ n”);

Printf("\t\t*** 6。修改學生信息* * * \ n ");

Printf ("\ t \ t * * 7。退出* * * \ n ");

Printf("選擇函數:");

scanf("%d ",& ampn);

開關(n)

{

案例0:

load();

打破;

案例1:

OutPut();

打破;

案例二:

InPut();

打破;

案例三:

delete();

打破;

案例4:

search();

打破;

案例5:

save();

打破;

案例六:改變();

打破;

案例7:

退出(0);

打破;

默認值:

Printf("此功能暫時不可用");

}

}

}

  • 上一篇:收到了金稅盤,但還沒發。公司不需要開發票,每月零申報。對報稅有什麽影響?我覺得報稅的時候抄報清卡很有必要。
  • 下一篇:python後端開發需要學什麽?
  • copyright 2024編程學習大全網