| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:请大家帮帮忙!!为什么输不出结果!
只看楼主 加入收藏
zhanglvxuan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-12-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
请大家帮帮忙!!为什么输不出结果!
/*c3:会员收费系统
(1)能录入会员信息(会员号、会员级别、姓名、消费总金额、积分、本次金额)
(2)能对每个会员进行收费操作
(3)对每个会员的当次消费总额进行打折、将当次金额计入总金额,并记积分
     (其中:具体折扣、积分规则可自定。如金卡,8折,10元积1分;银卡,8.5折。。。)
(4)能输出会员消费记录单*/






#include<stdio.h>
#define n 100
#include<string>

int i;
struct xx   //创建结构体
{
  int number;
  char name[100];    //姓名
  int jibie;         //会员级别
  float money;         //消费总金额
  float jifen;      //  积分
  float bencie;       //本次消费金额
  int x   ;     //消费次数
}xx[n];
 
void  huiyuan();
void shoufei();
void dazhe();
void output();
 
 void main()
{
  
  while (1)
  {
      int v;
      system("cls");
printf("\n\t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
printf("\n\t*                                                             * ");
printf("\n\t\t\t   欢迎进入会员收费系统    ");
printf("\n\t*                                                             * ");
printf("\n\t\t\t1、录入会员信息");
printf("\n\t*                                                             * ");
printf("\n\t\t\t2、进行收费操作");
printf("\n\t*                                                             * ");
printf("\n\t\t\t3、查询打折与积分信息");
printf("\n\t*                                                             * ");
printf("\n\t\t\t4、查询会员消费纪录");
printf("\n\t*                                                             * ");
printf("\n\t\t\t5、退出");
printf("\n\t*                                                             * ");
printf("\n\t\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
printf("\n");
     printf("\n请输入:");
    scanf("%d",&v);

    switch(v)
     {
    case 1:huiyuan();break;
    case 2:shoufei();break;
    case 3:dazhe();break;
    case 4:output();break;
    case 5:return;   
    default:printf("有错误!!请重新输入:");
        scanf("%d",&v);
     }


  }
}







void huiyuan()
                        //会员信息录入
{

    int i=1;
    int t='y';
    system("cls");
  while(t=='y'||t=='Y')
  {  
      printf("欢迎来到会员注册\n");  
      for(n=1;n<i;n++)
      {
       printf("请录入会员信息(首次会员的消费总金额、积分、本次金额均为0)\n");
       printf("请输入会员号:\n");
       scanf("%d",&xx[i].number);
       printf("请输入姓名(请用英文或中文输入):\n");
       scanf("%s",&xx[i].name);
       printf("请您选择会员级别:\n");
       printf("1、金卡 2、银卡 3、铜卡\n");
       scanf("%d",&xx[i].jibie);
      
       printf("是否继续(请输入小写y/n)\n");
       scanf("%d",&t);
       t=getchar();
       t=getchar();
     if(t=='n')
 
         printf("输入完毕,请按任意键返回\n");   
         return;

     
    }               

  }
return;
}


void shoufei()    //录入收费,并计算;
{   
     int s;   //x是记录会员消费的次数
    int x=0,i,t='y';  
    system("cls");
    printf("欢迎使用会员收费操作\n");
    printf("请输入会员号:");
    scanf("%d",&s);  
        
   while(t=='y'||t=='Y')
    {     
        for(i=1;i<n;i++)
        {
          if(s!=xx[i].number)
          {
             printf("对不起!你输入的会员号不存在,请重新注册");
             huiyuan();
          }
         
            printf("请您输入本次消费金额(输入0为结束):");    //消费的过程
            xx[i].money=0;                               //根据会员的会员级别,进行消费总额的打折(金卡,7折,银卡,8折,铜卡9折)
            scanf("%f",&xx[i].bencie);                       //会员消费总额(打折之后的金额),进行积分,10元积1分;
                                                         //如何知道这次的消费金额是哪一个会员的(不清楚的地方)
        
           while(xx[i].bencie!=0)                             
           {
              xx[i].money=xx[i].bencie+xx[i].money;
              scanf("%f\n",&xx[i].bencie);
            
           }
           printf("这次的消费总额为:\n");
           printf("%5.2f\n",xx[i].money);
           printf("是否继续进行收费操作(请输入小写y/n)\n");
            scanf("%d",&t);
            t=getchar();
            t=getchar();
           if(t=='n')
           {  printf("输入完毕,请按任意键返回\n");   
             return;
           }
           x++;

           
             printf("%d",x);    //验证是否能记录消费次数
         
        
        }
   }
}



void dazhe()
{
    int s;
    int i=1;
    system("cls");
    printf("请输入会员号:");
    scanf("%d",&s);  
   
    for(i=1;i<n;i++)
    {
         if(s==xx[i].number)
          {
            
         
         if(xx[i].jibie==1)
           {                                            //如果用户输入的会员级别是1、金卡,就给用户打7折
             xx[i].money=xx[i].money*0.7;
             xx[i].jifen=xx[i].money/10;
           }

           else if(xx[i].jibie==2)
             { xx[i].money=xx[i].money*0.85;     //如果用户输入的会员级别是2、银卡,就给用户打8折
               xx[i].jifen=xx[i].money/10;
             }

             else if(xx[i].jibie==3)
              { xx[i].money=xx[i].money*0.9;          //如果用户输入的会员级别是1、金卡,就给用户打9折
                xx[i].jifen=xx[i].money/10;
              }
              else
              {   printf("无此会员号,请重新注册");
                  huiyuan();
              }
         }
    }

}







void output()
{
  // int p;
//    system("cls");
    printf("\n\n   会员号   姓名   级别   积分   消费金额   总积分\n");
    for(i=0;i<n;i++)
    {
        printf("\n\n   会员号:");
        printf("\t    %d",xx[i].number);
        printf("\n\n   姓名:");
        printf("\t     %s",xx[i].name);
        printf("\n\n   会员级别:");
        printf(" \t     %d",xx[i].jibie);
        printf("\n\n   积分:");
        printf("\t   %f",xx[i].jifen);
        printf("\n\n  消费总金额:");
        printf("\t    %f",xx[i].money);
   
    }
    printf("\n");

   
}
搜索更多相关主题的帖子: 结果 
2009-12-23 19:17
xixistudio
Rank: 2
等 级:论坛游民
帖 子:24
专家分:53
注 册:2009-12-23
收藏
得分:10 
好长。。。
看得好累。。。
算了不看了。。。。
2009-12-24 18:17
cyber1000
Rank: 2
等 级:论坛游民
帖 子:3
专家分:12
注 册:2009-12-21
收藏
得分:10 
1.void huiyuan()
                        //会员信息录入
{

    int i=1;
    int t='y';
    system("cls");
  while(t=='y'||t=='Y')
  {  
      printf("欢迎来到会员注册\n");  
      for(n=1;n<i;n++)
for应该是for(i=1;i<n;i++)吧
2.void shoufei()    //录入收费,并计算;
{   
     int s;   //x是记录会员消费的次数
    int x=0,i,t='y';  
    system("cls");
    printf("欢迎使用会员收费操作\n");
    printf("请输入会员号:");
    scanf("%d",&s);  
        
   while(t=='y'||t=='Y')
    {     
        for(i=1;i<n;i++)
        {
          if(s!=xx[i].number)
          {
             printf("对不起!你输入的会员号不存在,请重新注册");
你这逻辑好像有点问题吧,你是想根据输入的的会员号在结构体数组中找到相应会员的信息吧
可以这样改下:
for(i=1;i<n;i++)
if(s==xx[i].number) break;
if(i==n) printf("对不起!你输入的会员号不存在,请重新注册");

3.还有一点我不是很理解
        scanf("%d",&t);
        t=getchar();
        t=getchar();
你为什么这样输入t,可以解释下么?
2009-12-24 19:48
zhanglvxuan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-12-18
收藏
得分:0 
那个是因为,如果用户不想输入,就选择y或n,退出或继续录入信息,至于他为什么要用两个t=getchar();这个事我用的那个软件有关,必须要这样做!谢谢你!
2009-12-24 22:04
快速回复:请大家帮帮忙!!为什么输不出结果!
数据加载中...
 
   



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

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