




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第C語言實(shí)現(xiàn)自行車存放管理系統(tǒng)本文實(shí)例為大家分享了C語言實(shí)現(xiàn)自行車存放管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
系統(tǒng)包括以下內(nèi)容
1.數(shù)據(jù)錄入:錄入系統(tǒng)基本數(shù)據(jù),用數(shù)組或鏈表組織;
2.數(shù)據(jù)存儲(chǔ):用文件的形式將錄入的數(shù)據(jù)存儲(chǔ);
3.數(shù)據(jù)讀寫:對(duì)文件中的數(shù)據(jù)可以進(jìn)行讀寫操作;
4.數(shù)據(jù)修改:可以對(duì)已存在的舊數(shù)據(jù)進(jìn)行修改操作;
5.數(shù)據(jù)插入:可以將新數(shù)據(jù)插入到任意指定的位置;
6.數(shù)據(jù)刪除:可以對(duì)已存在的舊數(shù)據(jù)進(jìn)行刪除操作;
7.數(shù)據(jù)查詢:按要求對(duì)數(shù)據(jù)進(jìn)行查詢,至少含兩項(xiàng)
簡(jiǎn)單查詢以及一項(xiàng)組合查詢;
8.數(shù)據(jù)統(tǒng)計(jì):按要求對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)
含簡(jiǎn)單統(tǒng)計(jì)及綜合統(tǒng)計(jì);
9.數(shù)據(jù)排序:按要求對(duì)數(shù)據(jù)進(jìn)行排序
含升序排序及降序排序;
10.數(shù)據(jù)報(bào)表:按要求對(duì)數(shù)據(jù)打印報(bào)表,
依規(guī)定的報(bào)表格式對(duì)數(shù)據(jù)打印報(bào)表;
11.界面:設(shè)計(jì)總體菜單界面。
附加項(xiàng)目:
登錄、注冊(cè)部分;
(密碼設(shè)置密碼的隱式輸出、簡(jiǎn)單的加密解密)
附代碼:
#includestdio.h
#includestdlib.h
#includeconio.h
#includestring.h
structbicycle{
chartele_num[12];//用戶的電話號(hào)碼
charname[13];//用戶的姓名
charsex[7];//用戶的性別
charbic_num[12];//自行車的編號(hào)
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("請(qǐng)創(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("請(qǐng)輸入管理密碼:");
scanf("%s",key);
if(strcmp(m,key)==0)
{
printf("密碼正確!\n");
getchar();
printf("按任意鍵繼續(xù)...");
getchar();
return;
}
else
{
printf("密碼錯(cuò)誤!\n");
getchar();
printf("按任意鍵繼續(xù)...");
getchar();
return;
}
}
//顯示景點(diǎn)的信息
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=======請(qǐng)選擇功能列表=======\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請(qǐng)選擇:");
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("請(qǐng)輸入存放自行車的信息(退出請(qǐng)按0):\n");
//錄入自行車編號(hào),編號(hào)不可以重復(fù)
intflag1=1,flag2,n;
structbicycle*pTemp;
printf("\n自行車的編號(hào)(退出請(qǐng)按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("請(qǐng)重新輸入,自行車編號(hào)%s存在!(退出請(qǐng)按0):\n",pNew-bic_num);
printf("自行車的編號(hào):");
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ī)范,請(qǐng)核對(duì)后重輸!\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自行車的編號(hào)(退出請(qǐng)按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("請(qǐng)重新輸入,自行車的編號(hào)%s存在!(退出請(qǐng)按0):\n",pNew-bic_num);
printf("自行車的編號(hào):");
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ī)范,請(qǐng)核對(duì)后重輸!\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個(gè)自行車信息,所有的信息如下:**********\n",iCount);
printf("序號(hào)姓名
性別
電話自行車編號(hào)\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("按任意鍵返回上一級(jí)");
getch();
//插入自行車的信息
voidinsert(){
//頁面優(yōu)化
system("cls");
printf("\n\n\t\t\t\t===================7.插入自行車的信息===================\n");
printf("#\n說明:插入任意位置都可以\n#");
create();
printf("插入信息成功,");
printf("按任意鍵返回上一級(jí)");
getch();
//信息查詢函數(shù)
voidsearch(){
//頁面優(yōu)化
printf("\n\n\t\t\t\t===================4.查詢自行車的信息===================");
intselect=-1;
while(select!=0){
system("cls");
printf("\n\t\t=======請(qǐng)選擇功能列表=======\n");
printf("\t\t\t1.按自行車的編號(hào)查詢(lv4)\n");
printf("\t\t\t2.按
姓
名
查詢(lv1)\n");
printf("\t\t\t0.退出此頁面(lv4)\n");
printf("請(qǐng)選擇:");
scanf("%d",select);
intflag=1,flag1=1;
charnumber[12];
charname[12];
structbicycle*pTemp=pHead;
//按自行車的編號(hào)查詢
if(select==1){
printf("請(qǐng)輸入你要查找的自行車編號(hào):");
scanf("%s",number);
while(pTemp!=NULLflag)
{
if(strcmp(pTemp-bic_num,number)==0)
{
printf("%s找到了,具體信息如下:\n\n",number);
printf("\t姓名
性別
電話自行車編號(hào)\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("編號(hào)%s不存在!\n",number);
}
//按姓名查詢
if(select==2){
printf("請(qǐng)輸入你要查找的姓名:");
scanf("%s",name);
while(pTemp!=NULLflag)
{
if(strcmp(pTemp-name,name)==0)
{
printf("%s找到了,具體信息如下\n",name);
printf("\t姓名
性別
電話自行車編號(hào)\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("按任意鍵返回上一級(jí)");
getch();
}
//刪除信息函數(shù)
voiddele(){
//頁面優(yōu)化
system("cls");
printf("\n\n\t\t\t\t===================3.刪除自行車的信息(按編號(hào))===================");
intselect=-1;
while(select!=0){
printf("\n\t\t=======請(qǐng)選擇功能列表=======\n");
printf("\t\t\t1.按自行車的編號(hào)刪除(lv4)\n");
printf("\t\t\t2.按
姓
名
刪除(lv1)\n");
printf("\t\t\t0.退出此頁面(lv4)\n");
printf("請(qǐng)選擇:");
scanf("%d",select);
if(select==0)return;
elseif(select==1||select==2)break;
elseprintf("輸入有誤請(qǐng)重新輸入\n");
if(select==1){
if(iCount==0)
printf("\n\n暫無數(shù)據(jù)無法進(jìn)行此操作,按任意鍵退出!\n");
else
{
//33
charnumber[12];
int
i,flag=1;
charoption;
structbicycle*pTemp;
structbicycle*pPre;
pTemp=pHead;
intiIndex=0;
printf("\n請(qǐng)輸入要?jiǎng)h除自行車的編號(hào):");
scanf("%s",number);
while(pTemp!=NULLflag){
if(strcmp(pTemp-bic_num,number)==0){
printf("\n%s找到了,將要?jiǎng)h除的信息如下\n\n",number);
//顯示將要?jiǎng)h除人的信息
printf("\t姓名
性別
電話自行車編號(hào)\n");
printf("\t%s
%s
%s
%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);
printf("\n");
flag=0;
printf("確認(rèn)刪除請(qǐng)輸1,否則按任意數(shù)字鍵退出\n");
scanf("%d",option);
}
pTemp=pTemp-next;
iIndex++;
}
if(flag==1)
{printf("編號(hào)%s不存在!",number);
return;}
if(option==1){
pTemp=pHead;
pPre=pTemp;//可能多余
//printf("----------刪除第%d個(gè)學(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ù)無法進(jìn)行此操作,按任意鍵退出!\n");
else
{
//33
charname[12];
int
i,flag=1;
charoption;
structbicycle*pTemp;
structbicycle*pPre;
pTemp=pHead;
intiIndex=0;
printf("\n請(qǐng)輸入要?jiǎng)h除自行車對(duì)應(yīng)戶主的姓名:");
scanf("%s",name);
while(pTemp!=NULLflag){
if(strcmp(pTemp-name,name)==0){
printf("\n%s找到了,將要?jiǎng)h除的信息如下\n\n",name);
//顯示將要?jiǎng)h除人的信息
printf("\t姓名
性別
電話自行車編號(hào)\n");
printf("\t%s
%s
%s
%s\n",pTemp-name,pTemp-sex,pTemp-tele_num,pTemp-bic_num);
printf("\n");
flag=0;
printf("確認(rèn)刪除請(qǐng)輸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個(gè)學(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請(qǐng)輸入你要修改自行車信息對(duì)應(yīng)自行車的編號(hào):");
scanf("%s",number);
while(pTemp!=NULLflag)
{
if(strcmp(pTemp-bic_num,number)==0)
{
printf("將要修改的學(xué)號(hào)%s具體信息如下\n",number);
printf("\t姓名
性別
電話自行車編號(hào)\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é)號(hào)%s不存在!",number);
else
{
printf("確認(rèn)修改請(qǐng)按1,放棄請(qǐng)按任意數(shù)字鍵!\n請(qǐng)選擇:");
scanf("%d",post);
while(post==1)
{
printf("請(qǐng)選擇你要修改的項(xiàng)目(1.姓名2.性別3.電話號(hào)碼4.自行車的編號(hào)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("新編號(hào):");
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("新編號(hào):");
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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)門衛(wèi)合同協(xié)議書
- 親子餐廳可行性研究
- 空調(diào)合同協(xié)議書范本
- 游泳學(xué)員培訓(xùn)合同協(xié)議書
- 團(tuán)隊(duì)旅游合同協(xié)議書模板
- 音樂活動(dòng)背景策劃書3
- 合同協(xié)議書防止賣方漲價(jià)
- 2025年鑄鐵及相關(guān)金屬制衛(wèi)生、廚房器具、餐具項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模稿
- 學(xué)校保潔員合同協(xié)議書
- 豬偽狂犬病的流行診斷及防控措施
- 花崗巖石開采方案范本
- 中藥配方顆粒藥房管理制度
- 水壓試壓情況記錄表
- 澤康(CERCON)氧化鋯 全瓷牙介紹
- 噴氣動(dòng)力飛機(jī)
- GB/T 22561-2023真空熱處理
- 生物質(zhì)材料及應(yīng)用課件
- 疫情統(tǒng)計(jì)學(xué)知到章節(jié)答案智慧樹2023年浙江大學(xué)
- 四年級(jí)下冊(cè)英語競(jìng)賽試題
- 長(zhǎng)輸管道工序監(jiān)理作業(yè)指導(dǎo)書
- 三年級(jí)混合計(jì)算練習(xí)題
評(píng)論
0/150
提交評(píng)論