程序出现死循环求帮助
下面这个程序在运行到第二步的时候出现了死循环,找不出原因,望大家帮帮忙#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
typedef struct seedoctor
{
char data[100]; /*数据域*/
struct seedoctor *next; /*指针域 */
}seetype; /*键队列节点类型 */
typedef struct
{
seetype *front,*rear;
}linkqueue; /*键队类型 */
#define null 0
/*#define t
/*登陆界面*/
void jiemian()
{
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t**** 病人就医管理系统 ****\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
}
/*设置密码 */
void cipher()
{
int a,i;
a=123;
printf("\t请输入密码:");
scanf("\t%d",&a);
for(i=1;i<3;i++)
if(a!=123)
{
printf("\t密码错误!请重新输入:");
scanf("\t%d",&a);
}
if(a!=123)
{
printf("\t登录失败/n");
exit(0);
}
printf("登陆成功\n");
}
void welcome()
{
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t**** 病人就医管理系统 ****\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
}
/*主要功能*/
void module()
{
printf("\t主要功能如下:\n");
}
/*功能的实现*/
void seedoctor()
{
int sel,flag=1;
linkqueue *lq;
seetype *s;
char number[100];
lq=(linkqueue *)malloc(sizeof(linkqueue));
lq->front=(seetype *)malloc(sizeof(seetype));
lq->front->next=null;
lq->rear=lq->front;
while(flag==1)
/*主要模块*/
{
printf("\t*******************************\n");
printf("\t*******************************\n");
printf("\t********* 1 2 3 4 ********\n");
printf("\t** 排队 就诊 查看排队 下班**\n");
printf("\t请选择:");
scanf("\t%d",&sel);
switch(sel)
{
/*患者排队 */
case 1:
printf("\t********************\n");
("\t********************\n");
printf("\t输入患者病历号\n");
scanf("\t%s",number);
s=(seetype *)malloc(sizeof(seetype));
strcpy(s->data,number);
s->next=null;
lq->rear->next=s;
lq->rear=s;
break;
/*患者就诊 */
case 2:
if(lq->front=lq->rear)
printf("\t没有排队的患者\n");
else
{
s=lq->front->next;
if(lq->rear==s)
lq->rear=lq->front;
printf("\t患者%s就诊\n",s->data);
lq->front->next=s->next;
free(s);
}
break;
/*查看排队 */
case 3:
if(lq->front==lq->rear)
printf("\t没有排队的患者\n");
else
{
s=lq->front->next;
printf("\t排队患者:\n");
while(s!=null)
{
printf("\t%s",s->data);
s=s->next;
}
printf("\n");
}
break;
/*下班*/
case 4:
if(lq->front!=lq->rear)
{
printf("\t请排队的患者明天就诊\n");
flag=0;
break;
}
}
}
}
/*退出系统*/
void end()
{
printf("\t**************************\n");
printf("\t**************************\n");
printf("\t**************************\n");
printf("\t 谢谢使用病人就医管理系统 \n");
printf("\t**************************\n");
printf("\t**************************\n");
printf("\t**************************\n");
}
/*主函数 */
void main()
{
long i,t;
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t**** 病人就医管理系统 ****\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
printf("\t*****************************\n");
cipher();
welcome();
seedoctor();
end();
for(i=0;i<10000000;i++)
{
t=time(null);
printf("%d%d%d\n");
printf(ctime(&t));
}
}