返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现通讯录系统课程设计
  • 265
分享到

C语言实现通讯录系统课程设计

2024-04-02 19:04:59 265人浏览 八月长安
摘要

本文实例为大家分享了C语言实现通讯录系统的具体代码,供大家参考,具体内容如下 设计要求 1.单位、个人信息查询2.打开、写入保存这些信息的文件 完整代码 #include <s

本文实例为大家分享了C语言实现通讯录系统的具体代码,供大家参考,具体内容如下

设计要求

1.单位、个人信息查询
2.打开、写入保存这些信息的文件

完整代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct Userinfo // 定义结构体类型;封装个人的信息
{
    char name[20]; // 用户姓名
    char sex[2]; // 性别
    char cname[20]; // 单位
    char mobileNumber[11]; // 手机
} Userinfo;

typedef struct Companyinfo // 定义结构体类型;封装个人的信息
{
    char companyname[20]; // 姓名
    char companyaddress[200]; // 单位地址
    char telphone[8]; // 电话
} Companyinfo;

    int count = 0; //系统中的现有人数
    int countu = 0; //系统中的现有人数

void insertuserinfo(Userinfo *userinfo, int *countu)

{
    printf("请输入要添加人的姓名:> ");
    scanf("%s", (userinfo + (*countu))->name);
//flag:
    printf("请输入要添加人的性别(男/女):> ");
    scanf("%s", (userinfo + (*countu))->sex);
    printf("请输入要添加人的工作单位:> ");
    scanf("%s", &(userinfo + (*countu))->cname);
    printf("请输入要添加的电话:> ");
    scanf("%s", (userinfo + (*countu))->mobileNumber);
    printf("添加成功!\n");
    (*countu)++;
}

void insertcompanyinfo(Companyinfo *companyinfo, int *count)

{
    printf("请输入要添加单位的名称:> ");
    scanf("%s", (companyinfo + (*count))->companyname);
    printf("请输入要添加单位的地址:> ");
    scanf("%s", &(companyinfo + (*count))->companyaddress);
    printf("请输入要添加单位的电话:> ");
    scanf("%s", (companyinfo + (*count))->telphone);
    printf("添加成功!\n");
    (*count)++;
}

void DeleteUserinfo(Userinfo *userinfo, int *countu)

{
    char _name[20];
    if ((*countu) <= 0)
    {
        printf("此系统中还没有人员信息!\n");
        return;
    }
    printf("请输入您要删除人员的姓名:> ");
    scanf("%s", _name);
    for (int i = 0; i < (*countu); i++)
    {
        if (strcmp((userinfo + i)->name, _name) == 0)
        {
            for (int j = i; j < (*countu) - 1; j++)
            {
                strcpy((userinfo + j)->name, (userinfo + j + 1)->name);
                strcpy((userinfo + j)->sex, (userinfo + j + 1)->sex);
                strcpy((userinfo + j)->cname ,(userinfo + j + 1)->cname);
                strcpy((userinfo + j)->mobileNumber, (userinfo + j + 1)->mobileNumber);
            }
            (*countu)--;
            printf("删除成功!\n");
            return;
        }
    }
    printf("当前系统中没有此人!\n");
}

void DeleteCompanyinfo(Companyinfo *companyinfo, int *count)

{
    char _name[20];
    if ((*count) <= 0)
    {
        printf("此系统中还没有单位信息!\n");
        return;
    }
    printf("请输入您要删除单位名称:> ");
    scanf("%s", _name);
    for (int i = 0; i < (*count); i++)
    {
        if (strcmp((companyinfo + i)->companyname, _name) == 0)
        {
            for (int j = i; j < (*count) - 1; j++)
            {
                strcpy((companyinfo + j)->companyname, (companyinfo + j + 1)->companyname);
                strcpy((companyinfo + j)->companyaddress, (companyinfo + j + 1)->companyaddress);
                strcpy((companyinfo + j)->telphone, (companyinfo + j + 1)->telphone);
            }
            (*count)--;
            printf("删除成功!\n");
            return;
        }
    }
    printf("当前系统中没有此单位!\n");
}

void Search(const Companyinfo *companyinfo, const int count)

