当前位置:编程学习 > C/C++ >>

C语言电话薄速求???

编写一个菜单驱动的电话薄管理系统程序。要求如下:
能输入并显示n个学生的电话号码。
能任意添加某人的电话号码。
任意输入一个姓名,能显示其电话号码,也可将其删除。
利用结构体数组或结构体指针实现。
补充:希望高手讲解下

追问:运行过还不错

就是有点不理解

答案:#include "stdio.h"   /*标准输入输出函数库*/
#include "stdlib.h"  /*标准函数库*/
#include "string.h"  /*字符串函数库*/
#include "conio.h"   /*屏幕操作函数库*/
#define HEADER1 "    ---------------------------TELEPHONE BOOK---------------------------\n"
#define HEADER2 "   |    num       |    name    |  phonenumber    |      address        | \n"
#define HEADER3 "   |--------------|------------|-----------------|---------------------| \n"
#define FORMAT  "   |    %-10s|  %-10s| %-15s |%-20s | \n"
#define DATA         p->num,p->name,p->phonenum,p->address
#define END     "   ---------------------------------------------------------------------\n"
#define N 100
int saveflag=0;  /*是否需要存盘的标志变量*/
/*定义与电话簿有关的数据结构*/
typedef struct telebook      /*标记为telebook*/
{
char num[4];          /*编号*/
char name[10];        /*姓名*/
char phonenum[15];    /*电话号码*/
char address[20];     /*地址*/
}TELEBOOK;

void menu()  /*主菜单*/
{
system("cls");   /*调用DOS命令,清屏.与clrscr()功能相同*/
textcolor(13);   /*在文本模式中选择新的字符颜色*/
gotoxy(10,5);    /*在文本窗口中设置光标*/
cprintf("                 The telephone-book  Management System \n");
gotoxy(10,8);
       if(ch=='y'||ch=='Y')
    {
    printf("\n=====>can not open file!\n");
    exit(0);
  }

while(!feof(fp))
{
   if(fread(&tele[count],sizeof(TELEBOOK),1,fp)==1) /*一次从文件中读取一条电话簿记录*/
      count++;
}
fclose(fp); /*关闭文件*/
printf("\n==>open file sucess,the total records number is : %d.\n",count);
getchar();
menu();
while(1)
{
   system("cls");
   menu();
   printf("\n              Please Enter your choice(0~8):");    /*显示提示信息*/
   scanf("%d",&select);

  if(select==0)
  {
   if(saveflag==1) /*若对数组的数据有修改且未进行存盘操作,则此标志为1*/
   { getchar();
     printf("\n==>Whether save the modified record to file?(y/n):");
     scanf("%c",&ch);
     if(ch=='y'||ch=='Y')
       Save(tele,count);
   }
   printf("\n===>thank you for useness!");
   getchar();
   break;
  }

  switch(select)
  {
  case 1:count=Add(tele,count);break;       /*增加电话簿记录*/
  case 2:system("cls");Disp(tele,count);break;   /*显示电话簿记录*/
  case 3:count=Del(tele,count);break;      /*删除电话簿记录*/
  case 4:Qur(tele,count);break;           /*查询电话簿记录*/
  case 5:Modify(tele,count);break;        /*修改电话簿记录*/
  case 6:count=Insert(tele,count);break;  /*插入电话簿记录*/
  case 7:SelectSort(tele,count);break;        /*排序电话簿记录*/
  case 8:Save(tele,count);break;        /*保存电话簿记录*/
  default: Wrong();getchar();break;        /*按键有误,必须为数值0-9*/}}}

谢谢多加点分

上一个:c语言推荐买什么书
下一个:这个C语言编程在哪里下载

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,