️luckychen 2019-02-25 20:17 采纳率: 0%
浏览 491

关于if else中的for不执行问题

#include "stdafx.h"
#include "string.h"
#include "stdlib.h"
#define max 5
int num=5;
struct gues {
char name[20];
char telephone[20];
int sum;
char time[10];
} guestlist[max]= {"zhanglin","1234567891",5,"11.30",
"liyong","1234567892",3,"12.30",
"liuying","1234567893",6,"12.00",
"zhaopeng","1234567894",4,"12.20",
"moqing","1234567895",7,"11.50"
};

void insert(struct gues *p);
void search(struct gues *p);
void update(struct gues *p);
void Delete(struct gues *p);
void show(struct gues *p);

int main(int argc, char* argv[])
{
for(int i=0; i<999; i++)
{
int choose=0;
printf("\n1插入\n2查询\n3修改\n4删除\n5显示\n");
scanf_s("%1d%*c",&choose);
switch(choose)
{
case 1:
insert(guestlist);
break;
case 2:
search(guestlist);
break;
case 3:
update(guestlist);
break;
case 4:
Delete(guestlist);break;
case 5:
show(guestlist);break;
}
}
return 0;
}
void insert(struct gues *p)
{ int i;
if(num==5)
printf("无多余餐桌");

    //printf("分别输入名字,电话,人数,时间(用空格分开)");
    else
            for(i=0; p[i].sum=0; i++)
         {printf("%d",&p[i].sum);
        printf("输入名字");
         scanf_s("%s",p[i].name);
         printf("输入电话");
         scanf_s("%s",p[i].telephone);
         printf("输入人数");
         scanf_s("%d",&p[i].sum);
         printf("输入时间");
         scanf_s("%s",&p[i].time);
      }

}
void search(struct gues *p) {
char tele[20];
printf("输入电话号码");
scanf_s("%19s%*c", tele);
//gets(tele);
int i;
int flag=0;
for(i=0; i<max; i++) {
if(strcmp(p[i].telephone,tele)==0) {
flag=1;
printf("%s\n%s\n%d\n%s\n",guestlist[i].name,guestlist[i].telephone,guestlist[i].sum,guestlist[i].time);

        break;
    }
}
if(flag == 0)
    printf("没有查询到此人信息");
else
    printf("客人资料为上述");

}
void update(struct gues *p) {
printf("输入电话号码");
char phone[20];
gets_s(phone);
int i;
for(i=0; i<max; i++) {
if(strcmp(p[i].telephone,phone)==0) {
printf("请输入重新修改后的所有数据(用空格分开)");
scanf_s("%19s %19s %d %9s%*c",p[i].name,p[i].telephone,&p[i].sum,p[i].time);
}
}
}
void Delete(struct gues *p)
{ printf("输入电话号码");
char phone[20];

gets_s(phone);
int i;
num=num-1;

for(i=0;i<max;i++)
if(strcmp(p[i].telephone,phone)==0)
{ memset(p[i].name,'\0',sizeof(p[i].name));
//strcpy_s(p[i].name,"o");
strcpy_s(p[i].telephone,"0");
p[i].sum=0;
strcpy_s(p[i].time,"0");

  }

}
void show(struct gues *p)
{int i;
for(i=0;i<max;i++)
{printf("%s\n,%s\n,%d\n,%s\n",p[i].name,p[i].telephone,p[i].sum,p[i].time);
}
}

 ![图片说明](https://img-ask.csdn.net/upload/201902/25/1551096968_910430.png)如图  else部分不执行tiao'guo
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-02-25 23:44
    关注

    for(i=0; p[i].sum=0; i++)
    ->
    for(i=0; p[i].sum==0; i++)

    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能