{
    char _name[20];
    printf("请输入您要查找的单位名称:> ");
    scanf("%s", _name);
    for (int i = 0; i < count; i++)
    {
        if (strcmp((companyinfo + i)->companyname, _name) == 0)
        {
            printf("*********=======您查单位信息为=======*********\n");
            printf("    *********   单位名称:> %s\n", (companyinfo + i)->companyname);
            printf("    *********   单位地址:> %s\n", (companyinfo + i)->companyaddress);
            printf("    *********   单位电话:> %s\n", (companyinfo + i)->telphone);
            return;
        }
    }
    printf("没有找到您要查找的单位!\n");
}

void SearchUser(const Userinfo *userinfo, const int countu)

{
    char _name[20];
    printf("请输入您要查找人的信息:> ");
    scanf("%s", _name);
    for (int i = 0; i < countu; i++)
    {
        if (strcmp((userinfo + i)->name, _name) == 0)
        {
            printf("*********=======您查个人信息为=======*********\n");
            printf("    *********   姓名:> %s\n", (userinfo + i)->name);
            printf("    *********   性别:> %s\n", (userinfo + i)->sex);
            printf("    *********   单位:> %d\n", (userinfo + i)->cname);
            printf("    *********   电话:> %d\n", (userinfo + i)->mobileNumber);
            return;
        }
    }
    printf("没有找到您要查找的人员!\n");
}

void Alter(Companyinfo *companyinfo, const int count)

{
    char _name[20];
    printf("请输入您要修改的单位的名称:> ");
    scanf("%s", _name);
    for (int i = 0; i < count; i++)
    {
        if (strcmp((companyinfo + i)->companyname, _name) == 0)
        {
            printf("请输入修改后的单位名称:> ");
            scanf("%s", (companyinfo + i)->companyname);
            printf("请输入修改后的单位地址:> ");
            scanf("%s", (companyinfo + i)->companyaddress);
            printf("请输入修改后的单位电话:> ");
            scanf("%s", (companyinfo + i)->telphone);
            printf("修改成功!\n");
            return;
        }
    }
    printf("没有找到您要查找的单位!\n");
}

void Show(const Companyinfo *companyinfo, const int count)

{
    if (count == 0)
    {
        printf("没有找到您要查找的单位!\n");
    }
    else
    {
        for (int i = 0; i < count; i++)
        {
            printf("%5s    |%13s  |%s\n", (companyinfo + i)->companyname, (companyinfo + i)->telphone, (companyinfo + i)->companyaddress);
        }
    }
}

void OpenFile()
{
   FILE *fp = NULL;
   char buff[255];
   fp = fopen("/Teldict.txt", "r");
   printf("打开文件名:Teldict.text \n");
   printf("内容如下:\n");
   fgets(buff, 255, (FILE*)fp);
   printf("1: %s\n", buff );
   fclose(fp);
}

void WriteFile()
{
  char s[100];
   FILE *fp = NULL;
   fp = fopen("/Teldict.txt", "w+");
            printf("请输入写入文件的内容: ");
            scanf("%s",&s);
   fprintf(fp,s);
   fputs(s, fp);
 //  fputs("This is testing for fputs...\n", fp);
   fclose(fp);

}

int StcCmp(const void*num1, const void *num2)

{
    return (strcmp(((Companyinfo *)num1)->companyname, ((Companyinfo *)num2)->companyname) > 0) ? 1 : -1;
}

int switchuserinfo(Userinfo *userinfo)
{

    int b;
            printf("\n");
            printf("1)新建个人信息\n");
            printf("2)修改个人信息\n");
            printf("3)删除个人信息\n");
            printf("4)返回上一菜单\n");
            printf("请选择上面序号进行相应的操作: ");
            scanf("%d",&b);
            switch(b)
            {
                case 1:
                    {
                      insertuserinfo(userinfo,&countu);
                      break;
                    }
                case 2:
                    {
                      void Alter(Companyinfo *companyinfo, const int count);
                      break;
                    }
                case 3:
                    {
                      void Alter(Companyinfo *companyinfo, const int count);
                      break;
                    }

                case 4:break;
            }
   return 0;

}

