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

登錄系統源代碼

#包含“stdio.h”

#包含" stdlib.h "

#包含“conio.h”

#包含" string.h "

結構學生

{

無符號數;

字符名稱[10];

char tele[12];

struct SStudent * link

};

void main()

{

struct s student * create table();

void AppendToTable(struct s student * stu);

void InsertToTable(struct s student * stu);

void query table(struct s student * stu,無符號數);

void sort table(struct s student * stu);

void print table(struct s student * stu);

void Save(struct s student * stu);

無效載荷(結構學生* stu);

void Help();

void modi(struct s student * h);

void search(struct s student * h);struct SStudent *學生;

無符號數;

char鍵值;

student = create table();

//clrscr();

系統(“cls”);

help();

printf(" \ n = ");

while((keyValue = getche())!= ' q ' & amp& amp鍵值!= ' Q ' & amp& amp鍵值!= 27)

{

puts(" ");

開關(鍵值)

{

大小寫“L”:大小寫“L”:

PrintTable(學生);打破;

案例“D”:案例“D”:

printf("請輸入您要刪除的號碼:");

scanf("%d ",& amp號);

QueryTable(學生,數字);

打破;

案例“A”:案例“A”:

AppendToTable(學生);打破;

格“I”:格“I”:

InsertToTable(學生);打破;

大小寫' S ':大小寫' S ':

SortTable(學生);

puts(" Sort compiled!請使用命令L列出。);

打破;

格“F”:格“F”:

搜索(學生);

打破;

大小寫“M”:大小寫“M”:

莫迪(學生);

打破;格“V”:格“V”:

保存(學生);打破;

大小寫“O”:大小寫“O”:

負載(學生);打破;

格“H”:格“H”:

help();打破;

默認值:puts("錯誤命令!");

}

printf(" \ n = ");

}

}

struct SStudent * CreateTable()

{

struct SStudent * stu

stu =(struct s student *)malloc(sizeof(struct s student));

斯圖-& gt;數字= 0;

斯圖-& gt;name[0]= ' \ 0 ';

斯圖-& gt;tele[0]= ' \ 0 ';

斯圖-& gt;link = NULL

返回(stu);

}

void AppendToTable(struct s student * stu)

{

struct SStudent * next,* last

int數;

last = stu

while(last->;link)last = last-& gt;鏈接;

printf("請輸入數字(0表示退出):");

scanf("%d ",& amp號);

while(數字)

{

next =(struct s student *)malloc(sizeof(struct s student));

下壹個-& gt;數=數;

printf("請輸入姓名:");

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

printf("請輸入tele:");

scanf("%s ",next-& gt;tele);

最後-& gt;link = next

last = last-& gt;鏈接;

printf(" \ n請輸入數字(0表示退出):");

scanf("%d ",& amp號);

}

最後-& gt;link = NULL

}

void InsertToTable(struct s student * stu)

{

struct SStudent * next,* last

int數;

printf("請輸入數字(0表示退出):");

scanf("%d ",& amp號);

while(數字)

{

next =(struct s student *)malloc(sizeof(struct s student));

下壹個-& gt;數=數;

printf("請輸入姓名:");

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

printf("請輸入tele:");

scanf("%s ",next-& gt;tele);

last = stu

while(last->;鏈接)

{

if(last-& gt;鏈接-& gt;編號& gt下壹個-& gt;編號)

{

下壹個-& gt;link = last-& gt;鏈接;

最後-& gt;link = next

打破;

}

else last = last-& gt;鏈接;

}

printf(" \ n請輸入數字(0表示退出):");

scanf("%d ",& amp號);

}

}

void query table(struct s student * stu,無符號數)

{

struct SStudent * temp,* next

next = stu

while(下壹個->;鏈接)

{

如果(下壹步-& gt;鏈接-& gt;數字==數字)

{

temp = next-& gt;鏈接;

下壹個-& gt;link = next-& gt;鏈接-& gt;鏈接;

免費(臨時);

}

else next = next-& gt;鏈接;

}

}

void print table(struct s student * stu)

{

斯圖=斯圖-& gt;鏈接;

如果(!斯圖)

{

puts("桌子是空的!");

返回;

}

printf(" number \ tname \ ttele \ n ");

當(斯圖)

{

printf("%3d\t ",stu-& gt;號);

printf("%-s\t ",stu-& gt;姓名);

printf("%-s\t ",stu-& gt;tele);

printf(" \ n ");

斯圖=斯圖-& gt;鏈接;

}

}

void SortTable(結構學生*學生)

{

struct SStudent * next,* last,* temp

int標誌;

last = stu

while(last->;鏈接)

{

next = stuflag = 1;

while(下壹個->;鏈接!= last->;鏈接)

{

如果(下壹步-& gt;鏈接-& gt;編號& gt最後-& gt;鏈接-& gt;編號)

{

temp = last-& gt;鏈接;

最後-& gt;link = last-& gt;鏈接-& gt;鏈接;

temp->;link = next-& gt;鏈接;

下壹個-& gt;link = temp

flag = 0;

打破;

}

else next = next-& gt;鏈接;

}

if(flag)last = last-& gt;鏈接;

}

}

無效保存(結構學生*學生)

{

字符文件名[13];

FILE * fileSave

printf("請輸入您要保存的文件名:");

scanf("%s ",文件名);

if((fileSave = fopen(filename," WB))= = 0)

{

printf("無法打開文件%s!\n ",文件名);

返回;

}

puts("保存...");

斯圖=斯圖-& gt;鏈接;

當(斯圖)

{

fwrite(stu,sizeof(struct SStudent),1,file save);

斯圖=斯圖-& gt;鏈接;

}

puts("保存完成!");

}

無效載荷(結構學生*學生)

{ char filename[13];& ltbr & gtFILE * fileLoad& ltbr & gtstruct SStudent * temp& ltbr & gtwhile(stu->;鏈接)& ltbr & gt{ & ltbr & gttemp = stu-& gt;鏈接;& ltbr & gt斯圖-& gt;link = stu-& gt;鏈接-& gt;鏈接;& ltbr & gt免費(臨時);& ltbr & gt}

temp =(struct s student *)malloc(sizeof(struct s student));

printf("請輸入您想要加載的文件名:");

scanf("%s ",文件名);

if((fileLoad = fopen(filename," Rb))= = 0)

{

printf("無法打開文件%s!\n ",文件名);

返回;

}

puts("正在加載...");

while(fread(temp,sizeof(struct SStudent),1,fileLoad))

{斯圖-& gt;link = temp& ltbr & gt斯圖=斯圖-& gt;鏈接;& ltbr & gttemp =(struct s student *)malloc(sizeof(struct s student));& ltbr & gt}

斯圖-& gt;link = NULL

puts("裝載完畢!");

}

無效幫助()

{ puts(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");

puts(" *系統命令幫助* ");

puts(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");

puts(" * L =列出所有記錄* ");

puts(" * D =刪除由數字選擇的記錄* ");

puts(" * A =追加記錄* ");

puts(" * I =插入記錄* ");

puts(" * S =排序記錄* ");

puts(" * F=搜索記錄* ");

puts(" * M= Modi記錄* ");puts(" * H =顯示此幫助消息* ");

puts(" * V =將記錄保存到文件* ");

puts(" * O =從文件中加載記錄* ");

puts(" * Q =退出系統* ");

puts(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");

}

void modi(結構學生*h)

{

struct s student * p;/*移動指針*/

無符號數字;/*用於存儲學生編號的變量*/

//clrscr();/*清空屏幕*/

系統(“cls”);

printf("請輸入要修改的數字\ n ");

scanf("%d ",& ampnum);/*輸入學號*/

p = h;/*將頭指針賦給p*/

while((p-& gt;號!= num)& amp;& ampp!=NULL) /*當記錄的名稱不是您要查找的名稱並且指針不為空時*/

p = p-& gt;鏈接;/*將指針移動到下壹個節點*/

If(p==NULL) /*如果指針為空*/

printf(" \n列表編號%d學生\ n ",編號);/*顯示沒有學生*/

否則/*修改找到的記錄信息*/

{

printf("請輸入新名稱:");

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

printf("請輸入新的電話號碼:");

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

printf(" | number | name | tel | \ n ");

printf(" |-|-|-| \ n ");

printf(" | % 6d | %-10s | % 12s | \ n ",p-& gt;編號,p-& gt;姓名,p-& gt;tele);}

}

無效搜索(結構學生*h)

{

struct s student * p;/*移動指針*/

char s[10];/*用於存儲名稱的字符數組*/

//clrscr();/*清空屏幕*/

系統(“cls”);

printf("請輸入搜索名稱\ n ");

scanf("%s ",s);/*輸入姓名*/

p = h;/*將頭指針賦給p*/

while(strcmp(p-& gt;姓名和地址。& ampp!=NULL) /*當記錄的名稱不是您要查找的名稱並且指針不為空時*/

p = p-& gt;鏈接;/*將指針移動到下壹個節點*/

If(p==NULL) /*如果指針為空*/

printf("\nlist no %s student\n ",s);/*顯示沒有學生*/

Else /*顯示找到的記錄信息*/

{

printf(" \ n \ n * * * * * * * * * * * * * * * * * * * * *已找到* * * * * * * * * * * * * * * * * * * * * * * * \ n ");

printf(" | number | name | tel | \ n ");

printf(" |-|-|-| \ n ");

printf(" | % 10d | %-10s | % 12s | \ n ",p-& gt;編號,p-& gt;姓名,p-& gt;tele);

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * end * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

}

}

  • 上一篇:交付源碼和交付著作權
  • 下一篇:微信公眾號開發(從入門到精通)
  • copyright 2024編程學習大全網