Форум: Форум C++Разное
Новые темы: 00
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: С++ для чайникив))Bank rahunok
 
 автор: Sergij   (08.02.2012 в 18:35)   письмо автору
 
 

Привет всем,я только начинающий так що несмейтесь если що!!!вот у меня есть код на создание банковського щоту и он имеет много ошыбок на Dev С++ но всьо зделал как в книге С++ для чайникив -страница покниге 132!

// BUDGET1.CPP — // BUDGET1.CPP — "Функциональная" программа бюджета
#include <iostream.h>
#include <stdio.h>


// максимальное количество счетов
const int maxAccounts = 10;

// информация о счете
unsigned accountNumber [maxAccounts];
double balance [maxAccounts];

// Прототипы функций
void process (unsigned& accountNumber,doubles balance);
void init    (unsigned& accountNumber,doubles balance);


// main — собирает начальные входные данные
//и вывсдит конечные суммы
int main (int nArg, char* pszArgs[])
{
   // ожидаем ввод
int noAccount = 0; // количества создаваемых счетов

// не создаем счетов больше максимального количества
while (noAccounts < maxAccounts)
{
          char transactionType;
          cout << "Press C to continue, X to Exit";
          cin >> transactionType;
 
         // выйти, если пользователь ввел X
          if (transactionType == 'x' 
           || transactionType == 'X')
          {
                break;
          }
          /если пользователь ввел С...
          if (transactionType == 'c' 
           || transactionType == 'C')
          {
              // ...начать создание нового счета...
               init (accountNumber[noAccounts], balance[noAccounts]);
               
               // ...и ввести информацию о проводке
               process (accountNumber[noAccounts], balance[noAccounts]);
               
               // подсчитать количество счетов
               noAccounts++;
          }
 }
 
// показать сумму
// для каждого счета в отдельности
 double total = 0;
 cout << "Info o shchetah:\n";
 for (int i = 0; i < noAccounts; i++)
 {
     cout << "Balans shcheta "
           << accountNumber[i]
           << " = " 
           << balance[i]
           << "\n";
   // подсчитать сумму по Есем счетам
     total += balance[i];
 }
 // вывести сумму по всем счетам
 cout << "Balans na wseh shchetam  =  "
      << total 
      << "\n";   
      return 0;
 }
 // init — инициализирует счет, считав
// его номер к обнулив баланс
void init (unsigned& accountNumber, doubles balance)
{
     cout << "Vpisat nomer shcheta:";
     cin  >> accountNumber;
     balance = 0.0;
}
// process — изменяет баланс счета
// в соответствии с транзакцией пользователя
void process(unsigned& accountNumber, doubles   balance)
{
     cout << "Vpisat polozycielniu summu wklada\n"
          << "abo otjemnu dla snatia summi z shchotu\n";
     double transaction;
     do
     {
            cout << ":";
            cin  >> transaction;
            
            // это вклад?
            if (transaction > 0)
            {
                            balance += transaction;
            }
            // или снятие?
            if (transaction < 0)
            {
                     // снятие
                     transaction =- transaction;
                     if (balance < transaction)
                     {
                            cout << "Nedostatochno deneg na shchote: balans "
                                 << balance
                                 << ", summa tranzakcii "
                                 << transaction
                                 << "\n";
                     }
                     else
                     {
                         balance -= transaction;
                        
                     }
            }
     } while (transaction != 0);
}

посматрите что можна зделать!!!
в скобках необращайте в нимае писал по свойму))!!

  Ответить  
 
 автор: cheops   (08.02.2012 в 18:55)   письмо автору
 
   для: Sergij   (08.02.2012 в 18:35)
 

1. Во-первых в современном C++, если вы хотите пользоваться потоками ввода cin и вывода cout из стандартного пространства имен, без префикса std::, следует в начало программы добавить следующую строку
using namespace std;
2. Во-вторых стандартного типа переменных doubles нет, вероятно имелось в виду просто double.
3. В третьих у вас объявлена переменная int noAccount = 0;, а далее идет обращение к noAccounts - имена не совпадают (нужно, чтобы имя было везде одинаково). Кроме того, если вы используете noAccounts в нескольких функциях, придется сделать переменную глобальной, как и maxAccounts.

Вот вариант, который компилируется
// BUDGET1.CPP — // BUDGET1.CPP — "Функциональная" программа бюджета
#include <iostream>
#include <stdio.h>
using namespace std;


// максимальное количество счетов
const int maxAccounts = 10;
    // ожидаем ввод
int noAccounts = 0; // количества создаваемых счетов

// информация о счете
unsigned accountNumber [maxAccounts];
double balance [maxAccounts];

// Прототипы функций
void process (unsigned& accountNumber,double balance);
void init    (unsigned& accountNumber,double balance);


// main — собирает начальные входные данные
//и вывсдит конечные суммы
int main (int nArg, char* pszArgs[])
 {

// не создаем счетов больше максимального количества
while (noAccounts < maxAccounts)
 {
           char transactionType;
           cout << "Press C to continue, X to Exit";
           cin >> transactionType;
  
          // выйти, если пользователь ввел X
          if (transactionType == 'x' 
            || transactionType == 'X')
           {
                 break;
           }
           //если пользователь ввел С...
           if (transactionType == 'c' 
            || transactionType == 'C')
           {
               // ...начать создание нового счета...
               init (accountNumber[noAccounts], balance[noAccounts]);
                
                // ...и ввести информацию о проводке
               process (accountNumber[noAccounts], balance[noAccounts]);
                
                // подсчитать количество счетов
               noAccounts++;
           }
  }
  
// показать сумму
// для каждого счета в отдельности
 double total = 0;
  cout << "Info o shchetah:\n";
  for (int i = 0; i < noAccounts; i++)
  {
      cout << "Balans shcheta "
            << accountNumber[i]
            << " = " 
            << balance[i]
            << "\n";
    // подсчитать сумму по Есем счетам
     total += balance[i];
  }
  // вывести сумму по всем счетам
 cout << "Balans na wseh shchetam  =  "
       << total 
       << "\n";   
       return 0;
  }
  // init — инициализирует счет, считав
// его номер к обнулив баланс
void init (unsigned& accountNumber, double balance)
 {
      cout << "Vpisat nomer shcheta:";
      cin  >> accountNumber;
      balance = 0.0;
 }
// process — изменяет баланс счета
// в соответствии с транзакцией пользователя
void process(unsigned& accountNumber, double   balance)
 {
      cout << "Vpisat polozycielniu summu wklada\n"
           << "abo otjemnu dla snatia summi z shchotu\n";
      double transaction;
      do
      {
             cout << ":";
             cin  >> transaction;
             
             // это вклад?
            if (transaction > 0)
             {
                             balance += transaction;
             }
             // или снятие?
            if (transaction < 0)
             {
                      // снятие
                     transaction =- transaction;
                      if (balance < transaction)
                      {
                             cout << "Nedostatochno deneg na shchote: balans "
                                  << balance
                                  << ", summa tranzakcii "
                                  << transaction
                                  << "\n";
                      }
                      else
                      {
                          balance -= transaction;
                         
                      }
             }
      } while (transaction != 0);
 }

  Ответить  
 
 автор: Sergij   (08.02.2012 в 19:10)   письмо автору
 
   для: cheops   (08.02.2012 в 18:55)
 

Спасиба очень большое,компируетца!! всьо вродиби делает!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования