Ayuda a escribir un programa en C, no se requiere lenguaje C
En el primer piso, su comprensión de C es única...
Es difícil de adivinar...
// 2.cpp: Define el punto de entrada para la aplicación de consola.
//
#include "stdafx.h"
/*Adivina el producto.
*/
#include "iostream.h"
#include "time.h"
#include "stdlib.h"
clase Bienes
{
público:
Bienes();
int Guess(int Precio, int Índice); p> p>
inline int GetFailCnt(int Index){return m_FailCnt[Index];};
inline void SetPrice(int Price, int Index){m_Price[Index]=Price;};
p>
inline int GetPrice(int Index){return m_Price[Index];};
inline int* GetSort(){return m_Sort;};
void Sort( );
privado:
unsigned char m_FailCnt[10];
int m_Price[10]; p> int m_Sort[10] ;
};
Bienes::Bienes()
{
for(int i= 0; ilt; 10; i )
{
m_Precio[i]=0
m_FailCnt[i]=0; > m_Sort[i]=i ;
}
}
int Bienes::Guess(int Precio, int Índice)
{
m_FailCnt[Index];
if(m_FailCnt[Index]gt;=10) devuelve -1;
if(Pricegt;m_Price[Index] ) devuelve 2;
de lo contrario si(Pricelt; m_Price[Index]) devuelve 1;
de lo contrario devuelve 0; void Goods::Sort()
{
int i, j, Temp
for(i=0; ilt; 10; i ) p>
{
for(j=i 1;jlt;10;j)
{
if(m_Price[m_Sort[i]] gt;m_Precio[m_Sort[j ]])
{
Temp=m_Sort[i]
m_Sort[i]=m_Sort[j]; /p>
m_Sort [j]=Temp
}
}
}
}
int main(void)
{
int i, Precio, Índice=0
char IsContinue
Bienes Des; ;
int* Resultado;
c
outlt;lt;"-------------Apuestas de precio--------------"lt;lt;endllt;lt;endl;
coutlt;lt;"¿Empezar ahora (Y/N)??";
cingt;gt;IsContinue;
if(IsContinue=='Y' || IsContinue= = 'y')
{
srand(time(NULL));
for(i=0;ilt;10;i)
{
Des.SetPrice(rand(), i);
}
coutlt;lt;"Seleccione el número de serie del producto (1 -10)?";
cingt; gt; Índice;
Índice-=1;
if (Indexlt; 0) Índice=0; p>
Index-=1;
p>
else Index=10;
coutlt;lt;"Comienza desde el elemento "lt;lt;Index 1lt; lt;"lt;lt;endl;
}
i=0;
while(IsContinue=='Y' || IsContinue=='y ')
{
coutlt;lt;endllt;lt;"Por favor, haga una oferta por "lt;lt;Index 1lt;lt;" producto:";
cingt;gt;Precio;
Precio=Des.Guess(Precio, Índice
if(Pricelt; 0)
{
coutlt;lt;Index 1lt;lt;" Error al adivinar el producto. El precio correcto del producto es "lt;lt;Des.GetPrice(Index)lt;lt;endl;
i;
if(ilt;10)
{
Index=(Index 1)10
coutlt;lt; ¿quieres continuar (Y/N)?";
cingt ;gt;IsContinue;
if(IsContinue=='Y' || IsContinue=='y') coutlt; lt;"El siguiente elemento para comenzar."lt;lt;endl;
}
else
{
coutlt;lt ;"No hay productos para apostar."lt;lt;endl;
break
}
}
else if; (Precio==2)
{
coutlt;lt;"Alto."lt;lt;endl;
continuar;
}
else if(Precio==1)
{
coutlt;lt;"Bajo."lt;lt;endl;
continuar;
}
else
{
coutlt;lt;"En el objetivo."lt;lt;es
dl;
romper
}
}
Resultado=Des.GetSort(); .Sort();
for(i=0; ilt; 10; i )
{
coutlt;lt; ;"Nº valor de la mercancía:"lt;lt;Des.GetPrice(Result[i])lt;lt;endl;
}
coutlt;lt;"Se acabó el juego. " lt; lt; endl;
cingt; gt; i;
devuelve 0;
}