Maison  >  Article  >  développement back-end  >  Comment écrire un programme de comptabilité simple en C++ ?

Comment écrire un programme de comptabilité simple en C++ ?

PHPz
PHPzoriginal
2023-11-03 09:52:511110parcourir

Comment écrire un programme de comptabilité simple en C++ ?

Cet article explique comment utiliser le C++ pour écrire un programme de comptabilité simple. Alors que le coût de la vie continue d'augmenter, de plus en plus de personnes commencent à prêter attention à leur situation financière. L'utilisation d'un grand livre peut enregistrer les revenus et les dépenses et améliorer les capacités de gestion financière. L'avantage du langage C++ est son efficacité et sa portabilité, ce qui est très approprié pour écrire de tels programmes.

1. Déterminer les fonctions et les exigences du programme

Avant d'écrire le programme, nous devons d'abord clarifier les fonctions et les exigences que le programme souhaite atteindre. Un programme de comptabilité simple doit avoir les fonctions suivantes :

(1) Être. capable d'enregistrer chaque transaction Le montant et le type de dépenses et de revenus, et d'enregistrer l'heure

(2) Capable de calculer le revenu et les dépenses globaux, y compris le nombre total de revenus et de dépenses ; rapporte et compte le total de chaque type de dépenses et de revenus

(4) Capable d'ajouter, de supprimer, de modifier et de vérifier les enregistrements.

Concevoir des structures de données et des algorithmes
  1. Dans le programme, nous devons utiliser des structures de données pour stocker chaque enregistrement. Les structures de données couramment utilisées incluent des tables linéaires, des piles, des files d'attente, etc. Ici, nous choisissons d'utiliser un tableau linéaire pour stocker chaque enregistrement. Chaque enregistrement comprend les informations suivantes :

(1) numéro d'identification unique de l'enregistrement

(2) horodatage de l'enregistrement ; , y compris les revenus et les dépenses ;

(4) enregistrez le montant ;

(5) enregistrez les détails.

Pour l'algorithme, nous devons concevoir des fonctions pour mettre en œuvre diverses opérations, telles que l'ajout, la suppression, la mise à jour, l'interrogation et les statistiques. Ces opérations doivent accéder aux données enregistrées, et doivent également calculer le total des recettes et des dépenses ainsi que le type. somme de classification et générer le rapport correspondant.

Écrire du code

    Avant de commencer à écrire du code, nous devons faire quelques préparatifs, notamment :
  1. (1) Choisissez un environnement de développement intégré (IDE), tel que Visual Studio

(2) Apprenez les bases ; syntaxe du C++ Et utiliser la bibliothèque STL pour la programmation ;

(3) Concevoir les classes et les fonctions du programme.

En C++, nous pouvons utiliser des classes pour représenter des programmes de comptabilité. Cette classe peut contenir diverses fonctions membres et variables membres, ainsi que les caractères de contrôle d'accès correspondants.

Voici un exemple de code pour un programme de comptabilité simple :

#include <iostream>
#include <vector>

using namespace std;

class Record {
public:
  int id;
  string date;
  string type;
  double amount;
  string description;
  Record(int _id, string _date, string _type, double _amount, string _description) {
    id = _id;
    date = _date;
    type = _type;
    amount = _amount;
    description = _description;
  }
};

class AccountBook {
public:
  vector<Record> records;

  void addRecord(int id, string date, string type, double amount, string description) {
    records.push_back(Record(id, date, type, amount, description));
  }

  void deleteRecord(int id) {
    for (vector<Record>::iterator it = records.begin(); it != records.end(); it++) {
      if (it->id == id) {
        records.erase(it);
        break;
      }
    }
  }

  void updateRecord(int id, double amount) {
    for (vector<Record>::iterator it = records.begin(); it != records.end(); it++) {
      if (it->id == id) {
        it->amount = amount;
        break;
      }
    }
  }

  void searchRecords(string type) {
    for (vector<Record>::iterator it = records.begin(); it != records.end(); it++) {
      if (it->type == type) {
        cout << "ID: " << it->id << endl;
        cout << "Date: " << it->date << endl;
        cout << "Type: " << it->type << endl;
        cout << "Amount: " << it->amount << endl;
        cout << "Description: " << it->description << endl;
      }
    }
  }

