标题:求大神帮忙,后面不知道怎么写了
只看楼主
剽汉
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-6-5
结帖率:0
已结贴  问题点数:20 回复次数:6 
求大神帮忙,后面不知道怎么写了
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
typedef struct build
{
    char num[10];
    char name[10];
    char phone[10];
    char sex[10];
    int mon;
}build;
typedef build Datatype;
typedef struct node
{
    struct build data;
    struct node *next;
}ListNode,*LinkList;



void Menu(){
    system("cls");

    
   printf("\n\n\t\t*-----------------欢迎使用!---------------|\n");
       printf("\t\t*                                         |\n");
       printf("\t\t*                                         |\n");
       printf("\t\t*                1. 记录                  |\n");
       printf("\t\t*                2. 查找                  |\n");
       printf("\t\t*                3. 删除                  |\n");
       printf("\t\t*                4. 修改                  |\n");
       printf("\t\t*                5. 插入                  |\n");
       printf("\t\t*                6. 显示                  |\n");
       printf("\t\t*                7. 退出                  |\n");
    printf("请输入值输入1-7的数字\n"); 
}
void CreatListL(ListNode *L)
{
    system("cls");
    build x;
    ListNode *s,*r;
    int i=1;
    r=L;
    printf("请输入客户号");
    scanf("%s",&x.num);
    printf("请输入客户姓名");
    scanf("%s",&x.name);
    printf("请输入客户电话");
    scanf("%s",&x.phone);
    printf("请输入客户性别");
    scanf("%s",&x.sex);
    printf("请输入客户积分");
    scanf("%d",&x.mon);
    while(i){
        s=(ListNode*)malloc(sizeof(ListNode));
        if(s==NULL)
        {
            printf("\n 申请空间失败!");
            exit(i);
        }
        strcpy(s->data.num,x.num);
        strcpy(s->data.name,x.name);
        strcpy(s->data.phone,x.phone);
        strcpy(s->data.sex,x.sex);
        s->data.mon=x.mon;
        r->next=s;
        r=s;
        printf("是否继续输入 0否/1是");
        scanf("%d",&i);
        if(i==1){
            printf("请输入客户号");
            scanf("%s",&x.num);
            printf("请输入客户姓名");
            scanf("%s",&x.name);
            printf("请输入客户电话");
            scanf("%s",&x.phone);
            printf("请输入客户性别");
            scanf("%s",&x.sex);
            printf("请输入客户积分");
            scanf("%d",&x.mon);
        }
    }
    r->next=NULL;
}
void PrintList(ListNode *L)
{
    system("cls");
    printf("客户号""\t客户姓名""\t客户电话""\t客户性别""\t客户积分\n");
    ListNode *p;
    p=L->next;
    
    while(p!=NULL){
        
        printf("%-10s%-18s%-16s%-16s%-16d\n",p->data.num,p->data.name,p->data.phone,p->data.sex,p->data.mon);
        p=p->next;
    }
}
void FindList(ListNode *L,char num[]){
    system("cls");
    ListNode *p;
    char i=1;
    p=L->next;
    printf("%s",num);
    while(p!=NULL){    
        if(strcmp(p->data.num,num)==0){
            printf("查找的客户号为%s的以下信息\n",num);
            printf("客户的姓名是:%s ",p->data.name);
            printf("客户的电话是%s ",p->data.phone);
            printf("客户的性别为是%s ",p->data.sex);
            printf("客户积分是%d ",p->data.mon);
            i=0;
            break;
        }
        p=p->next;
    }
    if(i==1){
        printf("没找到");
    }
    system("pause");
}
int Length(ListNode *L){
    system("cls");
    int num;
    ListNode *p;
    p=L->next;
    while(p!=NULL){
        num++;
        p=p->next;
    }
    return num;
}
void deleList(ListNode *L,int type)
{
    system("cls");
    ListNode *p,*q;
    int j=1;
    p=L;
    if(type<1||type>Length(L)) {
        printf("error");
        exit(1);
    }
    while(j<type){
        p=p->next;
        j++;
    }
    q=p->next;
    p->next=q->next;
    free(q);
}
void AlterList(ListNode *L,char num[]){
    system("cls");
    ListNode *p;
    build x;
    printf("请输入新的客户号");
    scanf("%s",x.num);
    printf("请输入新的客户姓名");
    scanf("%s",x.name);
    printf("请输入新的客户电话");
    scanf("%s",x.phone);
    printf("请输入新的客户性别");
    scanf("%s",&x.sex);
    
    printf("请输入新客户积分");
    scanf("%d",&x.mon);
    int i=1;
    p=L->next;
    while(p!=NULL){    
        if(p->data.num,num){
            strcpy(p->data.num,x.num);
            strcpy(p->data.name,x.name);
            strcpy(p->data.phone,x.phone);
            strcpy(p->data.sex,x.sex);
            p->data.mon=x.mon;
            i=0;
            break;
        }
        p=p->next;
    }
    if(i==1){
        printf("没找到");
    }
}
void AddList(ListNode *L,int type){
    system("cls");
    ListNode *p,*q,*s;
    int j=1;
    p=L;
    if(type<1||type>Length(L)+1){
        printf("error");
        exit(1);
    }
    build x;
    printf("请输入新的客户号");
    scanf("%s",x.num);
    printf("请输入新的客户姓名");
    scanf("%s",x.name);
    printf("请输入新的客户电话");
    scanf("%s",x.phone);
    printf("请输入新的客户性别");
    scanf("%s",x.sex);
    printf("请输入新的客户积分");
    scanf("%d",&x.mon);
    
    s=(ListNode*)malloc(sizeof(ListNode));
    if(s==NULL)
    {
        printf("\n  申请空间失败!");
        exit(1);
    } 
    strcpy(s->data.num,x.num);
    strcpy(s->data.name,x.name);
    strcpy(s->data.phone,x.phone);
    p->data.mon=x.mon;
    while(j<=type){
        q=p;
        p=p->next;
        j++;
    }
    s->next=p;
    q->next=s;
    printf(" ");
}




