Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "prototypes.h"
- //Инструменты для рисования.
- void main(){
- unsigned int kolvo;
- unsigned int cho;
- printf("Skolko vsego?");
- scanf("%d", &kolvo);
- printf("CHE NADA?\n");
- printf("1- karandash\n");
- printf("2 - resinka\n");
- printf("3 - boomaga\n");
- com *ob = fill(kolvo);
- printf("Vse(1) ili konkretnoe(2)?\n");
- while(cho != 0){
- scanf("%d", cho);
- switch(cho){
- case 1: show(ob, kolvo); break;
- case 2: search(ob, kolvo); break;
- case 3: ob = delete_elements(ob, kolvo); break;} } }
- com* fill(unsigned int num){
- unsigned int i = 0;
- kind thing;
- com *ob_get = (com*)malloc( num * sizeof(com));
- for (i = 0; i <= num; i++){
- scanf("%d", &thing);
- switch(thing){
- case unsigned int(PENCIL) + 1:
- printf("Karandash # %i\n", i + 1);
- printf("Kak nazvat?\n");
- gets(ob_get[i].name);
- printf("Vvedite %i chvet\n", i + 1);
- gets(ob_get[i].item.pencil.colour);
- printf("Vvedite %i dlinu\n", i + 1);
- scanf("%s", &ob_get[i].item.pencil.lenth);
- printf("Vvedite %i tverdost\n", i + 1);
- gets(ob_get[i].item.pencil.hardness);
- printf("Kstati, a skolko on stoit?\n");
- scanf("%d", &ob_get[i].price);
- ob_get[i].important_num = 1;
- break;
- case unsigned int(ERASER) + 1:
- printf("Resinka # %i\n", i + 1);
- printf("Kak nazvat?\n");
- gets(ob_get[i].name);
- printf("Vvedite # %i plotnost\n", i + 1);
- scanf("%s", &ob_get[i].item.eraser.densityfactor);
- printf("Vvedite # %i myagkost\n", i + 1);
- gets("%s", &ob_get[i].item.eraser.kindness);
- printf("Skolko # %i prozhivet?\n", i + 1);
- scanf("%s", &ob_get[i].item.eraser.worktime);
- printf("Kstati, a skolko ona stoit?\n");
- scanf("%d", &ob_get[i].price);
- ob_get[i].important_num = 2;
- break;
- case unsigned int(PAPER) + 1:
- printf("Bumaga # %i\n", i + 1);
- printf("Kak nazvat?\n");
- scanf("%s", &ob_get[i].name);
- printf("Kakoe kachestvo bumagi?\n", i + 1);
- scanf("%s", &ob_get[i].item.paper.quolity, i + 1);
- printf("Zachem?\n");
- scanf("%s", &ob_get[i].item.paper.needs, i + 1);
- printf("Kakogo razmera?\n");
- scanf("%d", &ob_get[i].item.paper.size, i +1);
- scanf("%d", &ob_get[i].price);
- ob_get[i].important_num = 3; break;} }
- return ob_get;}
- void show(com *ob_get, unsigned int howmany){
- unsigned int i = 0;
- printf("Chto trebuyetsa vivesti?\n");
- printf("1- karandashi\n");
- printf("2 - resinki\n");
- printf("3 - boomaga\n");
- kind itemtype;
- switch(itemtype){
- case unsigned int(PENCIL) + 1:
- printf("KARANDASHI\n");
- printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
- printf("|-----------------------------------------------------|\n");
- for (i = 0; i++; i < howmany){
- if(ob_get[i].important_num == 1){
- printf("|%10d|%8d|%8d|%10d", ob_get[i].name, ob_get[i].price, ob_get[i].item.pencil.lenth, ob_get[i].item.pencil.hardness);
- printf("|---------------------------------------------|\n");} } break;
- case unsigned int(ERASER) + 1:
- printf("RESINKI\n");
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i++; i < howmany){
- if(ob_get[i].important_num == 2){
- printf("|%10d|%8d|%9d|%10d",
- ob_get[i].name, ob_get[i].price, ob_get[i].item.eraser.densityfactor, ob_get[i].item.eraser.kindness, ob_get[i].item.eraser.worktime);
- printf("|--------------------------------------------------------|\n");} } break;
- case unsigned int(PAPER) + 1:
- printf("BUMAGA\n");
- printf("| NAME | PRICE |SIZE| QUOLITY | FOR WHAT |\n");
- printf("|----------------------------------------------------|\n");
- for (i = 0; i++; i < howmany){
- if(ob_get[i].important_num == 3){
- printf("|%10d|%8d|%4d|%10d|%14d",
- ob_get[i].name, ob_get[i].price, ob_get[i].item.paper.size, ob_get[i].item.paper.quolity,ob_get[i].item.paper.needs);
- printf("|---------------------------------------------|\n");} } break;} }
- void search(com * ob_search, unsigned int num){
- kind itemsearch;
- unsigned int parametr;
- unsigned int i;
- printf("Chto iskat?\n");
- printf("1- karandash\n");
- printf("2 - resinka\n");
- printf("3 - boomaga\n");
- switch(itemsearch){
- case unsigned int(PENCIL) + 1:
- printf("Kakoi parametr?\n");
- printf("1 - po imeni\n");
- printf("2 - po cene\n");
- printf("3 - po dline");
- printf("4 - po cvetu\n");
- printf("5 - po tverdosti\n");
- scanf("%d", ¶metr);
- switch(parametr){
- case 1:
- char imya[15];
- printf("Vvedite imya\n");
- gets(imya); break;
- printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
- printf("|-----------------------------------------------------|\n");
- if(strcmp(ob_search[i].name, imya) == 1){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 1){
- printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
- printf("|---------------------------------------------|\n");} } } break;
- case 2:
- double cena;
- printf("Vvedite cenu\n");
- scanf("%d", &cena);
- printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
- printf("|-----------------------------------------------------|\n");
- if(cena == ob_search[i].price){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 1){
- printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
- printf("|---------------------------------------------|\n");} } } break;
- case 3:
- double dlina;
- printf("Kakoi dlini\n");
- scanf("%d", &dlina);
- printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
- printf("|-----------------------------------------------------|\n");
- if (dlina == ob_search[i].item.pencil.lenth){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 1){
- printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
- printf("|---------------------------------------------|\n");} } } break;
- case 4:
- char tsvet[8];
- printf("Kakogo chveta?\n");
- gets(tsvet);
- printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
- printf("|-----------------------------------------------------|\n");
- if(strcmp(ob_search[i].item.pencil.colour, tsvet) == 1){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 1){
- printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
- printf("|---------------------------------------------|\n");} } } break;
- case 5:
- char tverdost[10];
- printf("Tip tverdosti?\n");
- gets(tverdost); break;
- printf("| NAME | PRICE | LENTH | COLOUR | HARDNESS |\n");
- printf("|-----------------------------------------------------|\n");
- if(strcmp(tverdost, ob_search[i].item.pencil.hardness) == 1){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 1){
- printf("|%10d|%8d|%8d|%10d", ob_search[i].name, ob_search[i].price, ob_search[i].item.pencil.lenth, ob_search[i].item.pencil.hardness);
- printf("|---------------------------------------------|\n");} } } break; } break;
- case unsigned int(ERASER) + 1:
- printf("Kakoi parametr?\n");
- printf("1 - po imeni\n");
- printf("2 - po cene\n");
- printf("3 - po plotnosti\n");
- printf("4 - po myagkosti\n");
- printf("5 - po tverdosti\n");
- scanf("%d", ¶metr);
- switch(parametr){
- case 1:
- char imya[15];
- printf("Vvedite imya\n");
- gets(imya);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- if(strcmp(imya, ob_search[i].name) == 1){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 2){
- printf("|%10d|%8d|%9d|%10d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
- printf("|--------------------------------------------------------|\n");} } } break;
- case 2:
- double cena;
- printf("Vvedite cenu\n");
- scanf("%d", &cena);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- if(cena == ob_search[i].price){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 2){
- printf("|%10d|%8d|%9d|%10d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
- printf("|--------------------------------------------------------|\n");} } } break;
- case 3:
- unsigned int plotnost;
- printf("Vvedite plotnost\n");
- scanf("%d", &plotnost);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- if(plotnost == ob_search[i].item.eraser.densityfactor){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 2){
- printf("|%10d|%8d|%9d|%10d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
- printf("|--------------------------------------------------------|\n");} } } break;
- case 4:
- char myagkost[9];
- printf("Vvedite myagkost\n");
- gets(myagkost);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- if(strcmp(myagkost, ob_search[i].item.eraser.kindness) == 1){
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 2){
- printf("|%10d|%8d|%9d|%10d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.eraser.densityfactor, ob_search[i].item.eraser.kindness, ob_search[i].item.eraser.worktime);
- printf("|--------------------------------------------------------|\n");} } } break;
- case 5:
- unsigned int dlitelnost;
- printf("Skolko proshivet?");
- scanf("%d", &dlitelnost);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i < num; i++){
- if(plotnost == ob_search[i].item.eraser.densityfactor && ob_search[i].important_num == 2){
- printf("|", ob_search[i].name);
- printf("%d", ob_search[i].price, "|");
- printf("%d", ob_search[i].item.eraser.densityfactor, "|");
- printf(ob_search[i].item.eraser.kindness, "|");
- printf("%d", ob_search[i].item.eraser.worktime, "|");
- printf("|--------------------------------------------------------|\n");}} break; } break;
- case unsigned int(PAPER) + 1:
- switch(parametr){
- case 1:
- char imya[15];
- printf("Vvedite imya\n");
- gets(imya);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 3){
- printf("|%10d|%8d|%4d|%10d|%14d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
- printf("|---------------------------------------------|\n");} } break;
- case 2:
- double cena;
- printf("Vvedite cenu\n");
- scanf("%d", &cena);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 3){
- printf("|%10d|%8d|%4d|%10d|%14d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
- printf("|---------------------------------------------|\n");} } break;
- case 3:
- char kachestvo[10];
- printf("Kakogo kachestva bumaga?\n");
- gets(kachestvo);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 3){
- printf("|%10d|%8d|%4d|%10d|%14d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
- printf("|---------------------------------------------|\n");} } break;
- case 4:
- char dlya_chego[10];
- printf("Poisk kakoi bumagi?\n");
- gets(dlya_chego);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 3){
- printf("|%10d|%8d|%4d|%10d|%14d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
- printf("|---------------------------------------------|\n");} } break;
- case 5:
- char razmer[10];
- printf("Vvedite razmer\n");
- gets(razmer);
- printf("| NAME | PRICE | DENSITY | KINDNES | WORKTIME |\n");
- printf("|--------------------------------------------------------|\n");
- for (i = 0; i++; i < num){
- if(ob_search[i].important_num == 3){
- printf("|%10d|%8d|%4d|%10d|%14d",
- ob_search[i].name, ob_search[i].price, ob_search[i].item.paper.size, ob_search[i].item.paper.quolity, ob_search[i].item.paper.needs);
- printf("|---------------------------------------------|\n");} } break; } break;} }
- com* delete_elements(com * ob_clean, unsigned int was){
- unsigned int nomer, index;
- printf("Seychas udalu. chto udalit?\n");
- scanf("%d", &nomer);
- com *ob_new = (com*)malloc( was - 1 * sizeof(com));
- for (index = 0; index < nomer; index++){
- ob_new[index] = ob_clean[index];}
- for (index = nomer - 1; index ++; index <= was){
- ob_new[index] = ob_clean[index];
- if(index == nomer){
- ob_new[index] = ob_clean[index + 1];}}
- return ob_new;}
Advertisement
Add Comment
Please, Sign In to add comment