18 8 5單鏈表實現 V2 0

2021-08-22 07:21:56 字數 4041 閱讀 9742

這是簡單的單鏈表通訊錄。

已經完成了基本操作:增、刪、改、查、以及遍歷通訊錄名單。如果想要擴大通訊錄的儲存空間,更改標頭檔案的"size"的大小即可。

標頭檔案:

#ifndef _addresslist_h

#define _addresslish_h

#define success 1234

#define failure 2345

#define size 2

struct addresslist

;typedef struct addresslist list;

int addresslistinit(list **l);

int print();

void menu();

int addinfo(list *l,int n);

int display(list *l);

int listdelete(list *l,int p,int *s_num,char *s_nam,char *s_***,char *s_tel,char *s_add);

int listrevise(list *l);

int listfind(list *l);

#endif

自定義函式:

#include#include"addresslist.h"

#include#includevoid menu()

int addresslistinit(list **l)

(*l)->next = null;

return success;

}int addinfo(list *l,int n)

while ( k < n && p != null)

if( k > n && null == p)

printf("plz input number:\n");

int a;

scanf("%d",&a);

q ->num = a;

printf("plz input name:\n");

char name[30]=;

scanf("%s",name);

if( strcmp( name, "bye" ) == 0)

else

printf("plz input ***:\n");

char ***[10]=;

scanf("%s",***);

strcpy(q->*** , ***);

printf("plz input tel:\n");

char tel[15]=;

scanf("%s",tel);

strcpy(q->tel , tel);

printf("plz input address:\n");

char address[30]=;

scanf("%s",address);

strcpy(q->address , address);

q ->next = p->next;

p ->next = q;

return success; }

int display(list *l)

int s_sort;

printf("請選擇:\n按序號輸出:1\n按姓名首字母輸出:2\n");

scanf("%d",&s_sort);

list* q = l;

if( 1 == s_sort )

printf("\n");

return success; }

else if ( 2 == s_sort )

; for( q = l; q != null ; q = q->next )

}} while( new_q->next )

printf("\n");

return success; }}

int listdelete(list *l,int p,int *s_num,char *s_nam,char *s_***,char *s_tel,char *s_add)

int k = 1;

list* q = l;

list* n;//用於先儲存要刪除的指標位址

while ( k < p )

//迴圈結束時, k必然等於n

if( k > p || null == q)

n = q -> next; //先把 要被刪除的位址存入n

*s_num = n->num;

s_nam = n->name;

s_*** = n->***;

s_tel = n->tel;

s_add = n->address;

q ->next = n -> next; //將指標指向下下個位址

free ( n ) ; //釋放掉被刪除原先的位址

return success;

}int listrevise(list *l)

list *p = l;

int i = 1,n;

printf("請輸入想要被修改的序號:\n");

scanf("%d",&n);

while( i < n+1 )

if( null == p)

else

return success;

}int listfind(list *l)

printf("按姓名查詢: 1\n按**查詢: 2\n按位址查詢: 3\n");

char s_tmp[30] = ;

list* q = l;

int location = 0;

int s_searchnumber;

scanf("%d",&s_searchnumber);

if( 1 == s_searchnumber )

}return failure; }

if( 2 == s_searchnumber )

}return failure; }

if( 3 == s_searchnumber)

}return failure;

}}

主函式:

#include#include"addresslist.h"

#include/*

void print()

*/void welcome()

int main()

; char s_***[10]=;

char s_tel[15]=;

char s_add[30]=;

ret = addresslistinit(&head);

if( ret == success)

else if( failure == ret)

welcome();

while (1)

if( success == ret )

break;

case 2:

for( i = 0; i < size ; i++)

if( success == ret )

}break;

case 3: printf("請輸入要刪除的序號:\n");

scanf("%d",&d_p);

ret = listdelete(head,d_p,&s_num,s_nam,s_***,s_tel,s_add);

if( failure == ret)

else

break;

case 4: ret = listrevise(head);

if( success == ret )

if( failure == ret )

break;

case 5: ret = listfind(head);

if( failure == ret )

else

break;

case 6:

exit(0);

} }return 0;

}

huahaisoft 考試系統 v2 0

huahaisoft 考試系統v2.0介紹 1 後台管理員 admin 密碼 admin 2 2.0增加了多選題 簡答題。3 練習模式也要登陸,但不記錄分數。4 考試模式需在後台設定試卷後,一考試帳號只能參加一次。5 本系統可批量匯入試題,但asp的ado讀取excel資料時同一列資料遇到不同資料型...

鳥類識別 前端v2 0

本週主要還是在學習前端語言html,需要在設計出的介面基礎上繼續修改。doctype html html lang en head meta charset utf 8 title 鳥類識別系統 14組v1.0 title link rel stylesheet type text css href...

測試用例規範v2 0

軟體測試規範的編寫是為了給測試人員在測試用例編寫的過程中提供乙個指導。測試是軟體交付使用者使用前乙個不可缺少的環節,它存在的目的有四個 1 找到盡可能多的找到系統中的bug 2 關注使用者的需求 3 根據測試最終結果分析和評估軟體的質量風險 4 找到軟體開發過程中的缺陷。具體內容可以上網查詢。寫測試...