




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸醫(yī)外科學(xué)習(xí)題+答案(附解析)
- 公共衛(wèi)生與預(yù)防醫(yī)學(xué)復(fù)習(xí)題(含參考答案解析)
- 2025年2月建筑電工模擬題+答案(附解析)
- 2024年3月八大員-安全員測試題與參考答案解析
- 電子測量儀器的超聲波測量技術(shù)考核試卷
- 林產(chǎn)化學(xué)品在導(dǎo)電材料中的應(yīng)用考核試卷
- 安全文明研學(xué)實施體系
- 海水養(yǎng)殖疾病防控與養(yǎng)殖品質(zhì)保障考核試卷
- 膠印設(shè)備在汽車內(nèi)飾印刷的高要求考核試卷
- 《動能與勢能原理復(fù)習(xí)》課件
- 小學(xué)道法二 將改革開放進行到底課件
- 第14課 背影 課件(共26張ppt)
- 健身房運營總體策劃方案
- 銷售基礎(chǔ)編碼規(guī)則模板
- 水電安裝施工組織設(shè)計施工組織設(shè)計
- 2023年陜西普通高中學(xué)業(yè)水平考試通用技術(shù)試題
- 快遞員(初級)理論培訓(xùn)考試題庫600題(含答案)
- 中西醫(yī)執(zhí)業(yè)醫(yī)師《第二單元》模擬試題卷一(精選)
- 二年級看圖寫話講評
- 審計業(yè)務(wù)約定書
- 酒店OTA賓客服務(wù)操作流程
評論
0/150
提交評論