“你帮我助”软件开发

软件要求

在疫情期间,各个小区居民发挥互助精神,进行物品交换,互通有无。该程序允许添加物品的信息,删除物品的信息,显示物品列表,也允许查找物品的信息。

使用环境

IDE:Visual Studio Code
环境:C++

PSP数据统计

PSP Time
Planning
Estimate 10 mins
Development
Analysis 10 mins
Design Spec 5 mins
Design Review 0
Coding Standard 10 mins
Design 30 mins
Coding 3 hours
Code Review 5 mins
Test 5 mins
Reporting
Test report 10 mins
Size Measurement 10 mins
Postmortern 5 mins
Process Improvement Plan 5 mins

功能介绍

本软件为口罩风控提供了添加物品、显示物品、删除物品、搜索物品的平台,帮助邻里相互交换。

代码

#include<iostream>
#include<string>
#include<unistd.h>
#define max 10000
using namespace std;

struct Article
{
    /* data */
    string name;
    int num;
    string address;
};
struct Articlebooks
{
    Article articleArray[max];
    int size;
    
};
void showMenu()
{
    cout << "***** 1、添加物品 *****" << endl;
    cout << "***** 2、显示物品 *****" << endl;
    cout << "***** 3、删除物品 *****" << endl;
    cout << "***** 4、查找物品 *****" << endl;
    cout << "***** 0、退出系统 *****" << endl;
}

//add person
void addArticle(Articlebooks * abs)
{
    if(abs->size == max)
    {
        cout << "FULL OF BOOK! "<< endl;
        return;
    }
    else
    {
        string name;
        cout << "Name: "<< endl;
        cin >> name;
        abs->articleArray[abs->size].name = name;
        cout << "Num: "<< endl;
        int num = 0; 
        while(true)
        {
            cin >> num;
            if(num > 0)
            {
                abs->articleArray[abs->size].num = num;
                break;
            }
            else
            {
                cout<< "Wrong!" << endl;
            }
        }

        string address;
        cout << "Address: (XXX号XXX室)"<< endl;
        cin >> address;
        abs->articleArray[abs->size].address = address;

        abs->size++;
        cout << "Success!" << endl;
    }
}

void showArticle(Articlebooks * abs)
{
    if(abs->size == 0)
    {
        cout << "Empty" << endl;
    }
    else{
        for (int i = 0 ;i< abs->size;i++)
        {
            cout << "Name:"<<abs->articleArray[i].name << "\t";
            cout << "Address:"<<abs->articleArray[i].address << "\t";
            cout << "Num:"<<(abs->articleArray[i].num)<< endl;
        }
    }
}
int isExist(Articlebooks * abs, string name)
{
    for( int i = 0; i < abs->size; i++)
    {
        if (abs->articleArray[i].name == name)
        {
            return i;
        }
    }
    return -1;
}

void deleteArticle(Articlebooks * abs)
{
    cout << "请输入删除物品的名称: "<< endl;
    string name;
    cin >> name;
    int ret = isExist(abs,name);

    if (ret == -1){
        cout << "找不到! "<< endl;
    }
    else{
        cout << "找到啦! "<< endl;
        for (int i = ret;i < abs->size;i++){
            abs->articleArray[i] = abs->articleArray[i+1];
        }
        abs->size--;
        cout << "删除成功! "<< endl;

    }
}
int main()
{
    Articlebooks abs;
    abs.size = 0;

    int select = 0;
    while (true)
    {
        showMenu();
        cin >> select;
        switch (select)
        {
            case 1/* constant-expression */:
                /* code */
                addArticle(&abs);
                break;
            case 2/* constant-expression */:
                /* code */
                showArticle(&abs);
                break;
            case 3 /*constant-expression */:
                /* code */
                deleteArticle(&abs);
                break; 
            case 4/* constant-expression */:
            {    /* code */
                cout << "请输入搜索物品的名称: "<< endl;
                string name;
                cin >> name;
                if (isExist(&abs, name)== -1)
                {
                    cout << "找不到! "<< endl;
                }
                else
                {
                    cout << "找到啦! 物品在第"<<isExist(&abs, name)<<"位"<< endl; 
                }    
                break;   
            } 
            case 0/* constant-expression */:
                /* code */
                cout << "欢迎下次使用" << endl;
                break;
            default:
                break;
        }
    }
    
    return 0;
}

Github链接

https://github.com/Robert-Xing/HelpMeHelpYou.git

posted @ 2022-10-06 23:29  RobeRrtt  阅读(47)  评论(0)    收藏  举报