亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言實現(xiàn)自行車存放管理系統(tǒng)

 更新時間:2022年08月31日 11:06:41   作者:改改改不完的Bug......  
這篇文章主要為大家詳細介紹了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.界面:設計總體菜單界面。

附加項目:

登錄、注冊部分;
(密碼設置密碼的隱式輸出、簡單的加密解密)

附代碼:

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
?
struct bicycle{
?? ?char tele_num[12];//用戶的電話號碼?
?? ?char name[13];//用戶的姓名
?? ?char sex[7];//用戶的性別?
?? ?char bic_num[12];//自行車的編號?
?? ?struct bicycle *next;
};
?
?
int iCount=0;
struct bicycle *pHead=NULL;
?
void key();?
void menu();
void create();
void print();?
void insert();
void search();
void dele();
void modify();
void excheng(struct bicycle *pStra,struct bicycle *Midd);?
void sort();?
?
int main(){
?? ?
?? ?
? ? menu();
?? ?printf("123");
?? ?
?? ?return 0;
}
?
//密碼管理頁面?
void key(){ ??
?? ?char key[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 ;
?? ??? ?}
?? ? }
}
?
//顯示景點的信息?
void menu(){
?? ?key();?
?? ?int select=-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){
? ? ? case 1:
? ? ? ?? ?create();?
?? ??? ? ?break;?
? ? ? case 2:
? ? ? ?? ?modify();?
? ? ? ? ?break;
? ? ? case 3:
? ? ? dele();?
? ? ? ? break;
? ? ? case 4:
? ?? ??? ?search();?
? ? ? ? break; ? ?
? ? ? case 5:
? ?? ??? ?print();?
? ? ? ? break; ?
? ? ? case 6:
? ?? ??? ?sort();?
? ? ? ? break; ?
? ? ? case 7:
? ?? ??? ?insert();?
? ? ? ? break; ?
? ? ? case 0:break;
? ? ? default:
? ? ? ? exit(1);
? ? ? ? break;
? ? }
? }?? ?
?? ?
?? ?
}?
?
//創(chuàng)建鏈表函數(shù)
void create(){
?? ?//頁面優(yōu)化
?? ?system("cls");
?? ?
?? ?struct bicycle *pEnd,*pNew;
?? ?struct bicycle *p;
? ? pEnd=pNew=(struct bicycle *)malloc(sizeof(struct bicycle));
?
?? ?printf("請輸入存放自行車的信息(退出請按0):\n");
?
?? ?//錄入自行車編號,編號不可以重復
? ? int flag1=1,flag2,n;?
?? ?struct bicycle *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(n&&flag2){
?? ??? ??? ? ? 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;
?? ??? ? ?else printf("性別輸入不規(guī)范,請核對后重輸!\n");
?? ??? ?}
?? ? ? ?
?? ? ? ?//電話必須11位數(shù),否則是不規(guī)范的
?? ??? ?while(1){
?? ??? ? ?printf("電話(11位數(shù)):");
?? ? ? ? ?scanf("%s",pNew->tele_num);
?? ??? ? ?if(strlen(pNew->tele_num)==11) break;
?? ??? ? ?else printf("電話輸入不規(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(p&&p->next!=NULL) p=p->next;
?? ??? ?{
?? ? ? ? ?p->next=pNew;
?? ??? ? ?pNew->next=NULL;
?? ??? ?}
?? ??? ?}
? ? ? pNew=(struct bicycle *)malloc(sizeof(struct bicycle));
?
?
?? ? ?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(n&&flag2){
?? ??? ??? ? ? 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;
?? ??? ? ?else printf("性別輸入不規(guī)范,請核對后重輸!\n");
?? ??? ?}
?? ? ? ?
?? ? ? ?//電話必須11位數(shù),否則是不規(guī)范的
?? ??? ?while(1){
?? ??? ? ?printf("電話(11位數(shù)):");
?? ? ? ? ?scanf("%s",pNew->tele_num);
?? ??? ? ?if(strlen(pNew->tele_num)==11) break;
?? ??? ? ?else printf("電話輸入不規(guī)范,必須11位數(shù)!\n");
?? ??? ?}
?? ? ? ?
?? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//22
?? ??? ?
?? ?}
?
?? ?free(pNew);
}
?
//輸出鏈表自行車的信息
void print(){
?? ?
?? ?//頁面優(yōu)化
?? ?system("cls");
?? ?printf("\n\n\t\t\t\t===================5.打印自行車的信息===================\n");?
?
?? ?struct bicycle *pTemp;
?? ?int iIndex=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();
}
?
//插入自行車的信息
void insert(){
?? ?//頁面優(yōu)化
?? ?system("cls");
?? ?printf("\n\n\t\t\t\t===================7.插入自行車的信息===================\n");?
?? ?printf("#\n說明:插入任意位置都可以\n#");
?? ?create();
? ?printf("插入信息成功,");?
? ?printf("按任意鍵返回上一級");?
? ?getch();
}?
?
//信息查詢函數(shù)
void search(){?
?? ?//頁面優(yōu)化
?? ?
?? ?printf("\n\n\t\t\t\t===================4.查詢自行車的信息===================");?
?
?? ?int select=-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);
? ??
? ? ? ?
?? ? ? int flag=1,flag1=1;
?? ? ? char number[12];
?? ? ? char name[12];
?? ? ? struct bicycle *pTemp=pHead;
?
?? ? ? //按自行車的編號查詢
?? ? ? if(select==1){
?? ? ? ?? ?
?? ? ? printf("請輸入你要查找的自行車編號:");
?? ? ? scanf("%s",number);
?? ? ? ? ? while(pTemp!=NULL&&flag)
?? ??? ? ? {
?? ??? ? ? ? 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!=NULL&&flag)
?? ??? ? ? {
?? ??? ? ? ? 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ù)
void dele(){
?? ?//頁面優(yōu)化
?? ?system("cls");
?? ?printf("\n\n\t\t\t\t===================3.刪除自行車的信息(按編號)===================");?
?
? ? int select=-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;
?? ?else if(select==1||select==2) break;
?? ?else printf("輸入有誤請重新輸入\n");
}
?
if(select==1){
?? ??? ?
?? ? ? ?if(iCount==0) ?printf("\n\n暫無數(shù)據(jù)無法進行此操作,按任意鍵退出!\n");
?? ??? ?else
?? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//33
?? ?
?? ??? ?char number[12];
?? ??? ?int ?i,flag=1;
?? ??? ?char option;
?? ??? ?struct bicycle *pTemp;
?? ??? ?struct bicycle *pPre;
?? ??? ?pTemp=pHead;
?? ?
?? ??? ?int iIndex=0;
?? ??? ?printf("\n請輸入要刪除自行車的編號:");
?? ? ? ?scanf("%s",number);
?? ?
?? ??? ?while(pTemp!=NULL&&flag){
?? ??? ??? ?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個學生----------\n",iIndex);
?? ?
?? ??? ? ? if(iIndex!=1)
?? ??? ? ? {
?? ??? ? ? ? ? for(i=1;i<iIndex;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
?
?? ?char name[12];
?? ?int ?i,flag=1;
?? ?char option;
?? ?struct bicycle *pTemp;
?? ?struct bicycle *pPre;
?? ?pTemp=pHead;
?
?? ?int iIndex=0;
?? ?printf("\n請輸入要刪除自行車對應戶主的姓名:");
? ? scanf("%s",name);
?
?? ?while(pTemp!=NULL&&flag){
?? ??? ?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個學生----------\n",iIndex);
?
?? ? ? if(iIndex!=1)
?? ? ? {
?? ? ? ? ? for(i=1;i<iIndex;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.修改自行車的信息
void modify(){
?? ?
?? ?//頁面優(yōu)化
?? ?system("cls");
?? ?printf("\n\n\t\t\t\t===================2.修改自行車的信息===================");?
?
?? ?int post;
?? ?int flag=1,flag1;
?? ?char number[12];
?? ?struct bicycle *pTemp=pHead,*pPre=pTemp;
?? ?
?? ?printf("\n請輸入你要修改自行車信息對應自行車的編號:");
?? ?scanf("%s",number);
?? ?
?? ?while(pTemp!=NULL&&flag)
?? ?{
?
?? ??? ?if(strcmp(pTemp->bic_num,number)==0)?
?? ??? ?{
?? ??? ??? ?printf("將要修改的學號%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("你要修改的學號%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("修改完成,按任意鍵退出!");
?? ??? ? ? }
?
?? ??? ? ? else if(flag1==2)
?? ??? ? ? {
?? ??? ??? ? ? printf("新性別:");
?? ??? ??? ? ? scanf("%s",pPre->sex);
?? ??? ??? ? ? printf("修改完成,按任意鍵退出!");
?? ??? ? ? }
?
?? ??? ? ? else if(flag1==3)
?? ??? ? ? {
?? ??? ? ? ?? ?
?? ??? ??? ? ?while(1){
?? ??? ??? ? ?printf("電話(11位數(shù)):");
?? ??? ? ? ? ?scanf("%s",pPre->tele_num);
?? ??? ??? ? ?if(strlen(pPre->tele_num)==11) break;
?? ??? ??? ? ?else printf("電話輸入不規(guī)范,必須11位數(shù)!\n");
?? ??? ??? ??? ?}?? ?
?? ??? ??? ??? ?
?? ??? ??? ? ? printf("修改完成,按任意鍵退出!");
?? ??? ? ? }
?
?? ??? ? ? else if(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;
?? ??? ??? ? ?else printf("電話輸入不規(guī)范,必須11位數(shù)!\n");
?? ??? ??? ?}?? ?
?? ??? ??? ??? ?
?? ??? ??? ? ? printf("新編號:");
?? ??? ??? ? ? scanf("%s",pPre->bic_num);
?? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?break;?? ?
?? ??? ?}
?? ?
?? ?
?? ?}
?
?? ?printf("修改完成,按任意鍵退出");?
?? ?getch();
?
}
?
//交換函數(shù)
void excheng(struct bicycle *pStra,struct bicycle *pMidd){
?? ?int t;
?? ?struct bicycle *pTemp;
?? ?pTemp=(struct bicycle *)malloc(sizeof(struct bicycle));
?
?? ?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.自行車信息的排序
void sort(){
?? ?
?? ?//頁面優(yōu)化
?? ?printf("\n\n\t\t===================4.排序系統(tǒng)===================");?
?
? ? int i,j;
?? ?struct bicycle *pStra,*pMidd;
?
?? ?int result;
?? ?int select=-1;
?? ?while(select!=0)
?? ?{
?? ? ? system("cls");
? ? ? ?printf("\n\t\t\t=======請選擇功能列表=======\n");
? ? ? ?printf("\t\t\t1.按自行車編號升序排序(lv4)\n");
? ? ? ?printf("\t\t\t2.按自行車編號降序排序(lv1)\n");
?? ? ? printf("\t\t\t3.按姓名升序排序(lv4)\n");
? ? ? ?printf("\t\t\t4.按姓名降序排序(lv1)\n");
? ? ? ?printf("\t\t\t0.退出此頁面(lv4)\n");
??
? ? ? ?printf("請選擇:");
? ? ? ?scanf("%d",&select);
?
?? ??? ?result=select;
?? ??? ?if(select!=1&&select!=2&&select!=3&&select!=4) return;
?? ??? ?
?
?? ?pStra=pHead;
?? ?pMidd=pStra->next;
?? ?
?? ?
? ? ?for(i=0;i<iCount;i++)
?? ? {
?? ??? ?pStra=pHead;
?? ? ? ?pMidd=pStra->next;
?
?? ??? ? ?for(j=0;j<iCount-i-1&&pMidd!=NULL;j++)
?? ??? ? ?{
?? ??? ??? ? ?if(result==1) ?{if(strcmp(pStra->bic_num,pMidd->bic_num)>0) ? ? ? ? ? excheng(pStra,pMidd);}
?? ??? ??? ? ?else if(result==2) ?{if(strcmp(pStra->bic_num,pMidd->bic_num)<0) ? ? ?excheng(pStra,pMidd);}
?? ??? ??? ? ?else if(result==3) ?{if(strcmp(pStra->name,pMidd->name)>0) ? ?excheng(pStra,pMidd);}
?? ??? ??? ? ?else if(result==4) ?{if(strcmp(pStra->name,pMidd->name)<0) ? ?excheng(pStra,pMidd);}
?? ??? ??? ?pStra=pMidd;
?? ??? ??? ?pMidd=pMidd->next;
?? ??? ? ?} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?? ? }
?
?
?printf("\t\t\t5.顯示排完序后的結(jié)果為:\n\n");
?printf("------------------------------------------------------");
??? ?struct bicycle *pTemp;
?? ?int iIndex=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("------------------------------------------------------");
?
?
?printf("\n\n排序成功,按任意鍵返回!");
?
?? ?getch();
}
?
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++獲得文件狀態(tài)信息的方法

    C++獲得文件狀態(tài)信息的方法

    這篇文章主要介紹了C++獲得文件狀態(tài)信息的方法,包括文件狀態(tài)信息、文件所在磁盤盤符、文件創(chuàng)建時間、訪問時間及修改日期等,需要的朋友可以參考下
    2015-07-07
  • C語言break和continue的語句用法

    C語言break和continue的語句用法

    這篇文章主要介紹了C語言break和continue的語句用法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Qt實現(xiàn)畫筆功能

    Qt實現(xiàn)畫筆功能

    這篇文章主要為大家詳細介紹了Qt實現(xiàn)畫筆功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++11中的原子量和內(nèi)存序詳解

    C++11中的原子量和內(nèi)存序詳解

    這篇文章主要給大家介紹了關(guān)于C++11中原子量和內(nèi)存序的相關(guān)資料,文中通過示例代碼介紹地方非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • C++實現(xiàn)商店倉庫管理系統(tǒng)

    C++實現(xiàn)商店倉庫管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)商店倉庫管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++使用模板實現(xiàn)單鏈表

    C++使用模板實現(xiàn)單鏈表

    這篇文章主要為大家詳細介紹了C++使用模板實現(xiàn)單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++ OpenCV實戰(zhàn)之網(wǎng)孔檢測的實現(xiàn)

    C++ OpenCV實戰(zhàn)之網(wǎng)孔檢測的實現(xiàn)

    這篇文章主要介紹了如何利用C++和OpenCV實現(xiàn)網(wǎng)孔檢測,文中的示例代碼講解詳細,對我們學習OpenCV有一定幫助,感興趣的小伙伴可以了解一下
    2022-05-05
  • C++?如何使用棧求解中綴、后綴表達式的值

    C++?如何使用棧求解中綴、后綴表達式的值

    這篇文章主要介紹了C++?使用棧求解中綴、后綴表達式的值,本文講解了中綴、后綴表達式的求值過程以及如何將一個中綴表達式轉(zhuǎn)換成后綴表達式,需要的朋友可以參考下
    2022-10-10
  • 淺析C語言位域和位段

    淺析C語言位域和位段

    以下是對C語言中的位域和位段進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • C語言編程銀行ATM存取款系統(tǒng)實現(xiàn)源碼

    C語言編程銀行ATM存取款系統(tǒng)實現(xiàn)源碼

    這篇文章主要為大家介紹了C語言編程銀行ATM存取款系統(tǒng)實現(xiàn)的源碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11

最新評論