當前位置:股票大全官網 - 資訊咨詢 - c語言學生信息管理系統代碼

c語言學生信息管理系統代碼

代碼如下:

# include & ltstdio.h & gt

# include & ltmalloc.h & gt

# include & ltstdlib.h & gt

# include & ltstring.h & gt

# include & ltconio.h & gt

Typedef結構檢查//考生信息結構

{?char exampno[20];//準考證號

字符名稱[10];//名稱

char sex[4];//性別

年齡小;//年齡

char exam type[10];//報考科目

} ElemType

Typedef結構節點//定義壹個鏈表節點。

{

元素類型數據;//數據字段

結構節點* next//指針字段

}節點,*列表,*位置;

List make _ empty(List L);//創建壹個帶有前導節點的空表。

int是_ empty(List L);//測試鏈表是否為空。

int是_last(位置p,列表L);//測試當前位置是否是頁腳。

position make_node( position p,int n);//創建壹個節點,輸入考生信息。

void put_information(位置p);//是否輸出候選人的信息?

void put_name_information(列表L);//輸出姓名為xx的候選人信息。

int put_pos_information(位置p);//在此地址輸出候選人信息。

void link_to_tail(列表L,位置p);//將節點連接到頁腳

int ciculation _ make();//循環創建考生信息。

int judge _ put _ all();//是否輸出所有候選人的信息

void put _ all(List L);//輸出所有候選人的信息。

位置查找(列表L);//找到第壹個名為xx的元素,返回位置。

位置find_previous(列表L);//找到第壹個名為xx的元素,返回其直接前任的位置。

//int judge _ delete _ val();//詢問是否刪除候選人數據。

int delete _ val(List L);//刪除指定候選人的信息並輸出。

void菜單(列表L);//菜單功能

列表L;

//位置p;

(同Internationalorganizations)國際組織

main( void)?

