xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 106KB
    文件類(lèi)型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-29
  • 語(yǔ)言: 其他
  • 標(biāo)簽:

資源簡(jiǎn)介

生產(chǎn)者消費(fèi)者算法模擬 目的:掌握信號(hào)的使用方法和P、V操作的定義,掌握使用P、V操作實(shí)現(xiàn)進(jìn)程之間同步與互斥的方法,加深對(duì)進(jìn)程同步互斥概念的理解。 設(shè)計(jì)要求:設(shè)計(jì)一程序,由一個(gè)進(jìn)程創(chuàng)建三個(gè)子進(jìn)程,三個(gè)子進(jìn)程一個(gè)是生產(chǎn)者進(jìn)程,兩個(gè)是消費(fèi)者進(jìn)程,父子進(jìn)程都使用父進(jìn)程創(chuàng)建的共享存儲(chǔ)區(qū)進(jìn)行通信,由生產(chǎn)者進(jìn)程將一個(gè)數(shù)組中的十個(gè)數(shù)值發(fā)送到由5個(gè)緩沖區(qū)組成的共享內(nèi)存中,兩個(gè)消費(fèi)者進(jìn)程輪流接收并輸出這十個(gè)數(shù)值,同時(shí)將兩個(gè)消費(fèi)者進(jìn)程讀出的數(shù)值進(jìn)行累加求各和。

資源截圖

代碼片段和文件信息

#include
#include?
#include?
#include

void?main(){
int??full=0;???????????????????????//用于判斷緩沖池是否為滿
int??emputy=15;????????????????????//用于判斷緩沖池時(shí)候?yàn)榭?br/> char?buffer[15][10];???????????????//用于存放產(chǎn)品
char?ch[10];???????????????????????//用于接收生產(chǎn)的產(chǎn)品和消費(fèi)的產(chǎn)品??
// int?*p=ch;
int??i=0j=0;
int??num;
int??number;
int??sum=0;
int?k=0;
//int?bl=1;
MAIN:
printf(“----------------------------------產(chǎn)品使用說(shuō)明-------------------------------\n“);
printf(“?????????????????????????????[1]生產(chǎn)者生產(chǎn)產(chǎn)品\n“);
printf(“?????????????????????????????[2]消費(fèi)者消費(fèi)產(chǎn)品\n“);
printf(“-----------------------------------------------------------------------------\n“);
while(true)
{
printf(“請(qǐng)選擇操作:“);
scanf(“%d“&number);

//生產(chǎn)
switch(number){
SIGN1:
case?1:{
printf(“----------------------------------生產(chǎn)使用說(shuō)明-------------------------------\n“);
printf(“?????????????????????????????[1]生產(chǎn)字母產(chǎn)品\n“);
printf(“?????????????????????????????[2]生產(chǎn)數(shù)字產(chǎn)品\n“);
printf(“?????????????????????????????[3]生產(chǎn)符號(hào)產(chǎn)品\n“);
printf(“?????????????????????????????[4]返回上一級(jí)\n“);
printf(“-----------------------------------------------------------------------------\n“);
//while(bl){
printf(“請(qǐng)選擇生產(chǎn)產(chǎn)品類(lèi)型:“);
scanf(“%d“&num);
switch(num){
//生產(chǎn)字母產(chǎn)品
CASE1:
case?1:{
if(full==15)
{
printf(“產(chǎn)品已滿!\n“);
}
if(full<15)
{
printf(“請(qǐng)輸入生產(chǎn)的產(chǎn)品:“);
scanf(“?%s“&ch);
for(k=0;ch[k]?!=?‘\0‘;k++){
if(!(ch[k]>=‘a(chǎn)‘?&&?ch[0]<=‘z‘)?&&?!(ch[k]>=‘A‘?&&?ch[0]<=‘Z‘))
{
printf(“您輸入的不是字母產(chǎn)品!請(qǐng)重新輸入。\n“);
goto?CASE1;
//break;
}
}

for(j=0;j {
buffer[i][j]=ch[j];
}
j++;
buffer[i][j]=‘\0‘;
i++;
full++;
emputy--;
printf(“產(chǎn)品生產(chǎn)成功!產(chǎn)品為:%s\n“buffer[i-1]);

}
}
// bl=1;
goto?SIGN1;
//break;
//

//生產(chǎn)數(shù)字產(chǎn)品
CASE2:
case?2:{
if(full==15)
{
printf(“產(chǎn)品已滿!\n“);
}
if(full<15)
{
printf(“請(qǐng)輸入生產(chǎn)的產(chǎn)品:“);
scanf(“?%s“&ch);
for(k=0;ch[k]?!=?‘\0‘;k++){
if(!(ch[k]>=‘0‘?&&?ch[0]<=‘9‘)){
printf(“您輸入的不是數(shù)字產(chǎn)品!請(qǐng)重新輸入。\n“);
goto?CASE2;
//break;
}
}
while?(ch[k]?!=?‘\0‘)
k++;
//if(ch[0]>=0?&&?ch[0]<1000){
for(j=0;j {
buffer[i][j]=ch[j];
//sum=sum+(ch[j]-48)*(int)pow(10?(k-j-1));
}
//j++;
buffer[i][j]=‘\0‘;
i++;
full++;
emputy--;
printf(“產(chǎn)品生產(chǎn)成功!產(chǎn)品為:%s\n“buffer[i-1]);
}
else
printf(“您輸入的不是數(shù)字產(chǎn)品!請(qǐng)重新輸入。\n“);
//}

}
// bl=1;
goto?SIGN1;
//break;

//生產(chǎn)符號(hào)產(chǎn)品
CASE3:
case?3:{
if(full==15)
{
printf(“產(chǎn)品已滿!\n“);
}
if(full<15)
{
printf(“請(qǐng)輸入生產(chǎn)的產(chǎn)品:“);
scanf(“?%s“&ch);
for(k=0;ch[k]?!=?‘\0‘;k++){
if((ch[k]>=‘a(chǎn)‘?&&?ch[0]<=‘z‘)?||?(ch[k]>=‘A‘?&&?ch[0]<=‘Z‘)?||?(ch[k]>=‘0

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????7141??2012-12-30?00:16??Myproduce.cpp
?????文件?????1663488??2012-12-30?00:38??操作系統(tǒng)課程設(shè)計(jì).doc

評(píng)論

共有 條評(píng)論

相關(guān)資源