  void generateReport() {
    vector<double> income(5, 0);
    vector<double> expense(5, 0);
    for (vector<Record>::iterator it = records.begin(); it != records.end(); it++) {
      if (it->type == "Income") {
        income[0] += it->amount;
        if (it->description == "Salary") income[1] += it->amount;
        else if (it->description == "Bonus") income[2] += it->amount;
        else if (it->description == "Investment") income[3] += it->amount;
        else if (it->description == "Gift") income[4] += it->amount;
      }
      else if (it->type == "Expense") {
        expense[0] += it->amount;
        if (it->description == "Food") expense[1] += it->amount;
        else if (it->description == "Clothing") expense[2] += it->amount;
        else if (it->description == "Housing") expense[3] += it->amount;
        else if (it->description == "Transportation") expense[4] += it->amount;
      }
    }
    cout << "Total income: " << income[0] << endl;
    cout << "Salary: " << income[1] << endl;
    cout << "Bonus: " << income[2] << endl;
    cout << "Investment: " << income[3] << endl;
    cout << "Gift: " << income[4] << endl;
    cout << "Total expense: " << expense[0] << endl;
    cout << "Food: " << expense[1] << endl;
    cout << "Clothing: " << expense[2] << endl;
    cout << "Housing: " << expense[3] << endl;
    cout << "Transportation: " << expense[4] << endl;
  }

  double calculateBalance() {
    double income = 0, expense = 0;
    for (vector<Record>::iterator it = records.begin(); it != records.end(); it++) {
      if (it->type == "Income") {
        income += it->amount;
      }
      else if (it->type == "Expense") {
        expense += it->amount;
      }
    }
    return income - expense;
  }
};

void printMenu() {
  cout << "1. Add record" << endl;
  cout << "2. Delete record" << endl;
  cout << "3. Update record" << endl;
  cout << "4. Search records" << endl;
  cout << "5. Generate report" << endl;
  cout << "6. Calculate balance" << endl;
  cout << "7. Quit" << endl;
}

int main() {
  AccountBook accountBook;
  int choice;
  while (true) {
    printMenu();
    cout << "Enter your choice: ";
    cin >> choice;
    if (choice == 7) {
      cout << "Goodbye!" << endl;
      break;
    }
    switch (choice) {
      case 1: {
        int id;
        string date, type, description;
        double amount;
        cout << "Enter ID: ";
        cin >> id;
        cout << "Enter date (YYYY-MM-DD): ";
        cin >> date;
        cout << "Enter type (Income/Expense): ";
        cin >> type;
        cout << "Enter amount: ";
        cin >> amount;
        cout << "Enter description: ";
        cin >> description;
        accountBook.addRecord(id, date, type, amount, description);
        cout << "Record added." << endl;
        break;
      }
      case 2: {
        int id;
        cout << "Enter ID: ";
        cin >> id;
        accountBook.deleteRecord(id);
        cout << "Record deleted." << endl;
        break;
      }
      case 3: {
        int id;
        double amount;
        cout << "Enter ID: ";
        cin >> id;
        cout << "Enter amount: ";
        cin >> amount;
        accountBook.updateRecord(id, amount);
        cout << "Record updated." << endl;
        break;
      }
      case 4: {
        string type;
        cout << "Enter type (Income/Expense): ";
        cin >> type;
        accountBook.searchRecords(type);
        break;
      }
      case 5: {
        accountBook.generateReport();
        break;
      }
      case 6: {
        cout << "Balance: " << accountBook.calculateBalance() << endl;
        break;
      }
      default: {
        cout << "Invalid choice." << endl;
        break;
      }
    }
  }
  return 0;
}

Test du programme

    Après avoir fini d'écrire le code, nous devons tester le programme. Les méthodes spécifiques pour tester le programme incluent :
  1. (1) Saisir des données et des opérations, telles que l'ajout, la suppression, la mise à jour, la requête, le rapport, etc.

(2) Vérifier si le programme produit des résultats corrects ; ) Vérifiez le programme s'il peut se terminer normalement.

Pendant les tests, nous pouvons utiliser différentes données pour tester afin de garantir l'exactitude et la stabilité du programme. Si des problèmes sont détectés dans le programme, le code doit être modifié et débogué.

Résumé

Cet article explique comment utiliser C++ pour écrire un programme de comptabilité simple, notamment en déterminant les fonctions et les exigences du programme, en concevant des structures de données et des algorithmes, en écrivant du code et en testant le programme. Ce programme dispose de fonctions telles que l'ajout, la suppression, la mise à jour, l'interrogation, la création de rapports et le calcul des soldes, qui peuvent aider les gens à mieux gérer leur situation financière. En étudiant le contenu de cet article, les lecteurs peuvent mieux comprendre l'application du langage C++ et les méthodes de programmation de base, et améliorer leurs compétences en programmation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn