BG Development


  Reply to this topicStart new topicStart Poll

> Помощ за курсова задача, Програма на C++
reasse
Публикувано на: 13-01-2021, 13:28
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 27.01.11



Здравейте. Благодаря ви предварително за помоща.

Имам да направя курсова задача по програмиране която е по следните параметри:

1. Да се състави програма за въвеждане на данни за продукти в магазин в масив от записи със следната структура: Име , Продуктов Код, Категория и Цена. Програмата трябва да има следните функционалности:
а)Възможност за въвеждане и извеждане на данни за продуктите.
б)Да се сортират продуктите по цена в низходящ ред и да се изведат данните.
в)Да се намерят всички продукти които се намират в определен ценови диапазон (стойноста се въвежда от клавиатурата.) стойностите да се сортитат по възходящ ред.
г)Да се представи примерен вход и изход.

Аз Успях да напиша програмата до следният и вид но сортирането на продуктите не мога да го направя. Ето и програмният код който направих:
CODE
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
//Zadavane na primerni danni za vhod v sistemata
char user[] = "admin";            // Potrebitel
char pass[] = "12345";            // Parola
char username[20];            //Maksimalna duljina na potrebitelsko ime
char password[20];            //Maksimalna duljina na parola
//Nachalo na pokazvane na vhodnata stranica
void showMenu ();
//Nachalo proverka na parola
void passCheck ();
//Nachalo na programa
int main(){
   showMenu();
   passCheck();
}
//Izvejdane na menu za vhod
void showMenu(){
   //Bot Check Proverka chrez natiskane na Enter ot klaviaturata
   cout <<"Dobre doshli v sistemata online shop natisnete 'Enter' za da produljite";
   cin.get ();
   //Izvejdane na menu za vuvejdane na potrebitelsko ime
   cout << "Vuvedete Potrebitelsko ime (admin): ";
   //Vuvejdane na potrebitelsko ime
   cin >> username;
   cin.ignore ();
   //Izvejdane na menu za vuvejdane na parola
   cout << "Vuvedete Parola (12345): ";
   //Vuvejdane na parola
   cin >> password;
   cin.ignore ();
}
//Nachalo na menu za vhod pri greshno vuvedeni potrebitel ili parola
void showMenufailed(){
   //Izvejdane na menu za vuvejdane na potrebitelsko ime
   cout << "Vuvedete Potrebitelsko ime (admin): ";
   //Vuvejdane na potrebitelsko ime
   cin >> username;
   cin.ignore();
   //Izvejdane na menu za vuvejdane na parola
   cout << "Vuvedete Parola (12345): ";
   //Vuvejdane na parola
   cin >> password;
   cin.ignore();
}
//Nachalo na funkciq za proverka na parola
void passCheck(){
   //Proverka za vuvedeno potrebitelsko ime i parola razlichni ot prazno i suotvetsvashti na zadadenite potrebitel i parola
   if (strcmp (user, username) == 0 && strcmp (pass, password) == 0){
       cout << "LogIn Successful natisnete 'Enter' za da produljite";
       cin.get ();
       //Nachalo na izgrajdane i strukturirane na masiv
       struct shop{
              char ProductName[255];
              char ProductID[255];
              char Category[255];
              char price[255];
       };
       //nachalo na parametri na broq artikuli v masiva
          shop items[50], pom;
       int n;            // deistvitelen broi
       int i;
       //Vuvejdane na broi artikuli max 50
          cout << " Vuvedete broi na artikulite n <= 50 :";
       cin >> n;
       //Vuvejdane na stoinosti v masiva
          for (i = 0; i < n; i++){
              cout << "Vuvedete Ime:";      //Ime na artikul
              cin >> items[i].ProductName;
              cout << "Vuvedete Kod: ";      //Kod na artikula
              cin >> items[i].ProductID;
              cout << "Vuvedete Kategoria: ";      //Vuvejdane na kategoria
              cin >> items[i].Category;
             cout << "Vuvedete Cena: ";      //Vuvejdane na cena
              cin >> items[i].price;
          }
       int j;
       //nachalo na sortirane
          for (i = 0; i < n - 1; i++)
          for (j = i + 1; j < n; j++)
          if (items[i].price < items[j].price){
              pom = items[i];
             items[i] = items[j];
             items[j] = pom;
          }
       for (i = 0; i < n; i++){
             //izvejdane na masiva
              cout << " Ime             : " << items[i].ProductName << endl;      //Ime na artikula
              cout << " Kod             : " << items[i].ProductID << endl;      //Kod na artikula
              cout << " Kategoria       : " << items[i].Category << endl;      //Kategoriq na artikula
              cout << " Cena            : " << items[i].price << endl << endl;      //Cena na artikula
          }
   }
   //Pri Gtrdhno vuvedeni potrebitel i parola vrushtane kum menuto za vuvejdane na potrebitel i parola
    else{
       cout <<"LogIn Failed! Greshen Potrebitel i/ili Parola natisnete 'Enter' za vrushtane kum menuto za vhod. ";
       cin.get ();
       showMenufailed ();
       passCheck ();
   }

}

PMEmail Poster
Top
reasse
  Публикувано на: 13-01-2021, 15:45
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 2
Регистриран на: 27.01.11



Здравейте.

Във този си вид кода ми сортира по подразбиране предметите на масива по цена от най скъп към най евтин

CODE
int j;
      //nachalo na sortirane
         for (i = 0; i < n - 1; i++)
         for (j = i + 1; j < n; j++)
         if (items[i].price < items[j].price){
             pom = items[i];
            items[i] = items[j];
            items[j] = pom;
         }


icon_rolleyes.gif icon_rolleyes.gif
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0