{

List L = NULL//定義頭節點指針

位置p =空;//定義表格工作指針

L = make _ empty(L);//創建壹個空表

Printf ("\ t \ t \ t ★★★考生報名管理程序★ \ n \ t \ t -。

菜單(左);

返回0;

}

//創建壹個帶有前導節點的空表。

目錄

make_empty(列表L)

{

l =(List)malloc(sizeof(Node));

if(NULL == L)

{

Printf("內存分配失敗");

退出(1);

}

l-& gt;next = NULL

//printf("空表創建成功。\ n ");

返回L;

}

//創建壹個節點,輸入考生信息。

位置

make_node(位置p,整數n)

{

如果(n) //n為1,則創建並輸入節點,n為0,則修改節點。

{

p =(位置)malloc ( sizeof(節點));

p->;next = NULL

}

Printf("請輸入考生的準考證號:");

獲取(p-& gt;data . exam no);

Printf("請輸入候選人姓名:");

獲取(p-& gt;data . name);

{

Printf("請輸入考生性別,只能是"男"或"女":);

獲取(p-& gt;data . sex);

}

而(0!= strcmp(p-& gt;Data.sex,“男”)&;& amp0 != strcmp(p-& gt;Data.sex,“女”);//判斷性別是否錯誤。

Printf("請輸入求職者的年齡:");

scanf("%hd ",& ampp->;data . age);

getchar();?//如果刪除這句話,將無法實現以下應用類別。

/*下面的do while用於判斷應用類別是否輸入錯誤*/

{

Printf("請輸入報名類別,只能是"數學"或"英語"或"數據結構":);

獲取(p-& gt;data . exam type);

}

而(0!= strcmp("英語",p-& gt;data . exam type)& amp;& amp0 != strcmp("數學",p-& gt;data . exam type)& amp;& amp0 != strcmp("數據結構",p-& gt;data . exam type));

如果(n)

{

Printf("註冊成功\ n ");

}

其他

{

Printf("修改成功\ n ");

}

返回p;

}

//預插入方法;

空的

link_to_tail(列表L,位置p)

{

p->;next = L-& gt;接下來;

l-& gt;next = p;

}

//找到第壹個名為xx的元素,返回位置。

位置

查找(列表L)

{

位置p = L-& gt;接下來;

字符名稱[10];

Printf("請輸入您要找的候選人姓名:");

獲取(名稱);

而(p!= NULL & amp& amp0 != strcmp(p-& gt;data.name,name))

{

p = p-& gt;接下來;

}

返回p;

}

//測試鏈表是否為空。

(同Internationalorganizations)國際組織

is_empty(列表L)

{

返回L-& gt;next = = NULL

}

//測試當前位置是否是頁腳。

(同Internationalorganizations)國際組織

is_last(位置p,列表L)

{

返回p-& gt;next = = NULL

}

//輸出姓名為xx的候選人信息。

空的

上傳姓名信息(列表L)

{

位置p = find(L);

如果(p!=空)

{

Printf("妳要找的候選人信息:\ n ");

Printf("入學編號:% s \ t姓名:% s \ t性別:% s \ t性別:% HD \主題:%s\n\n ",p-& gt;data.examno,p-& gt;data.name,p-& gt;data.sex,p-& gt;data.age,p-& gt;data . exam type);

}

其他

{

Printf("沒有妳要找的學生。\ n ");

}

}

//循環創建考生信息。

(同Internationalorganizations)國際組織

ciculation_make()

{

int n = 2;

{

Printf("是否要繼續創建候選人信息?有請輸入“1”,無請輸入“0”:);

scanf("%d ",& ampn);

getchar();

}

而(n!= 0 & amp& ampn!= 1);

返回n;

}

//是否輸出考生信息?

空的

put_information(位置p)

{

int n = 2;

{

Printf("是否要輸出候選人的信息?有請輸入“1”,無請輸入“0”:);

scanf("%d ",& ampn);

getchar();

}

而(n!= 0 & amp& ampn!= 1);

如果(n)

{

Printf("錄取編號:% s \ t姓名:% s \ t性別:% s \ t主題:% HD \主題:%s\n ",p-& gt;data.examno,p-& gt;data.name,p-& gt;data.sex,p-& gt;data.age,p-& gt;data . exam type);

}

}

//是否輸出所有候選人的信息

(同Internationalorganizations)國際組織

judge_put_all()

{

int n = 2;

{

Printf("是否要輸出所有候選人的信息?有請輸入“1”,無請輸入“0”:);

scanf("%d ",& ampn);

getchar();

}

而(n!= 0 & amp& ampn!= 1);

返回n;

}

//輸出所有候選人的信息。

空的

put_all(列表L)

{

如果(L-& gt;next == NULL)

{

Printf("現在沒有候選人報名!\ n ");

}

其他

{

位置p = L-& gt;接下來;

而(p!=空)

{

Printf("錄取編號:% s \ t姓名:% s \ t性別:% s \ t主題:% HD \主題:%s\n ",p-& gt;data.examno,p-& gt;data.name,p-& gt;data.sex,p-& gt;data.age,p-& gt;data . exam type);

p = p-& gt;接下來;

}

}

//getchar();

}

//詢問是否刪除候選人數據。

(同Internationalorganizations)國際組織

法官刪除值()

{

int n = 2;

{

Printf("是否要刪除候選人的數據?可以,請輸入“1”而不是“0”:);

scanf("%d ",& ampn);

getchar();

}

而(n!= 0 & amp& ampn!= 1);

返回n;

}

//找到第壹個名為xx的元素,返回其直接前任的位置。

位置

find_previous(列表L)

{

位置q = L;

位置p = L-& gt;接下來;

字符名稱[10];

Printf("請輸入您要找的候選人姓名:");

獲取(名稱);

而(p!= NULL & amp& amp0 != strcmp(p-& gt;data.name,name))

{

q = p;

p = p-& gt;接下來;

}

如果(p!=空)

{

返回q;

}

其他

返回p;

}

//刪除指定候選人的信息並輸出。

(同Internationalorganizations)國際組織

刪除值(列表L)

{

int n = 2;

位置q =空;

position p = find _ previous(L);//返回候選人的信息地址。

if( NULL == p)

{

Printf("您要刪除的候選人不存在\ n ");

返回0;

}

其他

{

q = p->;接下來;

p->;next = q-& gt;接下來;

Printf("刪除成功。\ n刪除的候選人信息是:\ n”);

Printf("錄取編號:% s \ t姓名:% s \ t性別:% s \ t主題:% HD \主題:%s\n ",q-& gt;data.examno,q-& gt;data.name,q-& gt;data.sex,q-& gt;data.age,q-& gt;data . exam type);

免費(q);

返回1;

}

}

//輸出該地址的檢查信息。

(同Internationalorganizations)國際組織

放置位置信息(位置p)

{

如果(p!=空)

{

Printf("入學編號:% s \ t姓名:% s \ t性別:% s \ t性別:% HD \主題:%s\n\n ",p-& gt;data.examno,p-& gt;data.name,p-& gt;data.sex,p-& gt;data.age,p-& gt;data . exam type);

返回1;

}

其他

{

Printf("沒有妳要找的學生。");

返回0;

}

}

//菜單功能

空的

菜單(列表L)

{

printf("\t\t\t?a .考生入學\ n ");

printf("\t\t\t?b .查詢考生信息\ n ");

printf("\t\t\t?c .修改候選人信息\ n ");

printf("\t\t\t?d .刪除候選人信息\ n”);

printf("\t\t\t?e .所有候選人的信息\ n ");

printf("\t\t\t?f .程序作者信息\ n ");

printf("\t\t\t?g?退出程序\ n ");

char n = ' h

而(n!= 'g ')

{

做什麽?//確認輸入正確。

{

Printf("請按字母編號選擇功能:");

n = getchar();

getchar();

putchar(' \ n ');

如果(n & lta ' | | n & gtg’)

{

Printf("錯誤的字母編號。\ n ");

}

}

while(n & lt;a ' | | n & gtg’);

開關(n)

{

案例“a”:

{

Printf("請輸入已註冊考生的信息:\ n ");

位置p = make_node( p,1);//創建新節點

link_to_tail( L,p);//將新節點連接到表

put _ information(p);?//是否輸出候選人的信息?

putchar(' \ n ');

}

打破;

案例“b”:

{

put _ name _ information(L);

putchar(' \ n ');

}

打破;

案例“c”:

{

int n = 0;

位置p =空;

Printf("您正在修改。\ n ");

p = find(L);

n = put _ pos _ information(p);

如果(n)

{

make_node( p,0);

put _ information(p);?//是否輸出候選人的信息?

}

putchar(' \ n ');

}

打破;

案例“d”:

{

Printf("您正在刪除。\ n ");

delete _ val(L);

putchar(' \ n ');

}

打破;

案例“e”:

{

put _ all(L);

putchar(' \ n ');

}

打破;

案例“f”:

{

printf("?修改日期版本號?修改者?修改內容\ n ");

printf("-\ n ");

printf("?2018.6.19 v2.0?陳百川添加主菜單\ n”);

printf("?2018.6.23 v3.0?陳百川?增加生成文件的功能\ n \ n”);

Printf("版本號是v 2.0 \ n ");

putchar(' \ n ');

}

打破;

默認值:

打破;

}

}

Printf("感謝您的使用,祝您生活愉快。");

getch();

}

擴展數據:

c語言是壹種通用的計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供壹種能夠以簡單的方式編譯處理低級內存,生成少量機器碼,無需任何運行環境支持即可運行的編程語言。

C語言雖然提供了很多底層處理功能,但仍然保持了良好的跨平臺特性。用標準規範編寫的c語言程序可以在許多計算機平臺上編譯,甚至包括壹些嵌入式處理器(單片機或MCU)和超級計算機。

上世紀80年代,為了避免不同開發者使用的C語言語法存在差異,美國國家標準局制定了壹套完整的C語言美國國家標準語法,稱為ANSI C,作為C語言的原始標準。[1]?目前,20111年2月8日,國際標準化組織(ISO)和國際電工委員會(IEC)發布的標準C11是C語言的第三個官方標準,也是C語言的最新標準,更好地支持漢字函數名和漢字標識符,壹定程度上實現了漢字編程。

C語言是面向過程的計算機編程語言,不同於C++和Java等面向對象的編程語言。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

參考資料:

百度百科-C語言