Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Средний бал по 4 предметам 
:(
    Опции темы
shilovec5377
  Дата 15.5.2013, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.5.2013

Репутация: нет
Всего: нет



Всем привет. Помогите пожалуйста найти средний бал по предметам и если средний бал больше 7 то сохранить в файл, а то чета я вообще не могу.

 Вот код проги:

Код

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <fstream.h>

 
FILE *fl;
 
typedef struct
{
    char fio[30];
    unsigned char matem;
    unsigned char oaip;
    unsigned char english;
}TStudent;
 
TStudent stud[30]; //массив структур
char name[20];//имя файла
int nst=0;//число введенных структур
 
int menu();    //меню
void spisok(); //Ввести список
void resc();   //Вывести результат на экран
void resf();   //Сохранить результат в файл



int main()
{
    while (true)
    {
        switch (menu())
        {
            
            case 1: spisok(); break; //Ввести список
            case 2: resc(); break; //Вывести результат на экран
            case 3: resf(); break; //Сохранить результат в файл

            case 4: return 0;
            default: "Viberite pravilno!";
        }
        puts("pres any key to continue");
        getch();
        system("cls"); 
}
} 
 
 
int menu()//меню
{
    cout<<"viberite:"<<endl;
    cout<<"1.vvod studentov"<<endl;
    cout<<"2.vivesti rezultat na ekran"<<endl;
    cout<<"3.sohranit rezultat v file"<<endl;
    cout<<"4.Exit"<<endl;
    int i;
    cin>>i;
    return i;
}





void resc()//вывести результат на экран
{
    char fio[30];
    unsigned char matem;
    unsigned char oaip;
    unsigned char english;
 
    ifstream fin("ofile.txt", ios::in);
    
    fin.getline(fio, 30);
    fin >> matem >> oaip >> english;
    fin.ignore(2);
 
    while(!fin.eof()){
 
        cout << fio << '\n' << matem << '\n' << oaip << '\n' << english << "\n\n";
 
        fin.getline(fio, 30);
        fin >> matem >> oaip >> english;
        fin.ignore(2);
    }
 
    fin.close();
    system("pause");
}



void spisok () //ввести список
{
 
    cout<<"vvedite chislo studentov"<<endl;
    cin>>nst;
 
    for (int i=0;i<nst;i++)
    {
        cout<<"vvedite imya: ";
        cin>>stud[i].fio;
        cout<<"vvedite ocenki po matem.: ";
        cin>>stud[i].matem;
        cout<<"vvedite ocenku po oaip: ";
        cin>>stud[i].oaip;
            cout<<"vvedite ocenku po english: ";
        cin>>stud[i].english;
    
    }

}


void resf()////сохранение в файл
{
    ofstream fout("ofile.txt", ios::app);
    for (int i=0;i<2;i++)
    {
        fout << stud[i].fio << endl << stud[i].english << endl
                << stud[i].matem << endl << stud[i].oaip << endl << endl;
    }
}

PM MAIL   Вверх
bsa
Дата 15.5.2013, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



А что не получается?
PM   Вверх
borisbn
Дата 15.5.2013, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Средний балл это сумма matem, oaip (кстати, что это?) и english делённая на три.
Проверка, что ср.балл больше 7:
Код
if ( meanMark > & ) {
    // вывести в файл
}



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
feodorv
Дата 15.5.2013, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(shilovec5377 @  15.5.2013,  11:24 Найти цитируемый пост)
120:    for (int i=0;i<2;i++)

Почему до 2?


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
shilovec5377
Дата 15.5.2013, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.5.2013

Репутация: нет
Всего: нет



Цитата(borisbn @  15.5.2013,  14:37 Найти цитируемый пост)
Средний балл это сумма matem, oaip (кстати, что это?) и english делённая на три.Проверка, что ср.балл больше 7:
это я понимаю, а где его нужно записать и как правильно записать?


PM MAIL   Вверх
Guinness
Дата 15.5.2013, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



Цитата(shilovec5377 @  15.5.2013,  15:19 Найти цитируемый пост)
где его нужно записать

В функции.
Цитата(shilovec5377 @  15.5.2013,  15:19 Найти цитируемый пост)
как правильно записать

А в чем трудность?
PM MAIL   Вверх
shilovec5377
Дата 15.5.2013, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.5.2013

Репутация: нет
Всего: нет



пробую писать    
Код

srb=( (stud[i].matem)+(stud[i].oaip)+(stud[i].english) )/3;
                  cout<<srb;
,но не хочет
PM MAIL   Вверх
Guinness
Дата 15.5.2013, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



Цитата(shilovec5377 @  15.5.2013,  15:40 Найти цитируемый пост)
пробую писать 

Я бы рекомендовал делить на 3.0.
Цитата(shilovec5377 @  15.5.2013,  15:40 Найти цитируемый пост)
но не хочет

Кто и что не хочет? Приведенные Вами строчки, по идее должны исполняться.
PM MAIL   Вверх
shilovec5377
Дата 15.5.2013, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.5.2013

Репутация: нет
Всего: нет



так подскажите пожалуйста как правильно написать?
PM MAIL   Вверх
borisbn
Дата 16.5.2013, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



> но не хочет
Почитай это - http://sscce.org
Кстати, кто-нибудь знает русскоязычный аналог? Только такой же краткий и ёмкий?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
shilovec5377
  Дата 16.5.2013, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.5.2013

Репутация: нет
Всего: нет



Вот мой код, все вроде правильно, пробегаюсь по файлу и если средний бал >6 то вывести этого человека, но что-то его не выводит.
Подскажите пж в чем проблемка.


Код

void resc() //Вывод на экран
{
    char fio[30];
    int matem;
    int oaip;
    int english;
   double srb;
 

    ifstream fin("ofile.txt", ios::in);
    
    fin.getline(fio, 30);
    fin >> matem >> oaip >> english>>srb;
    fin.ignore(1);
 
   //while(!fin.eof())

    
    

 for (int i=0;i<nst;i++)
 {
     if(stud[i].srb > '6')


    
         cout << fio << '\n' << matem << '\n' << oaip << '\n' << english << '\n'<< srb <<  "\n\n"; 
 
        fin.getline(fio, 30);
        fin >> matem >> oaip >> english>>srb;
        fin.ignore(1);
 
 
    fin.close();
    system("pause");
}}



PM MAIL   Вверх
borisbn
Дата 16.5.2013, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(shilovec5377 @  16.5.2013,  09:36 Найти цитируемый пост)
fin >> matem >> oaip >> english>>srb;

Цитата(shilovec5377 @  16.5.2013,  09:36 Найти цитируемый пост)
 if(stud[i].srb > '6')

ничего не напрягает ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Guinness
Дата 16.5.2013, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 21.6.2009
Где: Зеленоград

Репутация: 2
Всего: 10



Цитата(shilovec5377 @  16.5.2013,  09:36 Найти цитируемый пост)
все вроде правильно

На чем основан данный вывод?
Цитата(shilovec5377 @  16.5.2013,  09:36 Найти цитируемый пост)
Подскажите пж в чем проблемка.

Это не Ваш код. Вы не знаете язык, на котором написанн приведенный Вами код.

Это сообщение отредактировал(а) Guinness - 16.5.2013, 11:12
PM MAIL   Вверх
shilovec5377
Дата 16.5.2013, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 15.5.2013

Репутация: нет
Всего: нет



Цитата(borisbn @  16.5.2013,  10:31 Найти цитируемый пост)
 if(stud[i].srb > '6')ничего не напрягает ?

пробую 
Код

if(srb > '6')

не выводит.

подскажите пж как правильно написать.
PM MAIL   Вверх
feodorv
Дата 16.5.2013, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Было:
Цитата(shilovec5377 @  15.5.2013,  11:24 Найти цитируемый пост)
    fin >> matem >> oaip >> english;

Стало:
Цитата(shilovec5377 @  16.5.2013,  10:36 Найти цитируемый пост)
    fin >> matem >> oaip >> english>>srb;

Вопрос: srb в файл пишется, чтобы его потом прочитать оттуда можно было?


Цитата(shilovec5377 @  16.5.2013,  12:45 Найти цитируемый пост)
пробую 
1: if(srb > '6')
не выводит.

Ну а почему вы сравниваете с '6' (это литера такая, не число 6). Сравнивайте с числом 6.0:
Код

if(srb > 6.0)



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0756 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.