Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 20:36   #1
megavolt91
Пользователь
 
Регистрация: 19.05.2009
Сообщений: 24
По умолчанию Си++. Исправьте пожалуйста ошибки

Есть задача:
создать массив данных о студентах группы. Записать имя, фамилию, год рождения каждого студента, оценки по пяти экзаменах. В списке студентов группы вычислить количество студентов с именами: Наталья, Владимир, Роман
Код:
#include <stdio.h> 
#include <iostream.h>
#include <conio.h>
struct student        // Шаблон структуры 
{ char name[20];      // имя
char fam[30];          // фамилия
int year;              // возраст
int mark[5];           // оценки
int average;           // Сумма балов
};
student students[30];      // Массив данных по группе
student buffer;          // Дополнительная структура
int records;          // Количество студентов в группе
int i, j ;
student mass[30];        // Вспомогательные переменные
void main ( )
{ records = 0 ;      // Сначала записей нет
do        // Заполняем массив структур
{ cout <<  "Студент № " << records+1 << endl;
cout <<  "Введите фамилию ";  fflush(stdin) ;
cin >> students [records].fam;
cout <<  "Введите имя  ";
cin >> students [records].name;
cout <<  "Введите возраст ";
cin >> students [records].year;
for(i = 0; i < 5; i++)
{ cout << "     Введите оценку по экзамену №  "  <<  i+1 << endl;
cin >> students[records].mark[i];
}
records++;
cout << "Остановить работу? [1/0]  ";
cin >> i;
}     while(i) ;
for(i = 0; i < records; i++)         // Подсчитывает сумму баллов
{   students [ i ].average = 0;
for (j=0;  j < 5; j++)
students[i].average += students[i].mark[j ];
}
for (i = 0; i < records-1; i++)       // сортирует
for (j = i; j < records; j++)          //     по сумме баллов
if (students[i].average > students[j].average)
{     buffer = mass[i];     // Перестановка элементов
mass[i] = mass[j];         // структуры, особенность
mass[j] = buffer;         // языка C/C++
}
for (i = 0; i < records; i++)     // Выводим результат
{ cout << "\n Студент " << students[i].name  <<  "\t" << students [i].fam ;
cout << " возраст " <<  students [i].year;  
cout << " Сре. бал " <<  students[i].average;
}
int k=0;
for ( int i=0; i<30; ++i )
if ((students[i].name=='Natalya')||(students[i].name=='Vladimir')||(students[i].name=='Roman')) {++k};
        printf("%d",k);
}
ошибки:
Error 88888.CPP 53: Character constant must be one or two characters long
Error 88888.CPP 53: Cannot convert 'int' to 'char *'
Error 88888.CPP 53: Character constant must be one or two characters long
Error 88888.CPP 53: Cannot convert 'int' to 'char *'
Error 88888.CPP 53: Character constant must be one or two characters long
Error 88888.CPP 53: Cannot convert 'int' to 'char *'
Error 88888.CPP 53: Statement missing ;
Error 88888.CPP 55: Compound statement missing }
megavolt91 вне форума Ответить с цитированием
Старый 29.05.2009, 11:45   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Если я правильно поняла, что надо выводить, то ошибка здесь
Код:
for ( int i=0; i<30; ++i )
if ((students[i].name=='Natalya')||(students[i].name=='Vladimir')||(students[i].name=='Roman')) {++k};
        printf("%d",k);
наверно д.б
Код:
for ( int i=0; i<30; ++i )
{
if ((students[i].name=='Natalya')||(students[i].name=='Vladimir')||(students[i].name=='Roman')) 
++k;
} printf("%d",k);
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 29.05.2009, 12:01   #3
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

строки заключаются в двойные кавычки
Код:
if ((students[i].name=="Natalya")||(students[i].name=="Vladimir")||(students[i].name=="Roman")) {++k;}
counter вне форума Ответить с цитированием
Старый 29.05.2009, 16:02   #4
megavolt91
Пользователь
 
Регистрация: 19.05.2009
Сообщений: 24
По умолчанию

Спасибо!!!!
megavolt91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправьте пожалуйста программу Алексей_xXx Помощь студентам 2 29.05.2009 05:11
Объясните что за ошибки пожалуйста DeFace Общие вопросы C/C++ 12 29.04.2009 14:59
Проверьте,пожалуйста,если че исправьте,plz. Wia Помощь студентам 5 08.12.2008 15:30
Свой "Пуск",исправьте плиз ошибки Marsik Помощь студентам 8 07.12.2007 15:28
Проверьте ошибки пожалуйста в задачах. velgelmina Помощь студентам 3 09.06.2007 22:10