int switchcompanyinfo(Companyinfo *companyinfo)
{

      int b;
            printf("\n");
            printf("1)新建单位信息\n");
            printf("2)修改单位信息\n");
            printf("3)删除单位信息\n");
            printf("4)查询单位信息\n");
            printf("5)显示单位信息\n");
            printf("6)返回上一菜单\n");
            printf("请选择上面序号进行相应的操作: ");
            scanf("%d",&b);
            switch(b)
            {
                case 1:
                    {
                      insertcompanyinfo(companyinfo,&count);
                      break;
                    }
                case 2:
                    {
                      Alter(companyinfo,count);
                      break;
                    }
                case 3:
                    {
                      DeleteCompanyinfo(companyinfo,&count);
                      break;
                    }
                case 4:
                    {
                      Search(companyinfo,count);
                      break;
                    }
                case 5:
                    {
                      Show(companyinfo,count);
                      break;
                    }
                case 6:break;
            }
 return 0;
};

int main()
{
Userinfo userinfo[10];
Companyinfo companyinfo[10];
int inpuTKEy;
printf("欢迎使用电话薄查询系统!\n\n");

qq:
   printf("请输入登录账号:");
   scanf("%d",&inputkey);
  int input = 1;
if (inputkey==1001)
 {
    while (input)
    {
      printf("\n");
     printf("请选择对应序号:(1) 单位信息管理; (2)个人信息管理  (3)重新登录  (4)退出 :");
     scanf("%d",&input);
        switch (input)
        {
          case 1:      //单位信息管理
             switchcompanyinfo(companyinfo);
             break;
          case 2:      //个人信息管理
             switchuserinfo(userinfo);
             break;
          case 3:      //
             Goto qq;
             break;
          case 4:
            printf("感谢您试用本服务系统,欢迎您的下次使用!\n");
            system("pause");
            return 0;
        };//while

     }
 }
  else
    {
      while (input)
    {
        printf("请选择操作序号 :\n\n");
        printf("1)单位查询\n");
        printf("2)个人信息查询\n");
        printf("3)打开文件\n");
        printf("4)写入文件\n");
        printf("5)重新登录\n");
        printf("6)退出\n");
     scanf("%d",&input);
        switch (input)
        {
          case 1:      //单位查询
             Search(companyinfo, count);
             break;
          case 2:      //个人信息查询
             SearchUser(userinfo, countu);
             break;
          case 3:      //打开文件
             OpenFile();
             break;
          case 4:      //写入文件
             WriteFile();
             break;
          case 5 :
            goto qq; break;

          case 6:
            printf("感谢您试用本服务系统,欢迎您的下次使用!\n");
            system("pause");
            return 0;
        };//while

    }

    }

  printf("\n");
    system("pause");
  return 0;
}

运行结果

本代码设置的登录账号是1,当然你也可以进行修改。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言实现通讯录系统课程设计

