Форум программистов, компьютерный форум CyberForum.ru

Добавление элемента в структурой с проверкой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти все возможные значения чисел http://www.cyberforum.ru/cpp-beginners/thread427491.html
задано количество разрядов числа диапазона unsigned long, имеющих значение L. Найти все возможные значения чисел.
C++ Для каждого из слов предложения указать, сколько раз оно встречается в предложении Добрый день! Не могу решить две задачи в с++ , поскажите пожалуйста: 1. Для каждого из слов предложения указать, сколько раз оно встречается в предложении. 2. В предложении исключить группы символов, расположенных между скобками «(» и «)». Сами скобки тоже должны быть исключены. если можно то с объяснением, со строками в си совсем не дружу :( Заранее благодарна! http://www.cyberforum.ru/cpp-beginners/thread427487.html
C++ Сортировка с массива. Обработка строк
Часть 1. Дан числовой массив. Реализовать алгоритм сортировки шелла. Часть 2. Дано предложение. Определить количество слов в предложении
Представление целых и вещественных чисел. Основные арифметические и логические операции. C++
Часть 1. Вычислить площадь эллипса, если известны длины его полуосей. Какие флаги во флаговом регистре изменились при выполнении арифметических операций и почему? Часть 2. Инициализируйте 3 переменных различной длины. В программе проинвертируйте их и выведите результат на экран в 16-разрядном представлении.
C++ Найти сумму чётных и нечётных чисел массива http://www.cyberforum.ru/cpp-beginners/thread427454.html
a) Статическая память. Двумерный массив. Дан массив целых чисел (5х5). Найти сумму чётных и нечётных чисел. b) Динамическая память. Одномерный массив. Дан массив вещественных чисел. Правда ли, что цифры минимального элемента входят в состав максимального числа.
C++ Радиус круга Не могу сделать, помогите пожалуйста a) Заданы два параметра: радиус круга и сторона равностороннего треугольника. Какая из площадей больше? b) Вычислить сумму √1+√2+...+√50 подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.01.2012, 01:13     Добавление элемента в структурой с проверкой
vash, так подойдёт?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define BOOKS_MAX 5
#define STR_LEN 32
#define STR_MASK "%31[^\n]"
 
typedef struct BOOK {
    char name[STR_LEN];
    char autor[STR_LEN];
} book_t;
 
book_t * find_book(const book_t * books, size_t count, const book_t * book){
    return ( count == 0 ) ? NULL : ( strcmp(books->name, book->name) == 0 && strcmp(books->autor, book->autor) == 0 ) ? (book_t*)books : find_book(books+1, count-1, book);
}
 
int add_book(book_t * book){
    printf("Name: ");
    if ( scanf(STR_MASK "%*c", book->name) != 1 )
        return -1;
    printf("Autor: ");
    if ( scanf(STR_MASK "%*c", book->autor) != 1 )
        return -1;
    
    return 0;
}
 
int main(void){
    book_t books[BOOKS_MAX];
    size_t i;
    
    for ( i = 0; i < BOOKS_MAX; ){
        printf("Book #%d:\n", i + 1);
        if ( add_book(&books[i]) ){
            fprintf(stderr, "Wrong input!\n");
            exit(1);
        }
        if ( find_book(books, i, &books[i]) )
            fprintf(stderr, "This book allready exists, try enter another one.\n");
        else
            ++i;
    }
    
    printf("\n+--------------------------------------------------------------------+\n");
    printf("| Autor                           | Name                             |\n");
    printf("+--------------------------------------------------------------------+\n");
    
    for ( i = 0; i < BOOKS_MAX; ++i )
        printf("| %-31s | %-31s  |\n", books[i].autor, books[i].name);
    
    printf("+--------------------------------------------------------------------+\n"); 
    
    exit(0);
}
А делать смесь из кода на С и на С++ - неправильное занятие, так преподу и передайте!
 
Текущее время: 15:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru