一个小程序,输出有问题,请解决!
#include "stdio.h"#include "stdlib.h"
#include "string.h"
#include "conio.h"
#include "ctime"
#define NULL 0
struct PCB /*创建PCB*/
{
char name[10]; /*进程标识*/
int cputime; /*进程占用CPU时间*/
int needtime; /*进程完成所需时间*/
char state; /*进程的状态*/
struct PCB *next; /*链指针*/
};
int N;
void create();
void print();
void delay();
void delay()/*延时3秒*/
{
int end,start;
end=time(NULL);
start=time(NULL);
while(end-start<3)
end=time(NULL);
}
void create() /*创建各个进程*/
{
PCB *p;
int i,time;
char na[10];
for(i=1;i<=N;i++)
{
printf("----请输入第NO.%d个进程信息----\n",i);
p=new PCB();
printf("进 程 名 :\n");
scanf("%s",na);
printf("进程占用时间(小于50):\n");
scanf("%d",&time);
strcpy(p->name,na);
p->cputime=0;
p->needtime=time;
p->state='w';
}
system("cls");
print();
}
void print()
{
PCB *p;
int i;
for (i=1;i<=N;i++)
{
printf(" DISPLAY OF THE PROGRESS:\n");
printf("************************************************\n");
printf(" NAME CPUTIME NEEDTIME STATUS\n");
printf(" %-10s%-10d%-10d %c\n",p->name,p->cputime,p->needtime,p->state);
}
}
int main()
{
system("cls");
loop:printf("请输入进程控制块的总数(不超过10):\n");
scanf("%d",&N);
if(N>10)
{
printf("您输入的数过大,请重输!\n");
delay();
system("cls");
goto loop;
}
create();
getch();
return 0;
}
那个输出部分有问题,怎么解决啊?
很久没有写程序了,忘了.