本文链接: https://lsjlt.com/news/164958.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C语言实现通讯录系统课程设计
    本文实例为大家分享了C语言实现通讯录系统的具体代码,供大家参考,具体内容如下 设计要求 1.单位、个人信息查询2.打开、写入保存这些信息的文件 完整代码 #include <s...
    99+
    2024-04-02
  • C语言链表实现通讯录系统课程设计
    本文实例为大家分享了C语言链表实现通讯录系统的具体代码,供大家参考,具体内容如下 流程图 概要设计 1、数据结构 选择单链表来完成所有操作,便于插入和删除,不利于排序。 2、程序模...
    99+
    2024-04-02
  • C语言实现通讯录系统程序
    本文实例为大家分享了C语言实现通讯录系统程序的具体代码,供大家参考,具体内容如下 前言 利用链表增、删、改、查功能以及文件来完成通讯录系统。通讯录中包含联系人的基本信息:姓名、联系电...
    99+
    2024-04-02
  • C语言实现航空订票系统课程设计
    本文实例为大家分享了C语言实现航空订票系统的具体代码,供大家参考,具体内容如下 大一写的时候没有写注释,后来也懒得加了。在这里说一下读写文件的思路吧。 就是利用二进制将一整个结构体中...
    99+
    2024-04-02
  • C语言实现宾馆管理系统课程设计
    本文实例为大家分享了C语言实现宾馆管理系统的具体代码,供大家参考,具体内容如下 课程设计题目: 宾馆管理系统 一、需求分析 近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导...
    99+
    2024-04-02
  • C语言实现宿舍管理系统课程设计
    宿舍管理系统C语言源码,供大家参考,具体内容如下 内容摘要 学生宿舍管理系统时应对学生宿舍管理的现代化、网络化,逐步摆脱学生宿舍管理的人工管理方式,提高学生宿舍管理效率而开发的,它包...
    99+
    2024-04-02
  • C语言实现销售管理系统课程设计
    本文实例为大家分享了C语言实现销售管理系统的具体代码,供大家参考,具体内容如下 一.C程序设计课程设计题目简介 该设计要求学生以某公司销售管理业务为背景,设计、开发一套“...
    99+
    2024-04-02
  • C语言实现学籍管理系统课程设计
    本文实例为大家分享了C语言实现学籍管理系统的具体代码,供大家参考,具体内容如下 学校的课程设计,自己完成后整理了一下。自己用链表实现的一个较简单的学籍管理系统,都是通过一些链表以及文...
    99+
    2024-04-02
  • C语言实现图书管理系统课程设计
    目录设计要求实现代码运行结果本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计图书管理系统 要求如下: 1.对书名,作者,编号,出版单位,...
    99+
    2024-04-02
  • C++实现通讯录管理系统设计
    本文实例为大家分享了C++实现通讯录管理系统的具体代码,供大家参考,具体内容如下 最核心的内容是结构体,结构体数组与指针 主要功能包括:添加联系人 ;显示联系人;删除联系人 ;查找联...
    99+
    2024-04-02
  • C语言如何实现通讯录系统程序
    本文小编为大家详细介绍“C语言如何实现通讯录系统程序”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现通讯录系统程序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言利用链表增、删、改、查功能以及文件...
    99+
    2023-07-02
  • C语言实现电话簿管理系统课程设计
    本文实例为大家分享了C语言课程设计:电话簿管理系统,供大家参考,具体内容如下 文件目录: 初始界面 现在显示一部分代码: //添加联系人 void add() { i...
    99+
    2024-04-02
  • C语言实现简单通讯录系统
    本文实例为大家分享了C语言通讯录系统(增删改查),供大家参考,具体内容如下 全部代码如下所示: #include <iostream> #include <s...
    99+
    2024-04-02
  • C语言实现酒店客房管理系统课程设计
    本文实例为大家分享了C语言实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 设计目标:设计一个酒店客房管理系统,用C语言实现。对该系统的要求如下: 一、需求描述 系统角色: ...
    99+
    2024-04-02
  • C语言实现超市信息管理系统课程设计
    本文实例为大家分享了C语言实现超市信息管理系统的具体代码,供大家参考,具体内容如下 一、 需求分析 目前商品市场的商品信息玲琅满目,货物信息的储存以及更新就变的越来越重要。因此,我们...
    99+
    2024-04-02
  • C语言实现学生学籍管理系统课程设计
    目录设计要求完整代码运行结果本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计学籍管理系统 1、添加学生信息2、浏览学生信息3、查询学...
    99+
    2024-04-02
  • C语言实现学生成绩管理系统课程设计
    目录设计要求完整代码运行结果本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计学生成绩管理系统 要求如下: 1.输入学生信息2.统计学...
    99+
    2024-04-02
  • C++如何实现通讯录管理系统设计
    这篇“C++如何实现通讯录管理系统设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++如何实现通讯录管理系统设计”文章吧...
    99+
    2023-07-02
  • C语言实现通讯录程序
    本文实例为大家分享了C语言实现通讯录程序的具体代码,供大家参考,具体内容如下 设计要求: 可以存放1000个人的信息,每个人的信息包括姓名、年龄、性别、电话、住址 通讯录功能包括: ...
    99+
    2024-04-02
  • C语言静态版通讯录的设计与实现
    目录1. 配置运行环境2. 通讯录的实现2.1 通讯录的功能目录2.2 增加信息功能代码的实现2.3 显示信息功能代码的实现2.4 删除信息功能代码的实现2.5 查询信息功能代码的实...
    99+
    2023-05-16
    C语言静态版通讯录 C语言通讯录实现
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作