前三步汇总

前三步融合测试

#include <stdio.h>  //标准输入输出函数
#include <stdlib.h>  //标准库函数
#include <string.h>  //字符串处理函数
#include <ctype.h>  //字符操作函数
#include <conio.h>  //控制台输入输出函数,虽然不是标准头文件,但是大部分编译器都支持
//________  //定义进程数量


/**
 *在文件开头声明函数原型,将函数定义放在main()函数后面
 *这是一个优雅的编程习惯
**/
int yanzheng(void);  //验证
void Menu(void);  //主界面
int Create(void);  //创建进程



struct PCB //定义进程结构(PCB)
 {
  int ID; //进程ID
  int jj; //进程优先级
  int dx;  //进程大小
  char jx[10];  //进程信息
  char hs[2];  //活动标识
 };


int main()
{

 int a;  //用于判断用户输入的选择

    if(yanzheng()==0)
 {
  return 0; // 主函数返回0 结束主函数;
  }

 //________;  //要进行的操作


 //显示程序菜单,执行各种操作
 while(1)
 {
  system("cls");


  //清屏


  Menu();


  //显示主菜单


  printf("请选择一个项目\n");


  scanf("%d",&a);


  //输入要执行的操作


  //刷新(清空)stdin缓冲区
   system("cls");
  //清屏


  switch(a)
  { 
  case 1:  
    printf(" 1.创建新进程\n");

   Create();
   //创建进程
   /*while()
   {
    __  //调用创建进程函数


    if(________)  //继续创建进程
     ________  //清屏
    else  //返回主菜单
     ________
   }
   */


   printf("按任意键返回主菜单\n");
   getch();

   break; 
  case 2:  //查看进程
   /*
   while(1)
   {
    ________  //调用查看进程函数


    if(________)  //继续查看进程
     ________  //清屏
    else  //返回主菜单
     ________
   }
   */


   printf(" 2.查看某进程\n");
   printf("按任意键返回主菜单\n");
   getch();

   break; 

   case 3:  //换出进程
   /*
   while(1)
   {
    ________  //调用换出进程函数


    if(________)  //继续换出进程
     ________  //清屏
    else  //返回主菜单
     ________
   }


  */


   printf(" 3.换出某进程\n");
   printf("按任意键返回主菜单\n");
   getch();

   break;






  case 4:  //撤销进程
   /*
   while(1)
   {
    ________  //调用撤销进程函数


    if(________)  //继续撤销进程
     ________  //清屏
    else  //返回主菜单
     ________
   }


  */

   printf("4.撤销某进程\n");
   printf("按任意键返回主菜单\n");
   getch();

break;

   //Redo();



  case 5:  //进程通信
   /*
   while(1)
   {
    ________  //调用进程通信函数


    if(________)  //继续进程通信
     ________  //清屏
    else  //返回主菜单
     ________
   }


  */

   printf("5.进程间通信\n");
   printf("按任意键返回主菜单\n");
   getch();

   break;



  case 6:  //退出系统
   return 0;
   //正常退出



  default:
   printf("没有相应的菜单,请从新选择...\n");
   printf("按任意键返回主菜单\n");

  }


  //return 0;


 }


 return 0;
}

void Menu()
{
 printf("***********************************************\n");
 printf("*               进程演示系统                  *\n");
 printf("*       信管一班 201552070XXX 王同学          *\n");
 printf("***********************************************\n");
 printf("       1.创建新进程        2.查看某进程        \n");
 printf("       3.换出某进程        4.撤销某进程        \n");
 printf("       5.进程间通信        6.退出系统          \n");
 printf("***********************************************\n");
 printf("请选择(1~6):");
}



/子函数1 创建进程函数
int Create()
{
 int j,i,a;


 printf("请输入需要创建进程的数量");
scanf("%d",&a);


struct PCB A[100];


for(i=0;i<a;i++)
{
 printf("请输入第%d创建进程的ID\n",i+1);
scanf("%d",&A[i].ID);
 printf("请输入第%d进程的优先级(JJ)\n",i+1);
scanf("%d",&A[i].jj);
 printf("请输入第%d进程的大小(DX)\n",i+1);
scanf("%d",&A[i].dx);

  printf("请输入第%d进程的活动标识(hs)",i+1);
 for(j=0;j<2;j++)
{ 
scanf("%c",&A[i].hs[j]);
}
 if(j==1)
 {
     printf("\n");
 }
}

 printf("请输入第%d进程的信息(jx)",i+1);
 for(j=0;j<10;j++)
{ 
scanf("%c",&A[i].jx[j]);
}
 if(j==9)
 {
     printf("\n");
 }

printf("***********************************************\n");
printf("共创建了%d个进程\n",a);
            for(i=0;i<a;i++)
            {



            printf("第%d个进程的ID为%d\n",i+1,A[i].ID);


            printf("第%d个进程的优先级为%d\n",i+1,A[i].jj);


            printf("第%d个进程的大小为%d\n",i+1,A[i].dx);


            printf("第%d个进程的信息为",i+1);
                for(j=0;j<11;j++)
                {
                printf("%c",A[i].jx[j]);
                if(j==10)
                printf("\n");
                }


            printf("第%d个进程标示为",i+1);


                for(j=0;j<3;j++)
                {
                printf("%c",A[i].jx[j]);
                if(j==2)
                printf("\n");
                }
            }

printf("***********************************************\n");
return 0;
}
int yanzheng()  验证码函数
{

  int a,i,j=3;


  for(i=0;i<3;i++)
 { 
    printf("请输入验证密码(6位)");
   scanf("%d",&a);


   if(a==123456) 
//验证密码是否正确
   {
    i=3;    //如果密码正确 ,改变循环变量,结束循环
    }
   else
   { 
    j--;  //j--提示用户输入密码错误次数
     printf("你输错了,还有%d次机会\n",j);

    if(j==0) 
    {
    return 0;//j==0 结束程序
    }
    }

 }
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值