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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2010, 00:39   #1
toy
Новичок
Джуниор
 
Регистрация: 18.05.2010
Сообщений: 2
Сообщение Структуры. Опр. средний балл

Организовать массив записей, содержащий информацию о результатах сдачи последней сессии вашими товарищами. Определить и дополнить данные средним баллом. В группе 7 человек.

Мне понятно как сделать для одного человека, но вот как переделать для 7?((
PHP код:
#include<stdio.h>
#include <stdlib.h>
#include<string.h>

#define NAME_LEN 40

typedef struct
   
{
   
char name [NAME_LEN];
   
int score;
   }
   
Subject_t;
void fillSubject(Subject_t *s)
{
   
printf ("subject name:");
   if (
fgets(s->name,NAME_LEN,stdin)==NULL)
   {
      
fprintf(stderr,"Error whle getting subject name!\n");
      exit(
1);
   }
   
s->name[strlen(s->name)-1]='\0';
   
printf("Subject score:");
   if (!
scanf("%d",&s->score)){
      
fprintf(stderr,"Error while getting subject score!\n");
      exit(
1);
   }
   
getchar();
}
int main (void)
    {
    
Subject_t *session=NULL;
    
size_t count=0,i;
    
int all_scores=0;
    
double average_score=0.0;
    
printf("Number of subjects:");
    
scanf("%d",&count);
    
getchar();
    if(!
count)
    {
    
fprintf(stderr,"Bad value for number of subjects!\n");
    exit(
1);
    }
    if((
session=(Subject_t*)calloc(count,sizeof(Subject_t)))==NULL)
    {
       
fprintf(stderr,"Memory error!\n");
       exit(
1);
    }
    for(
i=0;i<count;i++)
       
fillSubject(session+i);
    for(
i=0;i<count;i++)
      
all_scores+=(session[i]).score;
      
average_score=(double)all_scores/(double)count;
    
printf("\nAl subjects:\n");
    
printf("%-40s%-s\n","Name","Score");
    for(
i=0;i<count;i++)
       
printf("%-40s%-d\n",(session[i]).name,(session[i]).score);
    
printf("nAverage score%1f\n",average_score);
    
free(session);
    
session=NULL;
    exit(
0);

toy вне форума Ответить с цитированием
Старый 19.05.2010, 08:49   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Сделать класс(структуру) Одногрупник, создать массив объектов такого типа.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. StringGrid. посчитать суммарный балл каждого студента tvorozhenciya Помощь студентам 5 24.04.2010 17:11
Ищу студента-программиста,который поможет создать программу за опр.плату Настя007 Фриланс 5 08.01.2009 09:16
Как решить задачу на паскале с опр. интегралами ternovoi Помощь студентам 2 14.10.2008 17:17
Как решить задачу на паскале с опр. интегралами ternovoi Помощь студентам 1 14.10.2008 17:15
Средний балл KORT Общие вопросы C/C++ 3 27.02.2008 17:04