Другие языки программирования и технологии
по с++ очень нужна помощ понимающего человека
Во всех приведенных ниже вариантах использовать меню для организации работы программы, исходные данные предварительно записать в текстовый файл. Разработать схему алгоритма и программу, используя функции с параметрами для ввода массива и его обработки. В массиве хранятся данные об осадках за месяц. Найти • Количество дней с осадками больше среднего вот накидал вариант функций ввода массива и вывода, не могу функцию обработки написать сообразить как чтоб ее выводить, в ней по идее должно вычесляться среднее значение осадков тоесть сложить все осадки и разделить на количество долждливых дней, а потом узнать какие дни привышали норму по осадкам и вывести именно их а не просто массив весь как у меня, и не знаю как допустим выбрали меню ввод массива после ввода вернутся обратно и выбрать вывод массива ну или обработка,помогите плиз а то всю голову уже сломал ...#include <iostream> #include <conio.h> using namespace std; int vvod( int d) {int p=0; int A[31]; cout << "kolichestvo dnei v mesace " << " 31 " << endl; const int n = 31; for (int i= 1; i<n;>> A;p=p+A;;} return 0;}// p -сумма осадков за все дни int vivod ( int k) {int A[31]; const int n = 31; for (int i=1; i<n;>> ic; cout << endl; switch (ic) {case 1:vvod(d); break; case 2:vivod(k);break; default: cout << " netu takogo varianta";} getch();}
Попробуй разобраться, как это работает!
;-))
// Visual C++ 2010 console application
#include <iostream>
#include <conio.h>
#include <locale>
using namespace std;
void Input(int day, char* fname);
void Output(char* fname);
int NumberOfLines(char* fl);
void main()
{
system("color 9B");
setlocale(LC_CTYPE, "Russian_Russia.1251");
do
{
int menu, day;
char filename[] = {"save.txt"};
cout << endl << "\t\t\t ГЛАВНОЕ МЕНЮ ПРОГРАММЫ" << endl;
cout << endl << " Для ввода данных нажмите 1 :";
cout << endl << " Для вывода результатов нажмите 2:" << endl;
cout << endl << "\n Ваш выбор: ";
cin >> menu;
if (menu == 1)
{
cout << endl << " Введите количество дней в месяце: ";
cin >> day;
}
switch (menu)
{
case 1: Input(day, filename); break;
case 2: Output(filename); break;
default: cout << endl << " Ошибка при выборе пункта меню! ";
}
_getch();
system("cls");
}
while (true);
}
void Input(int day, char* fname)
{
system("cls");
double* Deposits = new double[day];
FILE *f;
for (int n = 0; n < day; n++)
{
cout << endl << " Введите данные за " << n + 1 << "-е число: ";
cin >> Deposits[n];
}
if ((f = fopen(fname, "w+")) == NULL)
cout << endl << " Невозможно записать файл! ";
else
{
for (int n = 0; n < day; n++)
{
fprintf(f, "%Lf \n", Deposits[n]);
}
}
cout << endl << " Данные успешно записаны файл. ";
fclose(f);
delete []Deposits;
}
void Output(char* fname)
{
system("cls");
int day = 0, n;
double quantity = 0, summa = 0, middle = 0;
FILE *p;
char* fl = fname;
day = NumberOfLines(fl);
if (day == -1) return;
p = fopen(fname, "r");
if (p == NULL) cout << endl << " Невозможно открыть файл! ";
else
{
double* Deposits = new double[day];
for (n = 0; n < day; n++)
fscanf(p, "%Lf ", &Deposits[n]);
for (n = 0; n < day; n++)
{
if (Deposits[n] == 0) continue;
else
{
quantity++;
summa += Deposits[n];
}
}
middle = summa / quantity;
quantity = 0; summa = 0;
for (n = 0; n < day; n++)
{
if (Deposits[n] <= middle) continue;
else quantity++;
}
for (n = 0; n < day; n++)
{
if (n % 6 == 0) cout << endl;
cout << "\t" << Deposits[n];
}
cout << endl << " Среднее значение осадков в дождливые дни равно: " << middle;
cout << endl << " Количество дней, превышающих среднее значение осадков равно: " << quantity;
delete []Deposits;
}
fclose(p);
}
int NumberOfLines (char* fl)
{
int counter = 0;
FILE *ptr;
char temp[100];
ptr = fopen(fl, "r");
if (ptr == NULL)
{
cout << endl << " Невозможно открыть файл! ";
return -1;
}
while (fgets(temp, 100, ptr) != NULL) counter++;
fclose(ptr);
return counter;
}
;-))
// Visual C++ 2010 console application
#include <iostream>
#include <conio.h>
#include <locale>
using namespace std;
void Input(int day, char* fname);
void Output(char* fname);
int NumberOfLines(char* fl);
void main()
{
system("color 9B");
setlocale(LC_CTYPE, "Russian_Russia.1251");
do
{
int menu, day;
char filename[] = {"save.txt"};
cout << endl << "\t\t\t ГЛАВНОЕ МЕНЮ ПРОГРАММЫ" << endl;
cout << endl << " Для ввода данных нажмите 1 :";
cout << endl << " Для вывода результатов нажмите 2:" << endl;
cout << endl << "\n Ваш выбор: ";
cin >> menu;
if (menu == 1)
{
cout << endl << " Введите количество дней в месяце: ";
cin >> day;
}
switch (menu)
{
case 1: Input(day, filename); break;
case 2: Output(filename); break;
default: cout << endl << " Ошибка при выборе пункта меню! ";
}
_getch();
system("cls");
}
while (true);
}
void Input(int day, char* fname)
{
system("cls");
double* Deposits = new double[day];
FILE *f;
for (int n = 0; n < day; n++)
{
cout << endl << " Введите данные за " << n + 1 << "-е число: ";
cin >> Deposits[n];
}
if ((f = fopen(fname, "w+")) == NULL)
cout << endl << " Невозможно записать файл! ";
else
{
for (int n = 0; n < day; n++)
{
fprintf(f, "%Lf \n", Deposits[n]);
}
}
cout << endl << " Данные успешно записаны файл. ";
fclose(f);
delete []Deposits;
}
void Output(char* fname)
{
system("cls");
int day = 0, n;
double quantity = 0, summa = 0, middle = 0;
FILE *p;
char* fl = fname;
day = NumberOfLines(fl);
if (day == -1) return;
p = fopen(fname, "r");
if (p == NULL) cout << endl << " Невозможно открыть файл! ";
else
{
double* Deposits = new double[day];
for (n = 0; n < day; n++)
fscanf(p, "%Lf ", &Deposits[n]);
for (n = 0; n < day; n++)
{
if (Deposits[n] == 0) continue;
else
{
quantity++;
summa += Deposits[n];
}
}
middle = summa / quantity;
quantity = 0; summa = 0;
for (n = 0; n < day; n++)
{
if (Deposits[n] <= middle) continue;
else quantity++;
}
for (n = 0; n < day; n++)
{
if (n % 6 == 0) cout << endl;
cout << "\t" << Deposits[n];
}
cout << endl << " Среднее значение осадков в дождливые дни равно: " << middle;
cout << endl << " Количество дней, превышающих среднее значение осадков равно: " << quantity;
delete []Deposits;
}
fclose(p);
}
int NumberOfLines (char* fl)
{
int counter = 0;
FILE *ptr;
char temp[100];
ptr = fopen(fl, "r");
if (ptr == NULL)
{
cout << endl << " Невозможно открыть файл! ";
return -1;
}
while (fgets(temp, 100, ptr) != NULL) counter++;
fclose(ptr);
return counter;
}
Парень ну ты даешь! Судя по написанному коду ты вообще ничего в С++ не понимаешь. Ты что надеешься что кто-то здесь за тебя решать все будет? Иди лучше почитай книгу по С++ и сам все напишешь.
Похожие вопросы
- ПОМОГИТЕ ОЧЕНЬ НУЖНА ПОМОЩ Поменять местами элементы, расположенные симметрично относительно побочной диагонали
- Помогите))) срочно нужна помощ))) подскажите програму для конвертации flv в wmv или avi в wmv)))
- Нужна помощ! как взломать телефон N95 8G?может есть какие ибудь программы?
- нужна помощ. Помогите я первый раз переустановлю windows что делать вставит диск помагите пожалуйста
- libBox2d.lib + Visual C++ нужна помощ!
- Бинарная Сериализация. С# (Оч нужна помощ)
- Очень нужна помощь хакера. . скорее всего..
- HELP!Удалила очень нужную папку!
- Мне очень нужна помощь. Мне нужны ответы на следующие вопросы.
- Пожалуйста, очень нужна помощь с Pascal