日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++班级通讯录

發(fā)布時間:2025/3/12 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++班级通讯录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C++實(shí)現(xiàn)班級通訊錄管理系統(tǒng)

設(shè)計流程
本系統(tǒng)基于C++實(shí)現(xiàn)班級通訊錄管理系統(tǒng)。功能包括增、刪、查、改等。通訊錄包括的個人信息有姓名、學(xué)號、性別、籍貫、政治面貌、手機(jī)號、QQ號、宿舍等。主要用到了指針、結(jié)構(gòu)體、遍歷鏈表、文件讀取等知識點(diǎn)。

優(yōu)點(diǎn)
1 . 此系統(tǒng)含有歡迎使用的頁面,之后進(jìn)入功能頁面。
2 . 功能設(shè)計根據(jù)實(shí)際情況設(shè)計能夠最大限度滿足現(xiàn)實(shí)需求。
3 . 界面簡潔易懂,操作簡單。

頁面效果

完整代碼

#include<stdio.h> #include<string.h> #include<stdlib.h> #include<windows.h> typedef struct student //定義結(jié)構(gòu)體 {char name[20]; //姓名char num[15]; //學(xué)號char sex[10]; //性別char from[20]; //籍貫char political[10]; //政治面貌char phone[15]; //手機(jī)號char QQ[15]; //QQ號char dorm[10]; //宿舍struct student *next; //結(jié)構(gòu)體指針 }stu; stu *head;void print() //主菜單 {system("cls");printf("\n\n\n");printf(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");printf(" ***********************************************************\n");printf(" \t\t\t班級通訊錄管理系統(tǒng)\n");printf("\n");printf(" \t\t1. 輸入數(shù)據(jù)");printf("\t\t2. 顯示數(shù)據(jù)\n");printf(" \t\t3. 插入數(shù)據(jù)");printf("\t\t4. 刪除數(shù)據(jù)\n");printf(" \t\t5. 查看數(shù)據(jù)");printf("\t\t6. 修改數(shù)據(jù)\n");printf(" \t\t7. 保存數(shù)據(jù)");printf("\t\t8. 返回主菜單\n");printf(" ***********************************************************\n");printf(" ~~~~~退~~~~~~~~~~出~~~~~~~~~~請~~~~~~~~~~按~~~~~~~~~~9~~~~~\n");printf(" -----------------------------------------------------------\n\n"); }void input(stu *p1) //輸入相關(guān)數(shù)據(jù) {printf("姓名:");scanf("%s",&p1->name);printf("學(xué)號:");scanf("%s",&p1->num);printf("性別:");scanf("%s",&p1->sex);printf("籍貫:");scanf("%s",&p1->from);printf("政治面貌:");scanf("%s",&p1->political);printf("手機(jī)號:");scanf("%s",&p1->phone);printf("QQ號:");scanf("%s",&p1->QQ);printf("宿舍:");scanf("%s",&p1->dorm); }stu * inputdata() //數(shù)據(jù)輸入的函數(shù) {stu *p1,*p2;int i=1;p1=(stu *)malloc(sizeof(stu));if(p1!=NULL){head=p1;printf("\n\t\t\t☆☆☆輸入數(shù)據(jù)☆☆☆\n");printf("------------------------------------------------------------------\n");printf("在姓名處輸入“ok”代表輸入數(shù)據(jù)結(jié)束\n");while(i){printf("姓名:");scanf("%s",&p1->name);if(strcmp(p1->name,"ok")==0){printf("\n輸入完畢!\n");printf("========================================================================\n");i=0;p2->next=NULL;free(p1);p1=p2;}else{printf("學(xué)號:");scanf("%s",&p1->num);printf("性別:");scanf("%s",&p1->sex);printf("籍貫:");scanf("%s",&p1->from);printf("政治面貌:");scanf("%s",&p1->political);printf("手機(jī)號:");scanf("%s",&p1->phone);printf("QQ號:");scanf("%s",&p1->QQ);printf("宿舍:");scanf("%s",&p1->dorm);printf("=====================================\n");p2=p1;p1=(stu *)malloc(sizeof(stu));if(p1!=NULL){p2->next=p1;}}}return(p1->next);} }stu * lookdata(stu *p1) //查看數(shù)據(jù)的函數(shù) {printf("\n\t\t\t☆☆☆顯示數(shù)據(jù)☆☆☆\n");printf("----------------------------------------------------------------------\n");while(p1!=NULL){printf("姓名:%s\n",p1->name);printf("學(xué)號:%s\t",p1->num);printf("性別:%s\t",p1->sex);printf("籍貫:%s\t",p1->from);printf("政治面貌:%s\t",p1->political);printf("手機(jī)號:%s\t",p1->phone);printf("QQ號:%s\t",p1->QQ);printf("宿舍:%s\n",p1->dorm);printf("======================================================================\n");p1=p1->next;}return p1; }void insert() //插入數(shù)據(jù) {int i;char named[20];stu *p1,*p2,*p3;p1=head;p3=(stu *)malloc(sizeof(stu));p3->next=NULL;printf("\n\t\t\t☆☆☆插入數(shù)據(jù)☆☆☆\n");printf("----------------------------------------------------------------------\n");printf("請輸入插入者的資料:\n");input(p3);printf("\n插入選項\n");printf("1.首位置插入\t2.尾位置插入\t3.前插\n");printf("請輸入你的選擇:");scanf("%d",&i);switch(i){case 1:p3->next=p1;head=p3;break;case 2:while(p1->next!=NULL){p2=p1;p1=p1->next;}p1->next=p3;break;case 3:printf("請輸入姓名(前插):");scanf("%s",named);while(strcmp(named,p1->name)!=0){p2=p1;p1=p1->next;}p2->next=p3;p3->next=p1;break;}printf("插入成功!\n");printf("======================================================================\n");return; }void deleted() //刪除數(shù)據(jù) {stu *p1,*p2;char Name[20]; //想要刪除的人的姓名printf("\n\t\t\t☆☆☆刪除數(shù)據(jù)☆☆☆\n");printf("----------------------------------------------------------------------\n");printf("請輸入要刪除的姓名:");scanf("%s",Name);p1=head;if(head==NULL){printf("內(nèi)存沒有存儲任何數(shù)據(jù)!\n");printf("======================================================================\n");return;}if(strcmp(Name,p1->name)==0){head=p1->next;printf("刪除成功!\n");printf("======================================================================\n");return;}while(p1!=NULL&&(strcmp(Name,p1->name)!=0)){p2=p1;p1=p1->next;}if(p1==NULL){printf("此人不存在!\n");printf("======================================================================\n");return;}if(p1->next!=NULL){p1=p1->next;p2->next=p1;printf("刪除成功!\n");printf("======================================================================\n");return;}else{p2->next=NULL;printf("刪除成功!\n");printf("======================================================================\n");return;} }find(stu *p2) //通過姓名查找查看數(shù)據(jù)的函數(shù) {char name[20];int b=0;printf("\n\t\t\t☆☆☆查看數(shù)據(jù)☆☆☆\n");printf("----------------------------------------------------------------------\n");printf("請輸入您想查找人的姓名:");scanf("%s",name);while(p2!=NULL){if(strcmp(name,p2->name)==0){printf("你要找到的數(shù)據(jù)\n");printf("姓名:%s\n",p2->name);printf("學(xué)號:%s\t",p2->num);printf("性別:%s\t",p2->sex);printf("籍貫:%s\t",p2->from);printf("政治面貌:%s\t",p2->political);printf("手機(jī)號:%s\t",p2->phone);printf("QQ號:%s\t",p2->QQ);printf("宿舍:%s\n",p2->dorm);printf("======================================================================\n");b=1;}p2=p2->next;}if(b==0){printf("\n您要查找的人不存在!\n");} }update(stu *p2) //通過姓名查找修改數(shù)據(jù) {char name[20];int b=0,i;printf("\n\t\t\t☆☆☆修改數(shù)據(jù)☆☆☆\n");printf("----------------------------------------------------------------------\n");printf("請輸入將要修改人的姓名:");scanf("%s",name);while(p2!=NULL){if(strcmp(name,p2->name)==0){printf("該同學(xué)的基本信息\n");printf("姓名:%s\n",p2->name);printf("學(xué)號:%s\t",p2->num);printf("性別:%s\t",p2->sex);printf("籍貫:%s\t",p2->from);printf("政治面貌:%s\t",p2->political);printf("手機(jī)號:%s\t",p2->phone);printf("QQ號:%s\t",p2->QQ);printf("宿舍:%s\n",p2->dorm);printf("\n請選擇要修改的信息\n");printf("\t1.姓名\t2.學(xué)號\t3.性別\t4.籍貫\n\t5.政治面貌\t6.手機(jī)號\t7.QQ\t8.宿舍\n");printf("\n您的選擇是(1~8):");scanf("%d",&i);printf("請輸入修改之后的內(nèi)容\n");switch(i){case 1:printf("姓名:");scanf("%s",&p2->name);break;case 2:printf("學(xué)號:");scanf("%s",&p2->num);break;case 3:printf("性別:");scanf("%s",&p2->sex);break;case 4:printf("籍貫:");scanf("%s",&p2->from);break;case 5:printf("政治面貌:");scanf("%s",&p2->political);break;case 6:printf("手機(jī)號:");scanf("%s",&p2->phone);break;case 7:printf("QQ:");scanf("%s",&p2->QQ);break;case 8:printf("宿舍:");scanf("%d",&p2->dorm);break;}printf("\n修改成功!\n");printf("=========================================================================\n");b=1;}p2=p2->next;}if(b==0){printf("沒有找到該人的資料!\n");} }save(stu *p2) //保存數(shù)據(jù) {FILE *fp;char file[15];printf("\n\t\t\t☆☆☆保存數(shù)據(jù)☆☆☆\n");printf("----------------------------------------------------------------------\n");printf("輸入文件名:");scanf("%s",file);if((fp=fopen(file,"w"))==NULL){printf("cannot open this file\n");exit(0);}fprintf(fp,"姓名\t學(xué)號\t性別\t籍貫\t政治面貌\t手機(jī)號\tQQ號\t宿舍\n");while(p2!=NULL){fprintf(fp,"%s\t",p2->name);fprintf(fp,"%s\t",p2->num);fprintf(fp,"%s\t",p2->sex);fprintf(fp,"%s\t",p2->from);fprintf(fp,"%s\t",p2->political);fprintf(fp,"%s\t",p2->phone);fprintf(fp,"%s\t",p2->QQ);fprintf(fp,"%s\n",p2->dorm);p2=p2->next;}printf("\n保存成功!\n");printf("======================================================================\n");fclose(fp); }void screen() {int i;char s[251]={"歡迎使用班級通訊錄管理系統(tǒng),\n\n\t\t\t本系統(tǒng)用于通訊錄管理----排序,打印\n\n\n\t\tWelcome to use class address book\n\n\t\t management system,sorting,printing"};printf("\n================================================================================\n");printf("\n\n\n\t\t\t");for(i=0;s[i]!=NULL;i++){Sleep(30);printf("%c",s[i]);}printf("\n\n\n\n\n\n\n\n\t\t ~ Hi~ o(* ̄▽ ̄*)ブ~ ~ ~祝您使用愉快~ ~\n");printf("================================================================================\n");}int main(void) {int i;system("color 01");screen();Sleep(3000);print();while(1){printf("請輸入你的選擇(1~9):");loop:scanf("%d",&i);if(i<1||i>9){printf("輸入有誤,請在1~9中進(jìn)行選擇:");goto loop;}switch(i){case 1:inputdata();break;case 2:lookdata(head);break;case 3:insert();break;case 4:deleted();break;case 5:find(head);break;case 6:update(head);break;case 7:save(head);break;case 8:print();break;case 9:exit(1);break;}} }

總結(jié)

以上是生活随笔為你收集整理的C++班级通讯录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。