C語言實現(xiàn)自行車存放管理系統(tǒng)_第1頁
C語言實現(xiàn)自行車存放管理系統(tǒng)_第2頁
C語言實現(xiàn)自行車存放管理系統(tǒng)_第3頁
C語言實現(xiàn)自行車存放管理系統(tǒng)_第4頁
C語言實現(xiàn)自行車存放管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第C語言實現(xiàn)自行車存放管理系統(tǒng)本文實例為大家分享了C語言實現(xiàn)自行車存放管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

系統(tǒng)包括以下內(nèi)容

1.數(shù)據(jù)錄入:錄入系統(tǒng)基本數(shù)據(jù),用數(shù)組或鏈表組織;

2.數(shù)據(jù)存儲:用文件的形式將錄入的數(shù)據(jù)存儲;

3.數(shù)據(jù)讀寫:對文件中的數(shù)據(jù)可以進行讀寫操作;

4.數(shù)據(jù)修改:可以對已存在的舊數(shù)據(jù)進行修改操作;

5.數(shù)據(jù)插入:可以將新數(shù)據(jù)插入到任意指定的位置;

6.數(shù)據(jù)刪除:可以對已存在的舊數(shù)據(jù)進行刪除操作;

7.數(shù)據(jù)查詢:按要求對數(shù)據(jù)進行查詢,至少含兩項

簡單查詢以及一項組合查詢;

8.數(shù)據(jù)統(tǒng)計:按要求對數(shù)據(jù)進行統(tǒng)計

含簡單統(tǒng)計及綜合統(tǒng)計;

9.數(shù)據(jù)排序:按要求對數(shù)據(jù)進行排序

含升序排序及降序排序;

10.數(shù)據(jù)報表:按要求對數(shù)據(jù)打印報表,

依規(guī)定的報表格式對數(shù)據(jù)打印報表;

11.界面:設(shè)計總體菜單界面。

附加項目:

登錄、注冊部分;

(密碼設(shè)置密碼的隱式輸出、簡單的加密解密)

附代碼:

#includestdio.h

#includestdlib.h

#includeconio.h

#includestring.h

