C程序课程设计报告
                              --手机通讯录管理系统
*****
学院:珠宝学院
学号:649
班级:141082
一 课程设计目的和内容概述
1.目的:加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。c++课程设计报告
2.内容:设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握C语言的基本知识:
数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、、绘图函数,以及文件的读写操作等。
其中结构体,函数的调用,算法的设计是尤为重要的。
二 题目
  手机通讯录管理系统。
[问题描述]
该系统模拟手机通讯录管理系统,实现对手机中的通讯录进行管理
[基本要求]
要能提供以下几种功能:
(1)查看功能:选择此功能时,列出下列三类选择
A:办公类B:个人类C:商务类
(2)当选中某类时,显示出此类所有数据中的姓名和电话号码
(3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类 p为个人类b为商务类),。 例如:杨春商务类
当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改
(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
三 程序设计
1.总体设计
  首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。
2.详细设计
根据功能需要建立显示,添加,查看,删除,修改,保存五个模块。在模块中通过调用各个函数来实现功能。详细设计如下:
(1)构建结构体,写入文件
FILE *fp;
int i;       
struct address           
{    char a[40];      um);
    printf("\n\t姓名-Name:%-20s",friends[j].name);
    printf("\n\t性别-kind:%s",friends[j].kind);
    printf("\n\t-Telephone:%-13ld",friends[j].telephone);
    printf("\n\temail-address:%-40s",friends[j].;
}
void Append(int j)     
{
system("cls");
    friends[j].num=j;
    printf("\n\t\t\t序号-Number : %d",j);
    printf("\n\t\t\t姓名-Name : ");
    scanf("%s",friends[j].name);
    printf("\t\t\t类别-kind : ");
    scanf("%s",&friends[j].kind);
    printf("\t\t\t-telephone : ");   
    scanf("%ld",&friends[j].telephone);
while(friends[j].telephone<0||friends[j].telephone>)
{
  printf("电话号码不合法!请重新输入 : ");
        scanf("%ld",&friends[j].telephone);
}
    printf("\t\t\temail-Address : "); 
    scanf("%s",friends[j].;
    getchar();
}
void Delete()               
{
    int k;int j;
system("cls");
    printf("\n\tDelete 序号-Number : "); 
    scanf("%d",&k);
    if(k<=i)
    {
        for(j=k;j<i+1;j++)    /*插入位置后的元素顺序后移*/
        {
        strcpy(friends[j].name,friends[j+1].name);     /*交换元素内容*/
        strcpy(friends[j].kind,friends[j+1].kind);
        friends[j].telephone=friends[j+1].telephone;
        strcpy(friends[j].,friends[j+1].;
       
        }
        i--;   
    }
    else
    {
            printf("输入的序号太大!");
    }
}
void Modify(int j)     
{
system("cls");
    Append(j);
}
void Save()   
{
    int i,j;
system("cls");
printf("\n\n\t\t请耐心等待,信息正在保存!\n");
    printf("\n\n\n\n\t\t\tSaving");
    for(i=0;i<20;i++)
    {
        Sleep(300);
        printf(".");
    } 
printf("\n\n信息已经保存成功!\n");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。