标题:一个小程序,输出有问题,请解决!
只看楼主
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
结帖率:100%
 问题点数:0 回复次数:5 
一个小程序,输出有问题,请解决!
#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;
}
那个输出部分有问题,怎么解决啊?
很久没有写程序了,忘了.
搜索更多相关主题的帖子: void include int PCB 
2008-07-02 20:47
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
得分:0 
晕,光说有问题,有啥问题都不说,别人怎么帮你?

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-07-02 21:16
Rand
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2008-7-2
得分:0 
输出函数里新建的指针里没有值吧!

[[it] 本帖最后由 Rand 于 2008-7-2 21:34 编辑 [/it]]
2008-07-02 21:33
cmgycmgy22
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2008-6-25
得分:0 
楼主很强啊

08年6月30日开始自学C
2008-07-03 08:57
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
晕,你的N从来就没有赋值过,你却到处用来用去的, 全局的默认值因该是0吧!就说你的好几个循环根本就没有执行过。

还有,注意一下变量的作用域啊!3#说的对呢!

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-07-03 09:46
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
得分:0 
这个PCB指针*p在Print()函数中是干什么的?指向什么?只定义却没有赋值啊?
是不是可以通过一个形参传递给print(parameter)用于说明*p的指向来解决这个问题?
2008-07-03 09:54



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




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

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