Вопрос: синтаксис структур, объединений, перечисл. тип

Тема в разделе "C/C++/C#", создана пользователем kaffein, 6 дек 2010.

Статус темы:
Закрыта.
  1. kaffein

    kaffein Гость

    друзья, помогите пожалуста.
    пишу лабу, практически её написал, но нужно оформить ето в виде функцый.
    ну и канечно исправить ошибки если есть! B)
    Код (C++):
    #include "stdafx.h"
    #include "stdio.h"
    #include <time.h>
    #include <stdlib.h>

    int main(int argc, char* argv[])
    {
    enum colors {red=65, green=3,yellow=2};
    colors v1=green;
    if(v1==3)
    printf("zelenuu");
    else(v1!=3);
    printf("error");




    union aaa
    {
    char a;
    int b;
    short c;
    float d;
    long s;
    char v[23];
    }aaa;
    aaa de[50];
    int i,j,k,st,st1,st2;
    double sum1,sum2,sum3;
    srand(time(NULL));
    for(i=0;i<43;i+=3)
    {
    de[i].c= rand()%200;
    for(st=0;st<i;st++)
    sum1+=st;
    }
    for(j=1;j<43;j+=3)
    {
    de[j].b= rand()%200;
    for(st1=0;st1<j;st1++)
    sum2+=st1;
    }
    for(k=2;k<43;k+=3)
    {
    de[k].d=rand()%200;
    for(st2=0;st2<k;st2++)
    sum3+=st2;
    }



    struct student
    {
    char surname [15]; //фамилия
    int year; //год рождения
    char faculty [4]; //факультет
    int gr; //группа
    };



    typedef struct data
    {
    int day;
    int month;
    int year;
    }data;
    data buf[100];
    buf[23].day=30;
    buf[12].month=12;
    typedef struct {
    int day;
    int month;
    int year;
    } data;
    data    buf[100];       // масив структур
    data *  p = &buf[0];// покажчик на масив структур
    srand(time(NULL));
    for ( int i = 0; i < 100; i++ )
    {
    p->day = rand() % 31;
    p->month = rand() % 12;
    p->year = rand() % 11+2000;
    printf( "%2d: day = %2d, month = %2d, year = %2d\n", i, p->day, p->month, p->year );
    p++;
    }

    getch();


    return 0;
    }





    return 0;
    }
    помогите ато уже третий день сижу но ничего не получается
    зарание спасибо
     
  2. BashOrgRu

    BashOrgRu Well-Known Member

    Регистрация:
    15 мар 2009
    Сообщения:
    78
    Симпатии:
    0
    задание то скажи какое.
     
  3. kaffein

    kaffein Гость

    1. Створити проект, який містить консольну програму Win32.
    2. Створити перераховує мий тип та декілька змінних даного типу, виконати декілька
    довільних операцій над змінними (арифметичні операції та операції порівняння).
    3. Створити об’єднання що містить елементи типів вказаних у варіантах до роботи
    (char, int, short, flout,long,string). Створити масив елементів типу об’єднання, заповнити елементи даного
    масиву випадковими значеннями з правилом: елементи масиву 0, 3, 6, 9 і т.д. містять
    значення першого типу, елементи масиву 1, 4, 7, 10 і т.д. містять значення другого
    типу, елементи масиву 2, 5, 8, 11 і т.д. містять значення третього типу. Обчислити суму
    елементів кожного типу.
    4. Створити структуру яка буде містити персональну інформацію про студента,
    наприклад: ПІБ, рік та дату народження, факультет, інформація про групу, номер
    залікової книжки, стать, громадянство, адреса тощо. Поля потрібно обирати на
    власний розсуд, їх кількість має бути однак не менше 3-х.
    5. Створити масив структур з використанням значень ініціалізаторів. Використовуючи
    звичайну адресацію до елементів масиву змінити значення довільного поля структури
    для всіх елементів масиву.
    6. Об’явити покажчик на структур, та використовуючи даний покажчик вивести вміст всіх
    елементів масиву на екран.
    7. Записати у файл значення елементів масиву структур та зчитати їх з файлу у інший
    масив.
    тока на украинском, если совсем плохо то я переведу :(
     
  4. kaffein

    kaffein Гость

    помогите кто-нибуть :)
     
  5. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Нашел одну.
    жи, ши - пиши с буквой 'и' !
     
  6. kaffein

    kaffein Гость

    вы меня конечно извините, но мне ето задание надо срочно, если можете чем-нибуть помоч-помогите, а на граматику я особо не обращал внимания.
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    kaffein лучше переведи, сишники все из России, форум белорусский, правила четко говорят о тех языках, которые допустимы на форуме...
     
  8. kaffein

    kaffein Гость

    1.создать перечисляемый мой тип и несколько переменных, сделать несколько операций над ними
    2. создать объединение что содержит элементы типов (char, int, short, flout,long,string).
    создать массив элементов типа объединения,заполнить элементы данного массива случайными значениями за правилом
    0, 3, 6, 9 содержат один тип
    1, 4, 7, 10 какой-то другой
    2, 5, 8, 11 третий
    вычислить суму каждого типа
    3.создать структуру которая будет содержать личную информацию о студенте.
    4.создать массив структур с использованием значений инициализаторов. используя обычную адресацию к элементам массива заменить значение любого поля структуры для всех элементов массива.
    объявить указатель на структуру и используя данный указатель вывести содержание всех элементов массива на экран.
    5. записать значение элементов массива структур в файл. считать их из файла и записать в другой массив.
     
  9. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Да что вы так на парня то ??? ;-))) Я правда плохо понял сам что он в первом сообщении написал, но что ж тут поделаешь ;-) языковой барьер ;-)))

    2kaffein: У вас дубли прослеживаются в коде.... Описание структур в функции.... Дублирование структур... typedef - Не нужен... В объединение указана переменная типа одноименная самому типу... И еще много чего...
    Я вчера пытался откорректировать, честно сказать было поздно и когда уже до 3его дубля дошел, то психанул и вырубил комп...

    З.Ы. Щас ребенко покупаю.... Подкорректирую...
     
  10. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код (C++):
    //#include "stdafx.h" //Не оставляй такой мусор не понадобился
    //#include "stdio.h" //Тут <> - такие свобки мы будем искать в глобальных каталогах инклуда stdio.h
    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>


    enum colors {red=65, green=3,yellow=2}; //Венесим перечисляемый тип за гл. функцию
    //С объединением та же история
    union aaa
    {
    char a;
    int b;
    short c;
    float d;
    long s;
    char v[23];
    }//aaa1; - Вот тут или сразу свою de[50] определяй или ничего вообще
    ;

    //Структура... вот с ней я полностью согласен
    struct student
    {
    char surname [15]; //фамилия
    int year; //год рождения
    char faculty [4]; //факультет
    int gr; //группа
    };

    typedef struct data
    {
    int day;
    int month;
    int year;
    }data;

    //Вот этим фрагментом ты что хотел показать???
    /*typedef struct {
    int day;
    int month;
    int year;
    } data;
    */


    //Главная функция
    int main(int argc, char* argv[])
    {
    colors v1=green;
    if(v1==3)
    printf("zelenuu");
    //else(v1!=3) //; //Точка с запятой тут совсем не нужна тебе же нужно вывести error на экран + else - Не поддерживаем условие поэтому
    //(v1!=3) - не нужно оно и так идет по умолчанию... а хочешь условие используй else if ()
    else
    printf("error");

    aaa de[50];
    int i,j,k,st,st1,st2;
    srand(time(NULL));

    double sum1 = 0.0 ,sum2 = 0.0 ,sum3 = 0.0; //(!!!)
    for(i=0;i<43;i+=3)
    {
    de[i].c= rand()%200;
    for(st=0;st<i;st++)
    sum1+=st; //Не видел я что бы ты sum1, sum2 и sum3 - инициализировал... Так к чему ты st прибавлешь??? Им нужно сначало нуль присвоить выше(!!!)
    }
    for(j=1;j<43;j+=3)
    {
    de[j].b= rand()%200;
    for(st1=0;st1<j;st1++)
    sum2+=st1;//см. выше
    }
    for(k=2;k<43;k+=3)
    {
    //de[k].d=rand()%200; //Тут преобразование в float нужно... Желательно такие моменты явно прописывать
    de[k].d=float (rand()%200);
    for(st2=0;st2<k;st2++)
    sum3+=st2; //см. выше
    }

    //едем дальше
    //Тут у тебя было куда одинаковых (дублируемых структур определено
    //Вырезал и прилепил на верх... там и прокомментирую
    //data buf[100]; //Ты ее ниже определяешь
    //buf[23].day=30; //А вот эти 2 строки нужно сместить после определения
    //buf[12].month=12;

    data    buf[100];       // масив структур
    buf[23].day=30;
    buf[12].month=12;
    data *  p = &buf[0];// покажчик на масив структур
    srand(time(NULL));
    for ( int i = 0; i < 100; i++ )
    {
    p->day = rand() % 31;
    p->month = rand() % 12;
    p->year = rand() % 11+2000;
    printf( "%2d: day = %2d, month = %2d, year = %2d\n", i, p->day, p->month, p->year );
    p++;
    }

    getchar();

    return 0;
    }
    Сам код я не смотрел и на работоспособность не проверял...
     
  11. kaffein

    kaffein Гость

    вау! дружище, ты меня спас! огромное спасибо :what?:
     
  12. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    первая ошибка: жи ши пиши с буквой И
     
  13. kaffein

    kaffein Гость

    :not acorn это уже не смешно, я з України ти розумієш мене? интересно сколько ты сделал бы ошибок если бы писал украинский текст :what?:
     
  14. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    kaffein
    да забей ты)) тебе Кнайт много чего полезного написал, что скажешь по этому поводу?
     
  15. kaffein

    kaffein Гость

    :what?:
    "вау! дружище, ты меня спас! огромное спасибо" вот это и сказал. Он меня реально выручил, ведь мне завтра уже нужно лабу сдать. спасибо всем, кто помогал решать мою проблему :lovecodeby:
     
Загрузка...
Похожие Темы - Вопрос синтаксис структур
  1. brddrdtt
    Ответов:
    0
    Просмотров:
    1.100
  2. Генералл
    Ответов:
    2
    Просмотров:
    56
  3. ApplePen
    Ответов:
    0
    Просмотров:
    58
  4. gURaBA_N
    Ответов:
    3
    Просмотров:
    92
  5. ghost
    Ответов:
    1
    Просмотров:
    86
Статус темы:
Закрыта.

Поделиться этой страницей