• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: C/C++
  • 标签: C/C++  

资源简介

C语言实现的个人通讯录管理系统,用链表实现的,有文件的运用

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include“Alter.h“
#include“List.h“
#include“Node.h“

void Delete(List* L)
{   
 
char cb;//cb用于控制选择功能
char m[10];//用于保存要删除的姓名
    Node* p=L->head->next;//p用于遍历链表,并对数据做出修改
    Node* current=p; 
system(“cls“);      
printf(“\n\t\t-----------------  删除菜单 ----------------------“); 
printf(“\n\t\t|                1-删除所有                      |“); 
printf(“\n\t\t|                2-删除单个                      |“);
    printf(“\n\t\t|             任意键返回主菜单                   |“);
printf(“\n\t\t|-------------------------------------------------“); 
printf(“\n\t\t请选择您所所要的服务:\n“); 
c = getch();     
switch (c)     

    case ‘1‘:
Free(L);
fopen(“contacts.rec““wb“);
     break;
     case ‘2‘:
    printf(“请输入要删除的联系人的姓名:“);
fflush(stdin);
    gets(m);    
        while(p)
{
        if(!strcmp(current->data.namem))
        p=Erase(L current);
        else
p=p->next;
}
printf(“删除成功“);
    break; 
    default:
main_menu(L); 
    } 
    printf(“返回主菜单(y/n)(n结束程序)“);
scanf(“%c“ &b);
switch(b)
{
case ‘y‘:
main_menu(L);  break;
case ‘n‘:
        exit(0);
}
}
void Revise(List* L)
{
char c;  //c用于控制返回主菜单或结束程序
int m=0;
Node* p=L->head->next;
    Node* current=p; 
    printf(“请输入要修改的联系人的姓名:“);
scanf(“%s“ &m);

while(p)
{   
if(current->data.kind==m)
            break;
else
    p=p->next;
}
printf(“\n\t\t------------请输入修改后的内容-------------------“);
printf(“修改后的姓名:\n“);
fflush(stdin);
gets(current->data.name);
printf(“修改后的移动电话:\n“);
scanf(“%d“¤t->data.mob);
printf(“修改后的固定电话:\n“);
scanf(“%d“¤t->data.tel);
printf(“修改后的地址:\n“);
fflush(stdin);
gets(current->data.loc);
printf(“修改后的电子邮件:\n“);
fflush(stdin);
gets(current->data.ema);
printf(“修改后的分类1.无 2.家人 3.亲戚 4.朋友 5.同学 6老师:\n“);
scanf(“%d“¤t->data.kind);
printf(“修改后的QQ号:\n“);
scanf(“%d“¤t->data.qq);
printf(“修改后的生日:\n“);
fflush(stdin);
gets(current->data.bir);
    system(“cls“); 
printf(“修改成功\n“);
    printf(“返回主菜单(y/n)(n结束程序)“);
scanf(“%c“ &c);
switch(c)
{
case ‘y‘:
main_menu(L); break;
case ‘n‘:
        exit(0);
}
}
void Add_contact(List* L)
{
    char ct[2];   //控制程序返回主菜单或退出
char ch; //控制循环结束
Type item;//item储存用户输入的数据
    FILE* fp;
if(!fopen(“contacts.rec““r“))
        fp=fopen(“contacts.rec““wb+“);
else
            fp=fopen(“contacts.rec““rb+“);
    printf(“input records:\n“);
    while(1)
    {  
     printf(“name:“);//每循环一次就重新定义一次并存储到链表结点中 
     fflush(stdin);
gets(item.name);
     printf(“\nmobilephone number:“);
     scanf(“%d“&item.mob);
     printf(“\ntelephone number:“);
     scanf(“%d“&item.tel);
     printf(“\naddress:“);
fflush(stdin);
     gets(item.loc);
     printf(“\nemail:“);
     gets(item.ema);
     printf(“\nqq number:“);
     scanf(“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3929  2018-01-20 15:20  Alter.c
     文件         132  2018-01-20 12:27  Alter.h
     文件         966  2018-01-20 15:39  Display.c
     文件          91  2018-01-20 14:47  Display.h
     文件        1388  2018-01-20 15:39  List.c
     文件         455  2018-01-20 13:42  List.h
     文件        1386  2018-06-29 21:10  main.c
     文件         545  2018-01-20 14:01  Node.c
     文件         553  2018-01-20 12:47  Node.h
     文件        4083  2018-01-20 15:39  Search.c
     文件         197  2018-01-20 12:36  Search.h

评论

共有 条评论