课程设计源代码
来源:互联网 发布:网络修复大师 编辑:程序博客网 时间:2024/04/20 03:14
- /*
- 烟台大学计算机学院
- 文件名称:goushuai.cpp
- 作者:张俊杰
- 完成日期:2017年12月22日
- 问题描述:通讯录系统
- */
main.cpp
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include "zccc.h"int main(){ Link *L; system("color 7e"); static char name[100]; static char num[100]; Initlist(L);//初始化单链表 while(1) { printf(" ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n"); printf(" ★ ☆\n"); printf(" ☆ 通讯录 ★\n"); printf(" ★ 1.录入信息 ☆\n"); printf(" ☆ 2.查询信息 ★\n"); printf(" ★ 3.信息排序 ☆\n"); printf(" ★ 4.浏览信息 ☆\n"); printf(" ☆ 5.修改信息 ★\n"); printf(" ★ 6.删除信息 ☆\n"); printf(" ☆ 7.查看用户数 ★\n"); printf(" ☆ 0.退出系统 ★\n"); printf(" ★ ☆\n"); printf(" ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆\n"); printf("请输入:"); int s; scanf("%d",&s); switch(s) { case 1: { int m; Creatlist(L); do{ system("cls"); printf("继续输入请按1,返回上层请按2:"); getchar(); scanf("%d",&m); if(m==1) Creatlist(L); }while(m!=2); break; } case 2: { system("cls"); int n; printf("1、按姓名查找\n"); printf("2、按编号查找\n"); scanf("%d",&n); if(n==1) { printf("请输入要查找人的姓名: \n"); scanf("%s",name); SearchName(L,name); } if(n==2) { printf("请输入要查找的编号: \n"); scanf("%s",num); SearchNum(L,num); } break; } case 3: { printf("排序已完成\n"); printf("排序结果如下:\n"); SortNum(L); Display(L); break; } case 4: { system("cls"); Display(L); break; } case 5: { system("cls"); printf("请输入需要修改信息的个人编号: \n"); getchar(); scanf("%s",num); Alter(L,num); break; } case 6: { char g; system("cls"); printf("请输入所要删除的学生的编号: \n"); getchar(); scanf("%s",num); printf("是否确定删除该同学:(Y/N)"); scanf("%s",&g); if(g=='Y') { Del(L, num); } else { printf("输入错误,请重新输入Y/N"); } break; } case 7: { Print(L); break; } case 0: { printf("谢谢使用 \n"); break; default: break; } } } return 0;}zccc.h
#ifndef ZCCC_H_INCLUDED#define ZCCC_H_INCLUDED#include <stdio.h>#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>typedef struct telebook{ char num[30];/*编号*/ char name[30];/*姓名*/ char addr[30];/*地址*/ char telenum[30];/*手机号*/}tele;typedef struct LNode{ tele data; struct LNode* next;}Link;void Initlist(Link *&L);//初始化单链表void Creatlist(Link *&L);//头插法生成单链表void SearchNum(Link *L,char num[30]);//编号查询void Del(Link *&L,char num[30]);//按编号删除void SearchName(Link *L,char name[30]);//姓名查询void Alter(Link *L,char num[30]);//更改信息void Display(Link *&L);//显示信息void SortNum(Link *L);//编号排序void Print(Link *L); //显示通讯录人数#endif // ZCCC_H_INCLUDED
zzzc.cpp
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include "zccc.h"void Initlist(Link *&L)//初始化线性表{ L=(Link *)malloc(sizeof(Link)); //分配内存空间 L->next=NULL;}void Print(Link *L) //显示通讯录人数功能{ int num=0; Link *p; p=L; while(p) { p=p->next; num++; } printf("\n该通讯录共有信息数:%d\n",num-1);}void Creatlist(Link *&L)//头插法生成单链表{ Link *r; r=(Link *)malloc(sizeof(Link)); printf("请录入个人信息\n"); printf("编号: \n"); scanf("%s",r->data.num); printf("姓名: \n"); scanf("%s",r->data.name); printf("地址: \n"); scanf("%s",r->data.addr); printf("手机号: \n"); scanf("%s",r->data.telenum); r->next=L->next; L->next=r;}void Alter(Link *L,char num[30])//修改个人信息{ Link *p; p=L; int s; while(p) { if(strcmp(p->data.num,num)==0) { printf("请输入你要修改的信息:1.修改编号 2.修改姓名 3.修改地址 4.修改手机号\n"); printf("请选择:"); scanf("%d",&s); switch(s) { case 1: { printf("请输入编号: ",p->data.num); scanf("%s",p->data.num); printf("信息修改成功\n"); break; } case 2: { printf("请输入姓名: ",p->data.name); scanf("%s",p->data.name); printf("信息修改成功\n"); break; } case 3: { printf("请输入地址: ",p->data.addr); scanf("%s",p->data.addr); printf("信息修改成功\n"); break; } case 4: { printf("请输入手机号: ",p->data.telenum); scanf("%s",p->data.telenum); printf("该学生的信息修改成功\n"); break; } } } p=p->next; }}void Del(Link *&L, char num[100])//按编号进行删除{ Link *p,*q; p=L; q=L->next; char flag=0; while(q) { if(strcmp(q->data.num,num)==0) { p->next=q->next; free(q); flag=1; break; } p=p->next; q=q->next; } if(!flag) { printf("对不起,该编号不存在 \n"); } printf("删除成功\n");}void Display(Link *&L)//显示信息{ Link *p; p=L->next; char flat=0; while(p) { printf("编号\t姓名\t地址\t手机号\n"); for(p=L->next;p;p=p->next) { printf("%s\t%s\t%s\t%s\n",p->data.num,p->data.name,p->data.addr,p->data.telenum); flat=1; } } if(!flat) { printf("无法显示信息 \n"); }}void SearchName(Link *L,char name[100])//学号查询 { Link *p; p=L; char flat=0; while(p) { if(p!=NULL) { if(strcmp(p->data.name,name)==0) { printf("学号: %s\n",p->data.num); printf("姓名: %s\n",p->data.name); printf("地址: %s\n",p->data.addr); printf("手机号: %s\n",p->data.telenum); flat=1; } } p=p->next; } if(!flat) { printf("对不起输入姓名错误或该信息已被删除,请重新输入进行查询 \n"); } }void SearchNum(Link *L,char num[100])//学号查询 { Link *p; p=L; char flat=0; while(p) { if(p!=NULL) { if(strcmp(p->data.num,num)==0) { printf("编号: %s\n",p->data.num); printf("姓名: %s\n",p->data.name); printf("地址: %s\n",p->data.addr); printf("手机号: %s\n",p->data.telenum); flat=1; } } p=p->next; } if(!flat) { printf("对不起输入编号错误或该信息已被删除,请重新输入进行查询 \n"); } }void SortNum(Link *L)//按编号排序{ Link *p,*q; tele temp; for(p=L->next;p!=NULL;p=p->next) { for(q=p->next;q!=NULL;q=q->next) { if(strcmp(p->data.num,q->data.num)>0) { temp=q->data; q->data=p->data; p->data=temp; } } }}
阅读全文
0 0
- 课程设计源代码
- 课程设计源代码
- 课程设计 通讯录源代码
- 数据结构课程设计源代码
- 数据结构课程设计学生成绩管理系统源代码
- C++ 课程设计学生成绩管理系统源代码
- 数据结构课程设计——源代码
- 王爽-汇编语言 课程设计1 汇编源代码
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 23种设计模式——代理模式
- android开发环境下载
- jsp详细介绍
- Python 3.6.4下载安装以及Python文本编辑器Sublime Text3下载、破解、汉化、环境搭配ctrl+B或f5运行程序
- git rm简介
- 课程设计源代码
- 【SMSCB】SMSCB协议介绍
- 阿里云DataHub常见问题
- spring- boot 发送邮件接口+freemarker视图模板引擎
- utils/deb_build.sh
- 程序员的职业生涯阶段
- tomcat 运行classNotFound和classDefNotFound问题解决
- pgSql分区表新建及过程(BBB,ZJLJB)
- Only an OpenJDK based JDK is supported.编译8.0