structbicycle{

chartele_num[12];//用戶的電話號碼

charname[13];//用戶的姓名

charsex[7];//用戶的性別

charbic_num[12];//自行車的編號

structbicycle*next;

intiCount=0;

structbicycle*pHead=NULL;

voidkey();

voidmenu();

voidcreate();

voidprint();

voidinsert();

voidsearch();

voiddele();

voidmodify();

voidexcheng(structbicycle*pStra,structbicycle*Midd);

voidsort();

intmain(){

menu();

printf("123");

return0;

//密碼管理頁面

voidkey(){

charkey[20],m[20];

FILE*k;

k=fopen("key.txt","r");

if(k==NULL)

{

k=fopen("key.txt","wt");

printf("請創(chuàng)建管理密碼:\n");

scanf("%s",key);

fprintf(k,"%s",key);

fclose(k);

printf("恭喜您創(chuàng)建成功!\n");

getchar();

printf("按任意鍵繼續(xù)...");

getchar();

return;

}

else

{

fscanf(k,"%s",m);

fclose(k);

printf("請輸入管理密碼:");

scanf("%s",key);

if(strcmp(m,key)==0)

{

printf("密碼正確!\n");

getchar();

printf("按任意鍵繼續(xù)...");

getchar();

return;

}

else

{

printf("密碼錯誤!\n");

getchar();

printf("按任意鍵繼續(xù)...");

getchar();

return;

}

}

//顯示景點的信息

voidmenu(){

key();

intselect=-1;

while(select!=0){

system("cls");

printf("\n\n\t\t\t\t\t\t\t==============歡迎使用自行車管理系統(tǒng)==============\n");

printf("\t\t\t\t\t\t\t\t=======請選擇功能列表=======\n");

printf("\t\t\t\t\t\t\t\t1.錄入自行車的信息LV5\n");

printf("\t\t\t\t\t\t\t\t2.修改自行車的信息LV5\n");

printf("\t\t\t\t\t\t\t\t3.刪除自行車的信息LV5\n");

printf("\t\t\t\t\t\t\t\t4.查詢自行車的信息LV5\n");

printf("\t\t\t\t\t\t\t\t5.打印自行車的信息LV5\n");

printf("\t\t\t\t\t\t\t\t6.自行車信息的排序LV5\n");

printf("\t\t\t\t\t\t\t\t7.插入自行車的信息LV5\n");

printf("\t\t\t\t\t\t\t\t0.退

單LV5\n");

printf("\n請選擇:");

scanf("%d",select);

switch(select){

case1:

create();

break;

case2:

modify();

break;

case3:

dele();

break;

case4:

search();

break;

case5:

print();

break;

case6:

sort();

break;

case7:

insert();

break;

case0:break;

default:

exit(1);

break;

}

}

//創(chuàng)建鏈表函數(shù)

voidcreate(){

//頁面優(yōu)化

system("cls");

structbicycle*pEnd,*pNew;

structbicycle*p;

pEnd=pNew=(structbicycle*)malloc(sizeof(structbicycle));

printf("請輸入存放自行車的信息(退出請按0):\n");

//錄入自行車編號,編號不可以重復(fù)

intflag1=1,flag2,n;

structbicycle*pTemp;

printf("\n自行車的編號(退出請按0):");

scanf("%s",pNew-bic_num);

while(flag1){

if(strcmp(pNew-bic_num,"0")==0)

{

flag1=1;

break;

}

else{

pTemp=pHead;

n=iCount;

flag2=1;

while(nflag2){

if(strcmp(pTemp-bic_num,pNew-bic_num)==0)

flag2=0;

pTemp=pTemp-next;

n=n-1;

}

if(flag2==0){

printf("請重新輸入,自行車編號%s存在!(退出請按0):\n",pNew-bic_num);

printf("自行車的編號:");

scanf("%s",pNew-bic_num);

flag1=1;

}

if(flag2==1)flag1=0;

}

}

//錄入其他信息,如果flag1=0,則表明要退出,那么其他信息不用再錄

if(flag1!=1){

printf("姓名:");

scanf("%s",pNew-name);

//性別只能輸入female或male,否則是不規(guī)范的

while(1){

printf("性別(female或male):");

scanf("%s",pNew-sex);

if(strcmp(pNew-sex,"female")==0||strcmp(pNew-sex,"male")==0)break;

elseprintf("性別輸入不規(guī)范,請核對后重輸!\n");

}

//電話必須11位數(shù),否則是不規(guī)范的

while(1){

printf("電話(11位數(shù)):");

scanf("%s",pNew-tele_num);

if(strlen(pNew-tele_num)==11)break;

elseprintf("電話輸入不規(guī)范,必須11位數(shù)!\n");

}

}

while(strcmp(pNew-bic_num,"0")!=0)

{

iCount++;

if(pHead==NULL){

pNew-next=NULL;

pEnd=pNew;

pHead=pNew;

}

else{

p=pHead;

while(pp-next!=NULL)p=p-next;

{

p-next=pNew;

pNew-next=NULL;

}

}

pNew=(structbicycle*)malloc(sizeof(structbicycle));

printf("\n自行車的編號(退出請按0):");

scanf("%s",pNew-bic_num);

flag1=1;//每次循環(huán)結(jié)束flag1=1退出;flag1=0則繼續(xù),所以要值0

while(flag1){

if(strcmp(pNew-bic_num,"0")==0){

flag1=1;

break;

}

else{

pTemp=pHead;

n=iCount;

flag2=1;

while(nflag2){

if(strcmp(pTemp-bic_num,pNew-bic_num)==0)

flag2=0;

pTemp=pTemp-next;

n=n-1;

}

if(flag2==0){

printf("請重新輸入,自行車的編號%s存在!(退出請按0):\n",pNew-bic_num);

printf("自行車的編號:");

scanf("%s",pNew-bic_num);

flag1=1;

}

if(flag2==1)flag1=0;

}

}

//錄入其他信息,如果flag1=0,則表明要退出,那么其他信息不用再錄

if(flag1!=1){

printf("姓名:");

scanf("%s",pNew-name);

//性別只能輸入female或male,否則是不規(guī)范的

while(1){

printf("性別(female或male):");

scanf("%s",pNew-sex);

if(strcmp(pNew-sex,"female")==0||strcmp(pNew-sex,"male")==0)break;

elseprintf("性別輸入不規(guī)范,請核對后重輸!\n");

}

//電話必須11位數(shù),否則是不規(guī)范的

while(1){

printf("電話(11位數(shù)):");

scanf("%s",pNew-tele_num);

if(strlen(pNew-tele_num)==11)break;

elseprintf("電話輸入不規(guī)范,必須11位數(shù)!\n");

}

}

//22

}

free(pNew);

//輸出鏈表自行車的信息

voidprint(){

//頁面優(yōu)化

system("cls");

printf("\n\n\t\t\t\t===================5.打印自行車的信息===================\n");

structbicycle*pTemp;

intiIndex=1;

printf("**********本名單中共有%d個自行車信息,所有的信息如下:**********\n",iCount);

printf("序號姓名

性別

電話自行車編號\n");

pTemp=pHead;

while(pTemp!=NULL){

printf("%d

%s

%s

%s

%s\n",iIndex,pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);

pTemp=pTemp-next;

iIndex++;

}

printf("按任意鍵返回上一級");

getch();

//插入自行車的信息

voidinsert(){

//頁面優(yōu)化

system("cls");

printf("\n\n\t\t\t\t===================7.插入自行車的信息===================\n");

printf("#\n說明:插入任意位置都可以\n#");

create();

printf("插入信息成功,");

printf("按任意鍵返回上一級");

getch();

//信息查詢函數(shù)

voidsearch(){

//頁面優(yōu)化

printf("\n\n\t\t\t\t===================4.查詢自行車的信息===================");

intselect=-1;

while(select!=0){

system("cls");

printf("\n\t\t=======請選擇功能列表=======\n");

printf("\t\t\t1.按自行車的編號查詢(lv4)\n");

printf("\t\t\t2.按

查詢(lv1)\n");

printf("\t\t\t0.退出此頁面(lv4)\n");

printf("請選擇:");

scanf("%d",select);

intflag=1,flag1=1;

charnumber[12];

charname[12];

structbicycle*pTemp=pHead;

//按自行車的編號查詢

if(select==1){

printf("請輸入你要查找的自行車編號:");

scanf("%s",number);

while(pTemp!=NULLflag)

{

if(strcmp(pTemp-bic_num,number)==0)

{

printf("%s找到了,具體信息如下:\n\n",number);

printf("\t姓名

性別

電話自行車編號\n");

printf("\t%s

%s

%s

%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);

printf("\n");

flag=0;

}

pTemp=pTemp-next;

}

if(flag==1)

printf("編號%s不存在!\n",number);

}

//按姓名查詢

if(select==2){

printf("請輸入你要查找的姓名:");

scanf("%s",name);

while(pTemp!=NULLflag)

{

if(strcmp(pTemp-name,name)==0)

{

printf("%s找到了,具體信息如下\n",name);

printf("\t姓名

性別

電話自行車編號\n");

printf("\t%s

%s

%s

%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);

printf("\n");

flag=0;

}

pTemp=pTemp-next;

}

if(flag==1)

printf("姓名%s不存在!",name);

}

printf("按任意鍵返回上一級");

getch();

}

//刪除信息函數(shù)

voiddele(){

//頁面優(yōu)化

system("cls");

printf("\n\n\t\t\t\t===================3.刪除自行車的信息(按編號)===================");

intselect=-1;

while(select!=0){

printf("\n\t\t=======請選擇功能列表=======\n");

printf("\t\t\t1.按自行車的編號刪除(lv4)\n");

printf("\t\t\t2.按

刪除(lv1)\n");

printf("\t\t\t0.退出此頁面(lv4)\n");

printf("請選擇:");

scanf("%d",select);

if(select==0)return;

elseif(select==1||select==2)break;

elseprintf("輸入有誤請重新輸入\n");

if(select==1){

if(iCount==0)

printf("\n\n暫無數(shù)據(jù)無法進行此操作,按任意鍵退出!\n");

else

{

//33

charnumber[12];

int

i,flag=1;

charoption;

structbicycle*pTemp;

structbicycle*pPre;

pTemp=pHead;

intiIndex=0;

printf("\n請輸入要刪除自行車的編號:");

scanf("%s",number);

while(pTemp!=NULLflag){

if(strcmp(pTemp-bic_num,number)==0){

printf("\n%s找到了,將要刪除的信息如下\n\n",number);

//顯示將要刪除人的信息

printf("\t姓名

性別

電話自行車編號\n");

printf("\t%s

%s

%s

%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);

printf("\n");

flag=0;

printf("確認刪除請輸1,否則按任意數(shù)字鍵退出\n");

scanf("%d",option);

}

pTemp=pTemp-next;

iIndex++;

}

if(flag==1)

{printf("編號%s不存在!",number);

return;}

if(option==1){

pTemp=pHead;

pPre=pTemp;//可能多余

//printf("----------刪除第%d個學(xué)生----------\n",iIndex);

if(iIndex!=1)

{

for(i=1;iiIndex;i++)

{

pPre=pTemp;

pTemp=pTemp-next;

}

pPre-next=pTemp-next;

}

if(iIndex==1)

pHead=pTemp-next;

free(pTemp);

iCount--;

printf("刪除成功按任意鍵退出!");

}

else

printf("刪除失敗按任意鍵退出!");

}

//33

getch();

else{

if(iCount==0)

printf("\n\n暫無數(shù)據(jù)無法進行此操作,按任意鍵退出!\n");

else

{

//33

charname[12];

int

i,flag=1;

charoption;

structbicycle*pTemp;

structbicycle*pPre;

pTemp=pHead;

intiIndex=0;

printf("\n請輸入要刪除自行車對應(yīng)戶主的姓名:");

scanf("%s",name);

while(pTemp!=NULLflag){

if(strcmp(pTemp-name,name)==0){

printf("\n%s找到了,將要刪除的信息如下\n\n",name);

//顯示將要刪除人的信息

printf("\t姓名

性別

電話自行車編號\n");

printf("\t%s

%s

%s

%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);

printf("\n");

flag=0;

printf("確認刪除請輸1,否則按任意數(shù)字鍵退出\n");

scanf("%d",option);

}

pTemp=pTemp-next;

iIndex++;

}

if(flag==1)

{printf("姓名%s不存在!",name);

return;}

if(option==1){

pTemp=pHead;

pPre=pTemp;//可能多余

//printf("----------刪除第%d個學(xué)生----------\n",iIndex);

if(iIndex!=1)

{

for(i=1;iiIndex;i++)

{

pPre=pTemp;

pTemp=pTemp-next;

}

pPre-next=pTemp-next;

}

if(iIndex==1)

pHead=pTemp-next;

free(pTemp);

iCount--;

printf("刪除成功按任意鍵退出!");

}

else

printf("刪除失敗按任意鍵退出!");

}

//33

getch();

//2.修改自行車的信息

voidmodify(){

//頁面優(yōu)化

system("cls");

printf("\n\n\t\t\t\t===================2.修改自行車的信息===================");

intpost;

intflag=1,flag1;

charnumber[12];

structbicycle*pTemp=pHead,*pPre=pTemp;

printf("\n請輸入你要修改自行車信息對應(yīng)自行車的編號:");

scanf("%s",number);

while(pTemp!=NULLflag)

{

if(strcmp(pTemp-bic_num,number)==0)

{

printf("將要修改的學(xué)號%s具體信息如下\n",number);

printf("\t姓名

性別

電話自行車編號\n");

printf("\t%s

%s

%s

%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);

printf("\n");

flag=0;

}

pPre=pTemp;//保存pTemp

pTemp=pTemp-next;

}

if(flag==1)

printf("你要修改的學(xué)號%s不存在!",number);

else

{

printf("確認修改請按1,放棄請按任意數(shù)字鍵!\n請選擇:");

scanf("%d",post);

while(post==1)

{

printf("請選擇你要修改的項目(1.姓名2.性別3.電話號碼4.自行車的編號5.修改全部)\n");

scanf("%d",flag1);

if(flag1==1)

{

printf("新姓名:");

scanf("%s",pPre-name);

printf("修改完成,按任意鍵退出!");

}

elseif(flag1==2)

{

printf("新性別:");

scanf("%s",pPre-sex);

printf("修改完成,按任意鍵退出!");

}

elseif(flag1==3)

{

while(1){

printf("電話(11位數(shù)):");

scanf("%s",pPre-tele_num);

if(strlen(pPre-tele_num)==11)break;

elseprintf("電話輸入不規(guī)范,必須11位數(shù)!\n");

}

printf("修改完成,按任意鍵退出!");

}

elseif(flag1==4)

{

printf("新編號:");

scanf("%d",pPre-bic_num);

printf("修改完成,按任意鍵退出!");

}

else{

printf("新姓名:");

scanf("%s",pPre-name);

printf("新性別:");

scanf("%s",pPre-sex);

while(1){

printf("電話(11位數(shù)):");

scanf("%s",pPre-tele_num);

if(strlen(pPre-tele_num)==11)break;

elseprintf("電話輸入不規(guī)范,必須11位數(shù)!\n");

}

printf("新編號:");

scanf("%s",pPre-bic_num);

}

break;

}

}

printf("修改完成,按任意鍵退出");

getch();

//交換函數(shù)

voidexcheng(structbicycle*pStra,structbicycle*pMidd){

intt;

structbicycle*pTemp;

pTemp=(structbicycle*)malloc(sizeof(structbicycle));

strcpy(pTemp-tele_num,pStra-tele_num);

strcpy(pStra-tele_num,pMidd-tele_num);

strcpy(pMidd-tele_num,pTemp-tele_num);

strcpy(pTemp-bic_num,pStra-bic_num);

strcpy(pStra-bic_num,pMidd-bic_num);

strcpy(pMidd-bic_num,pTemp-bic_num);

strcpy(pTemp-name,pStra-name);

strcpy(pStra-name,pMidd-name);

strcpy(pMidd-name,pTemp-name);

strcpy(pTemp-sex,pStra-sex);

strcpy(pStra-sex,pMidd-sex);

strcpy(pMidd-sex,pTemp-sex);

free(pTemp);

//6.自行車信息的排序

voidsort(){

//頁面優(yōu)化

printf("\n\n\t\t===================4.排序系統(tǒng)===================");

inti,j;

structbicycle*pStra,*pMidd;

intresu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論