Member 12697792 Ответов: 1

Могу ли я получить помощь с моим проектом ниже? Я новичок, и мне очень трудно придумать код, который точно работает


#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

class account
{
    int accno;
    char name[50];
    int deposit;
    string type;

public:
       void create_account();
       void show_account();
       void modify();
       void dep(int);
       void draw(int);
       void report();
       int retacno();
       int retdeposit();
       string rettype();
};

   void account::create_account()
  {
   {
     ofstream accFile;
     accFile.open("new ac.txt");
     if(accFile.is_open() )
    {

     cout<<"Please enter the account number :\n"<<endl;
     cin>>accno;
     accFile << accno;

     cout<<"Enter the account holders name :\n"<<endl;
     cin>>name;
     accFile<<name;

     cout<<"Choose account type (Current/Savings):\n"<<endl;
     cin>>type;
     accFile<<type;
     cout<<"Enter initial deposit (>P250): \n"<<endl;
     cin>>deposit;
     accFile<<deposit
     accFile.close();
     }
     else
    cout<<"Unable to open file";
   }
     cout<<"\nDear Client, you account has been succesfully created";

   }


   void account::show_account()
   {
     cout<<"\n\n******************ACCOUNT DETAILS*********************\n";
     cout<<"\n\n--------------------------------------------------------------------\n";
     cout<<"ACCOUNT NAME     NAMES        ACCOUNT TYPE     ACCOOUNT BALANCE\n";
     cout<<"-----------------------------------------------------------------------\n";
     std::cin>>accno\t>>name\t>>type\t>>deposit>>;
     std::cout<<accno\t<<name\t<<type\t<<deposit<<;
   }

   void account::modify()
   {
 {   ofstream accFile;
     accFile.open("new ac.txt");
     if(accFile.is_open() )

     cout<<"\nAccount No.:" <<accno;
     cout<<"\nChange Account Holder's Name:";
     cin.getline(name,50);
     accFile<<accno;
     cout<<"\nChange Account Type:";
     cin>>type;
     accFile<<type;
     cout<<"\nAccount changes saved";
   }

    void account::dep(int a)
    {
        deposit+=a;
    }

    void account::draw(int a)
    {
        deposit-=a;
    }

    void account::report()
    {
        cout<<accno<<"\t"<<name<<"\t"<<deposit<<endl;
    }
    int account::retacno()
    {
        return accno;
    }
    int account::retdeposit()
    {
        return deposit;
    }

    string account::rettype()
    {
        return type;
    }

   void account :: create_account();	//function to write record in file
   void show_sp(int);	//function to display account details given by user
   void modify_acc(int);	//function to modify record of file
   void delete_acc(int);	//function to delete record of file
   void show_all();		//function to display all account details
   void deposit_withdraw(int, int); //

int main()
{

  char ch;
  int accnum;
  int option;
  do
  {
      system("cls");
      cout<<"\n\t WELCOME TO THE MAIN MENU";
      cout<<"***SELECT AN OPTION (1-8)***";
      cout<<"\n\t 1. NEW ACCOUNT";
      cout<<"\n\t 2. DEPOSITS";
      cout<<"\n\t  3. WITHDRAWALS";
      cout<<"\n\t  4. BALANCE ENQUIRY";
      cout<<"\n\t  5. SHOW ACCOUNT DETAILS";
      cout<<"\n\t  6. ACCOUNT CLOSURES";
      cout<<"\n\t  7. ACCOUNT MODIFICATIONS";
      cout<<"\n\t  8. EXIT";
      cin>>option;
      system("cls");

      switch(option)
    {
    case 1:
          void account:: reate_account();
           break;
    case 2:
           cout<<"\n Enter Your Account Number:";
           cin>>accnum;
           deposit_withdraw(accnum,1);
           break;
    case 3:
           cout<<"\n Enter Your Account Number:";
           cin>>accnum;
           deposit_withdraw(accnum,2);
           break;
    case 4:
           cout<<"\n Enter Your Account Number:";
           cin>>accnum;
           show_sp(accnum);
           break;
    case 5:
           show_all();
           break;
    case 6:
           cout<<"\n Enter Your Account Number:";
           cin>>accnum;
           delete_acc(accnum);
           break;
    case 7:
           cout<<"\n Enter Your Account Number:";
           cin>>accnum;
           modify_acc(accnum);
           break;
    case 8:
           cout<<"\n Thank You For Using Bank123";
           break;
    default :cout<<"\a";
  }
   cin.ignore();
   option = cin.get();
 }while(option != 8);

  return 0;

}


Что я уже пробовал:

Я перепробовал в основном все, и я продолжаю получать около 50 ошибок в кодовых блоках. Пожалуйста, помогите!!

jeron1

корпус 1:
счета недействительным:: reate_account(); &ЛТ;== опечатка
перерыв;

Philippe Mori

Сделайте себе одолжение, используя адекватный редактор и правильно отступая свой код. Это было бы более очевидно, когда { и } не балансируют.

Кроме того, вы, похоже, не создаете ни одного экземпляра account класс.

Вы также смешиваете код в стиле C++ и C. Похоже, что многие из нереализованных глобальных функций "C-style" делают что-то похожее на функции-члены C++.

Вы должны написать только несколько строк кода за один раз, скомпилировать их, протестировать, зафиксировать на исходном сервере вашего кода и повторить снова. В настоящее время вы написали много кода со многими ошибками.

Таким образом, вы должны начать снова с пустого файла и добавить только несколько строк за раз. Вы можете начать с пустого account класс и пустой main функция, а затем добавьте одну функцию или несколько строк за раз.

enhzflep

Нет ничего плохого в текстовом редакторе в ide Code::Blocks.

Philippe Mori

Приведенный выше код не предназначен должным образом, и { } не сбалансированы. Любой приличный редактор должен помочь найти и исправить такие проблемы.

1 Ответов

Рейтинг:
2

Patrice T

Советы:
- Используйте редактор программиста, он покажет вам соответствие скобок и может сделать отступ в вашем коде
Notepad++ Home[^]
UltraEdit: текстовый редактор, которому доверяют миллионы[^]
- сделайте отступ в вашем коде, он выделит структуру кода.

C является предком C++, не повредит почитать справочник C, синтаксис C++ происходит от C.
Язык программирования Си - Википедия, свободная энциклопедия[^]
https://hassanolity.files.wordpress.com/2013/11/the_c_programming_language_2.pdf[^]
http://www.ime.usp.br/~ПФ/Керниган-Ритчи/с-Программирование-электронные книги.формат PDF[^]

В

 void account::create_account()
{
 {

удалить а { , он должен удалить пару ошибок.

[Обновление]
case 1:
      void account:: reate_account();
       break;

Этот код показывает, что вы едва понимаете, что делаете.
Примечание: это create

Совет: следуйте tutos, прежде чем делать свои собственные проекты.

[Обновление]
CodeBlocks-это продвинутый редактор, многофункциональный.
Это хорошая идея, чтобы узнать, как использовать их, эти функции здесь, чтобы помочь вам.


Member 12697792

Спасибо, не могли бы вы помочь мне с функциями, которые я должен использовать, чтобы превратить код в полностью работающий?

Philippe Mori

Исправляйте одну ошибку за раз, пока у вас не останется ошибок.

enhzflep

Нет ничего плохого в текстовом редакторе в ide Code::Blocks. На самом деле, во многих отношениях он превосходит Notepad++.

Пример: попробуйте щелкнуть правой кнопкой мыши идентификатор в N++ и выбрать любой из следующих вариантов: "открыть содержащую папку", "форматировать использовать AStyle", " найти реализацию:", "найти вызов функций: "

Точно - у него нет ни одного из них, ни какой-либо концепции проектов. Это удивительный редактор, благодаря тому, что он использует Малость ДЛЛ - но многие другие редакторы тоже используют тот же механизм подсветки синтаксиса.

Мой +4

Patrice T

Хорошо, я понимаю вашу точку зрения. Похоже, проблема заключается в том, чтобы научиться использовать подсказки редактора, а не не иметь функций.
Кстати, я не говорил и не думал, что CodeBlocks не очень хорош (даже если я им не пользуюсь)