C语言大作业——学生通讯录管理系统

#include <stdio.h>
#include <malloc.h>
//#define NULL 0
#define LEN sizeof(struct message)
struct message          //定义结构
{
    char name[15];
    char number[15];
    char phone[15];
    char qq[13];
    char addr[25];
    struct message *next;        //指向下一数据   
};
int n;
void creat()                                //建立电话簿
{
    int num;
    char choice[5]={'2'};
    FILE *fp;
    struct message *head;
    struct message *p,*q;
    n = 0;
    p = q = (struct message *) malloc(LEN);
    fp=fopen("通讯录1.txt","wb");
    system("cls");
    printf("\n请输入姓名:");                 
    scanf("%s",p->name);
    printf("\n请输入电话号码:");
    scanf("%s",p->phone);
    printf("\n请输入学号:");
    scanf("%s",p->number);
    printf("\n请输入QQ:");
    scanf("%s",p->qq);
    printf("\n请输入住址:");
    scanf("%s",p->addr);
    fwrite(p,LEN,1,fp);
    fclose(fp);
   
    head = 0;
    num = 1;
    while(num!=0)
        {
            n = n+1;
            if(n==1) head = p;
            else q->next = p;
            q = p;
            p = (struct message *) malloc(LEN);                //分配存储区
           
            while(choice[0]!='1' && choice[0]!='0')                    //判断是否继续
            {
                printf("\n1 继续输入\n 0 返回\n");
                printf("请选择操作:");         
                scanf("%s",choice);
               
            }
           
            switch(choice[0])
            {
                case '1':   
                      {   
                            fp=fopen("通讯录1.txt","rb");
                            system("cls");
                            printf("\n请输入姓名:");               
                            scanf("%s",p->name);
                            printf("\n请输入电话号码:");
                            scanf("%s",p->phone);
                            printf("\n请输入学号:");
                            scanf("%s",p->number);
                            printf("\n请输入QQ:");
                            scanf("%s",p->qq);
                            printf("\n请输入住址:");
                            scanf("%s",p->addr);
                            fwrite(p,LEN,1,fp);
                            fclose(fp);
                            choice[0] = '2';
                      }    continue;
                           
                case '0': num = 0;
                        system("cls");
            }
        }
    q->next = 0;
}
void add()                                          //添加通讯录
{
    int num;
    char choice[5]={'2'};
    FILE *fp;
    struct message *head;
    struct message *p,*q;
    n = 0;
    p = q = (struct message *) malloc(LEN);                    //分配空间
    fp=fopen("通讯录1.txt","ab");
    system("cls");
    printf("\n请输入姓名:");                                //输入内容
    scanf("%s",p->name);
    printf("\n请输入电话号码:");
    scanf("%s",p->phone);
    printf("\n请输入学号:");
    scanf("%s",p->number);
    printf("\n请输入QQ:");
    scanf("%s",p->qq);
    printf("\n请输入住址:");
    scanf("%s",p->addr);
    fwrite(p,LEN,1,fp);
    fclose(fp);
   
    head = 0;
    num = 1;
    while(num!=0)
        {
            n = n+1;
            if(n==1) head = p;
            else q->next = p;
            q = p;
            p = (struct message *) malloc(LEN);                      //分配空间
           
            while(choice[0]!='1' && choice[0]!='0')                          //判断是否继续
            {
                printf("\n1 继续输入\n 0 返回\n");
                printf("请选择操作:");         
                scanf("%s",choice);           
            }
           
            switch(choice[0])
            {
                case '1':   
                      {   
                            fp=fopen("通讯录1.txt","rb");
                            system("cls");
                            printf("\n请输入姓名:");               
                            scanf("%s",p->name);
                            printf("\n请输入电话号码:");
                            scanf("%s",p->phone);
                            printf("\n请输入学号:");
                            scanf("%s",p->number);
                            printf("\n请输入QQ:");
                            scanf("%s",p->qq);
                            printf("\n请输入住址:");
                            scanf("%s",p->addr);

本文发布于:2024-09-20 20:26:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/92208.html

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

标签:输入   继续   结构   数据   电话簿   选择   通讯录   空间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议