int main()
{
    ListNode *L;
    ListNode *p,*r;
    int type;
    char num[10]; 
    int a1,a2=1;
    L=(ListNode*)malloc(sizeof(ListNode));
    if(L==NULL)
    {
        printf("\n  申请空间失败!");
        exit(0);
    }
        while(a2){
        Menu();
        scanf("%d",&a1);
        if(a1>0){
            switch(a1)
                 {
                     case 1:
                          CreatListL(L);
                          break;
                    case 2:
                        printf("输入查找的客户号:");
                        scanf(" %s",&num);
                        FindList(L,num);
                        break;
                    case 3:
                        printf("输入所删除的位置:");
                        scanf("%d",&type);
                        deleList(L,type);
                        break;
                    case 4:
                        printf("输入修改的客户号:");
                        scanf("%s",&num);
                        AlterList(L,num);
                        break;
                    case 5:
                        printf("输入插入的位置:");
                        scanf("%d",&type);
                        AddList(L,type);
                        break;
                    case 6:
                        PrintList(L);
                        system("pause");
                        break;
                    case 7:    
                        system("cls");
                        printf("\t\t\t按任意键确认退出程序");                           
                           break;
                                 
                 }
        } 
        if(a1>6)
        
        break; 
    }
    return 0;
}

还需统计系统中积分最高的客户信息,及男客户的人数。但不知道怎么写了,哪位能帮下忙
搜索更多相关主题的帖子: num data printf 输入 客户 
2018-06-12 22:20
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:10 
这段时间怎么这么多问这种程序的...一上来就这么长代码

saber,别哭.
2018-06-12 22:26
剽汉
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-6-5
得分:0 
回复 2楼 幻紫灵心
期末了,哈哈
2018-06-12 22:27
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:10 
这肯定是放假前老师留的作业题。
2018-06-12 22:34
剽汉
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-6-5
得分:0 
回复 4楼 自学的数学
期末留的一个课题,让做一个客户积分管理系统 实在不会写
2018-06-12 22:40
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:0 
回复 3楼 剽汉
你用个循环遍历,用个标记变量,不就能统计男客户和最高分了

saber,别哭.
2018-06-12 22:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487848-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.260045 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved