Ejemplo n.º 1
0
int	main(void) {
	int	pid;

	shmid=shmget(	IPC_PRIVATE,
			PAGESIZE,
			0600
		    );
	if (shmid==-1) { perror("shmget"); exit(-1); }

	atexit(cleanup);	/* Cleanup shared memory when finished */

	buf=shmat(	shmid,
			(void *)NULL,
			0
		 );
	if (buf==(void *)-1) { perror("shmat"); exit(-1); }

	if (shmctl(shmid, IPC_RMID, 0)==-1) {
		perror("shmctl:destroy shared mem");
		exit(-1);
	}

	NEWSPAPER=1;
	SALE=0;
	ANGRY=0;
	OK=0;

	pid=fork();
	if (pid==-1) { perror("fork()"); exit(-1); }
	if (pid==0) { /* child */
		sale(1);
	}
	pid=fork();
	if (pid==-1) { perror("fork()"); exit(-1); }
	if (pid==0) { /* child */
		sale(2);
	}

	sleep(1);
	srand(getpid());

	/* Parrent as newspaper supplier */
	while(1) {
		NEWSPAPER++;
		fprintf(stderr, "P:supplier deliver 1 more paper"
				" total paper = %d\n", NEWSPAPER);
		fprintf(stderr,"PAPERLEFT=%d, SALE=%d, OK=%d, ANGRY=%d\n",
				NEWSPAPER, SALE, OK, ANGRY);
		sleep(rand()%4+1);
	}

	return 0;
}
Ejemplo n.º 2
0
outputmain(){
  int menu;

  ;

  while(1){
    printf("\n===出力処理====\n\n");

    printf("1:チェックアウト処理\n");
    printf("2:売上の出力\n");
    printf("3:終了\n");
    
    printf("メニュー番号を入力してください:");
    scanf("%d",&menu);

    switch(menu){
    case 1:
      output();
      break;
    case 2:
      sale();
      break;
    default:
      break;
    }

    if(menu==3)
      break;
  }
}
Ejemplo n.º 3
0
void Sales::add() {
	beginInsertRows(QModelIndex(),sales.size(),sales.size());
	sale s = sale();
	s.setId(newId);
	newId++;
	sales.append(s);
	endInsertRows();
}
Ejemplo n.º 4
0
int main()
{	Tarea *listap;	//creamos la variable lista.
	listap=NULL;
	char identificador[20];
	char identificador1[4];
	char salto_de_linea[]="\n";
	int sal,z;
	char opcion;
	system("clear");
	asteriscos('*',80,2);
	texto("GESTOR DE TAREAS DE UNA AGENDA",'*',80);
	asteriscos('*',80,2);
	printf("\n\n\x1b[35mIntroduzca su identificador: \x1b[0m");
	scanf(" %s",identificador);
	strcat(identificador,salto_de_linea);
	system("clear");
	sal=0;
	while(sal!=1){		//entramos en el bucle del menu.
	printf("\x1b[35mAgenda:\x1b[0m");
	printf("\n1)\x1b[35m Crear tarea.\x1b[0m");
	printf("\n2)\x1b[35m Ver tarea.\x1b[0m");
	printf("\n3)\x1b[35m Ver lista de tareas.\x1b[0m");
	printf("\n0)\x1b[35m Salir del programa.\x1b[0m");
	printf("\n\n\x1b[35m¿Siguiente operación? \x1b[0m");
	scanf(" %c",&opcion);
	printf("\n");
	switch(opcion)
	{
		case '1':
			z=cargarIdentificador(listap);//obtengo el ultimo identificador de la lista.
			listap=crear_tarea(listap,identificador,z); //llamamos a la funcion crear tarea que nos devuelve la lista actualizada.
			break;
		case '2':
			printf("\x1b[36mIntroduce identificador de tarea: \x1b[0m");
			scanf("%s%*c",identificador1);
			strcat(identificador1, salto_de_linea); 
			ver_tarea(identificador1,identificador); //llamamos a la funcion ver tarea.
			break;
		case '3':
			ver_lista(listap); //llamamos a la funcion de ver lista.
			break;
		case '0':
			sal=sale(listap); //llamamos a la funcion salir que nos devuelve un valor para decidir si salimos del bucle o no.
			break;
		default:
			printf("\033[31mELECCIÓN INCORRECTA,PULSAR 1,2,3 o 0: \x1b[0m \n");
			break;	
	}
}
free(listap);//liberamos el puntero.
system("clear");
return 0;
}
Ejemplo n.º 5
0
Archivo: Game.cpp Proyecto: SiliGuo/RCC
void Game::output() {

    cout << " _______________________________________________________________________________________________________  " << endl;
    cout << "|    FREE    | GUITARHERO |   CHANCE   |   YAHOO!   |    Ford    |   CHANCE   |    ebay    |   GO TO    | " << "Player's Info:" << endl;
    cout << "|   PARKING  |    LIVE    |    CARD    |            |            |    CARD    |            |   JAIL!    | " << "------------------------" << endl;
    cout << "|            | 250K (150) |            | 250K (150) | 300K (150) |            | 300K (150) |            | " << p1.getName() << endl;
    cout << "|            |    (" << sale(13) << ")     |            |    (" << sale(15) << ")     |    (" << sale(16) << ")     |            |    (" << sale(18) << ")     |            | " << "Money: " << p1.getMoney() << "K" << endl;
    cout << "|  " << stopAt(12) << "  |  " << stopAt(13) << "  |  " << stopAt(14) << "  |  " << stopAt(15) << "  |  " << stopAt(16) << "  |  " << stopAt(17) << "  |  " << stopAt(18) << "  |            | " << "Brand Value: " << endl;
    cout << "|_____12_____|_____13_____|_____14_____|_____15_____|_____16_____|_____17_____|_____18_____|_____19_____| ";
    p1.prntLst(2);
    cout << "|   Candy    |                                                                             | UNIVERSAL  | " << "------------------------" << endl;
    cout << "|   Crush    |                                                                             |            | " << p2.getName() << endl;
    cout << "| 200K (100) |                                                                             | 350K (200) | " << "Money: " << p2.getMoney() << "K" << endl;
    cout << "|    (" << sale(11) << ")     |                                                                             |    (" << sale(20) << ")     | " << "Brand Value: " << endl;
    cout << "|  " << stopAt(11) << "  |                                                                             |  " << stopAt(20) << "  | ";
    p2.prntLst(2);
    cout << "|_____11_____|                                                                             |_____20_____|" << endl;
    cout << "|    LEVIS   |                                                                             |    XBOX    |" << endl;
    cout << "|            |                                                                             |            |" << endl;
    cout << "| 200K (100) |                                                                             | 350K (200) |" << endl;
    cout << "|    (" << sale(10) << ")     |                                                                             |    (" << sale(21) << ")     |" << endl;
    cout << "|  " << stopAt(10) << "  |                                                                             |  " << stopAt(21) << "  |" << endl;
    cout << "|_____10_____|                                                                             |_____21_____|" << endl;
    cout << "|  ELECTRIC  |                                                                             |   TOWER    |" << endl;
    cout << "|  COMPANY   |                                                                             |    TAX     |" << endl;
    cout << "| 150K(50," << elcNum << ") |                                                                             |            |" << endl;
    cout << "|            |                                                                             |            |" << endl;
    cout << "|  " << stopAt(9) << "  |                                                                             |  " << stopAt(22) << "  |" << endl;
    cout << "|_____09_____|                                                                             |_____22_____|" << endl;
    cout << "|    PUMA    |                                                                             |   skype    |" << endl;
    cout << "|            |                                                                             |            |" << endl;
    cout << "| 150K (100) |                                                                             | 400K (200) |" << endl;
    cout << "|    (" << sale(8) << ")     |                                                                             |    (" << sale(23) << ")     |" << endl;
    cout << "|  " << stopAt(8) << "  |                                                                             |  " << stopAt(23) << "  |" << endl;
    cout << "|_____08_____|_____________________________________________________________________________|_____23_____|" << endl;
    cout << "|  IN JAIL!  |  POLAROID  |   CHANCE   |    RAZOR   |   CHANCE   |TRANSFORMERS|   RIVAL    |    START   |" << endl;
    cout << "|__" << stopAt(19) << "__|            |    CARD    |            |    CARD    |            |   TOWER    |            |" << endl;
    cout << "|  PASS BY   | 100K (50)  |            | 100K (50)  |            |  50K (50)  |    TAX     |     GO!    |" << endl;
    cout << "|            |    (" << sale(6) << ")     |            |    (" << sale(4) << ")     |            |    (" << sale(2) << ")     |            |            |" << endl;
    cout << "|  " << stopAt(7) << "  |  " << stopAt(6) << "  |  " << stopAt(5) << "  |  " << stopAt(4) << "  |  " << stopAt(3) << "  |  " << stopAt(2) << "  |  " << stopAt(1) << "  |  " << stopAt(0) << "  |" << endl;
    cout << "|_____07_____|_____06_____|_____05_____|______04____|______03____|_____02_____|_____01_____|_____00_____|" << endl;

}
Ejemplo n.º 6
0
template<> std::unique_ptr<Result>
DataServer::command(ReadSaleSummaryDateCmd* cmd)
{
    sql  << "SELECT (amt - tax) as amt, tax,id,item_count,table_num,emp, date_part('hour', start_t) AS hour,"
            << " date_part('minute', start_t) as minute, session FROM sales WHERE amt > 0"
            << " AND date_part('year', start_t) = " << cmd->year
            << " AND date_part('month', start_t) = " << cmd->month
            << " AND date_part('day', start_t) = " << cmd->day
            << " ORDER BY hour DESC;";
    run_sql();

    std::unique_ptr<Result> result(new Result);

    for(int i = 0; i < tuple_count(); i++){
        std::unique_ptr<Item> sale(new Item);

        sale->push_property("label", "sale");
        sale->push_property("year", cmd->year);
        sale->push_property("month", cmd->month);
        sale->push_property("day", cmd->day);
        sale->push_property("hour",     read_int(i,      "hour"));
        sale->push_property("minute", read_int(i, "minute"));
        sale->push_property("amt",      read_double(i,    "amt"));
        sale->push_property("item_count", read_int(i, "item_count"));
        sale->push_property("emp",  read_int(i, "emp"));
        sale->push_property("table_num", read_int(i, "table_num"));
        sale->push_property("id", read_int(i, "id"));
        sale->push_property("session", read_int(i, "session"));
        sale->push_property("tax", read_double(i, "tax"));
        sale->push_property("sale_count", 1);

        result->items.push_back(std::move(sale));
    }

    clr_sql();

    return result;
}
Ejemplo n.º 7
0
int	main(void) {
	int	pid;

	shmid=shmget(	IPC_PRIVATE,
			PAGESIZE,
			0600
		    );
	if (shmid==-1) { perror("shmget"); exit(-1); }

	semid=semget(	IPC_PRIVATE,
			1,	/* Only 1 resource */
			0600	/* use only these processes */
		    );
	if (semid==-1) { perror("semget"); exit(-1); }

	atexit(cleanup);	/* Cleanup shared memory when finished */

	buf=shmat(	shmid,
			(void *)NULL,
			0
		 );
	if (buf==(void *)-1) { perror("shmat"); exit(-1); }

	if (shmctl(shmid, IPC_RMID, 0)==-1) {
		perror("shmctl:destroy shared mem");
		exit(-1);
	}

	sop.sem_num=0;		/* 1st resource */
	sop.sem_op=1;		/* only 1 resource */
	sop.sem_flg=SEM_UNDO;	/* System will undone when process exit */	

	semop(	semid,
		&sop,
		1);

	sop.sem_op=-1; semop(	semid, &sop, 1);
	NEWSPAPER=1;
	SALE=0;
	OK=0;
	ANGRY=0;
	sop.sem_op=1; semop(	semid, &sop, 1);

	pid=fork();
	if (pid==-1) { perror("fork()"); exit(-1); }
	if (pid==0) { /* child */
		sale(1);
	}
	pid=fork();
	if (pid==-1) { perror("fork()"); exit(-1); }
	if (pid==0) { /* child */
		sale(2);
	}

	sleep(2);
	srand(getpid());

	/* Parrent as newspaper supplier */
	while(1) {
		sop.sem_op=-1; semop(	semid, &sop, 1);

		NEWSPAPER++;
		fprintf(stderr, "P:supplier deliver 1 more paper"
				" total paper = %d\n", NEWSPAPER);
		fprintf(stderr,"PAPERLEFT=%d, SALE=%d, OK=%d, ANGRY=%d\n",
				NEWSPAPER, SALE, OK, ANGRY);

		sop.sem_op=1; semop(	semid, &sop, 1);
		sleep(rand()%4+1);
	}

	return 0;
}
Ejemplo n.º 8
0
void dos() {  // Ejemplo 2
	void error(void);
	ofstream sale("prueba");
	if(sale == 0) error();
	sale.close();
}