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

Сформировать список студентов института - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ пользователь вводит строчку,а программа выводит количество пробелов между словами в строке. http://www.cyberforum.ru/cpp-beginners/thread19350.html
:help:Помогите с программой:пользователь вводит строчку,а программа выводит кол-во пробелов между словами в строке. #include "stdafx.h" #include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Не работает запись в файл Нужно сохранить данные в файл а при запуске проги выводится сообщение что файл не найден. Как прописать путь к файлу, если он лежит на диске С в виндовс XP? (На федоре работает) Вот кусок программы для открытия файла: FILE *f; char s; int i,t,j,action,length; float k; f=fopen("С:\base.txt","r"); if(f==NULL){ printf("File not Found!\n"); return 1; http://www.cyberforum.ru/cpp-beginners/thread19348.html
C++ Посчитать к-во точек, попавших в круг с радиусом R и с центром в начале координат
Срочно нужна помощь в создании программы для C++Builder. Условие такое: Заданы координаты точек x1 y1 x2 y2 ... ... Xn Yn Посчитать к-во точек, попавших в круг с радиусом R и с центром в начале координат, т.е. корень из X квадрат + Y квадрат больше или равно R :'( :help:
C++ Написать программу, определяющую принадлежит ли точка части плоскости C(не C++)
Чуваки! Срочно помощь нужна, кто чем может. До пятницы надо успеть сдать лабораторки кое-какие... Незнаю как делать, точнее так себе... :wall: Вот задачи: ТЕМА: ОПЕРАТОРЫ УПРАВЛЕНИЯ. Разветвляющийся вычислительный процесс №1. Даны вещественные числа x и y. Написать программу, определяющую принадлежит ли точка с координатами (x,y) этой части плоскости: по x: от -2 до 2. по y: от 0 до...
C++ Набор действий с двоичным деревом http://www.cyberforum.ru/cpp-beginners/thread19339.html
задача заключается в том что бы написаиь программу реализующую набор действий с двоичным деревом а именно..ввод,вывод,добавление и удаление вершин,обход дерева....буду оч благодарен:rtfm:
C++ Распаковка 32 битного числа Реализовали такой алгоритм запаковки со всякими сдвигами. В файл пишется блоками по 17 байт, в которые зашито 8 32-битных чисел. int coder(long *ar(массив данных long, который пакуют),unsigned int num(кол-во эл-тов пакуемого массива),unsigned char **bf(запакованый массив), unsigned int *nbf (длина запакованного массива)) //....Pack 17-bit numbers { unsigned int ii,ll,kk; long... подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.12.2008, 10:34     Сформировать список студентов института
выводит только февральских

Код
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXNAME    512
#define NSTUDENTS  3

enum {
    JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
};

typedef struct grpnode {
    char fcl[MAXNAME];
    unsigned grp;
    char fio[MAXNAME];
    char adr[MAXNAME];
    unsigned mnth;
    unsigned yr;
    struct grpnode *next;
} Student, *Studptr;

Studptr addstud(Studptr, Studptr), studalloc(void);

/* формирует список студентов института, одна группа */
main()
{
    Studptr ourgrp = NULL, p;
    Student tmp;
    int i;
    
    for (i = 0; i < NSTUDENTS; i++) {
        printf("Enter\n");
        printf("faculty: ");
        scanf("%s", tmp.fcl);
        printf("group: ");
        scanf("%d", &tmp.grp);
        printf("initials: ");
        scanf(" %[^\n]", tmp.fio);
        printf("address: ");
        scanf(" %[^\n]", tmp.adr);
        printf("birth(month): ");
        scanf("%d", &tmp.mnth);
        printf("birth(year): ");
        scanf("%d", &tmp.yr);
        tmp.next = NULL;
        ourgrp = addstud(ourgrp, &tmp);
        putchar('\n');
    }
    for (i = 0, p = ourgrp; i < NSTUDENTS; p = p->next, i++) {
        if (p->mnth != FEB)
            continue;
        printf("%d:\n", i+1);
        printf("%s\n", p->fcl);
        printf("%d\n", p->grp);
        printf("%s\n", p->fio);
        printf("%s\n", p->adr);
        printf("%d\n", p->mnth);
        printf("%d\n", p->yr);
        putchar('\n');
    }
    return 0;
}

Studptr addstud(Studptr p, Studptr s)
{
    Studptr tmp;
    
    if (p == NULL) {
        if ((p = studalloc()) != NULL) {
            strcpy(p->fcl,s->fcl);
            p->grp = s->grp;
            strcpy(p->fio, s->fio);
            strcpy(p->adr, s->adr);
            p->mnth = s->mnth;
            p->yr = s->yr;
            p->next = s->next;
        }    
    } else {
        if ((tmp = studalloc()) != NULL) {
            strcpy(tmp->fcl, s->fcl);
            tmp->grp = s->grp;
            strcpy(tmp->fio, s->fio);
            strcpy(tmp->adr, s->adr);
            tmp->mnth = s->mnth;
            tmp->yr = s->yr;
            tmp->next = p;
        }
        p = tmp;
    }    
    return p;
}

Studptr studalloc(void)
{
    return (Studptr) malloc(sizeof(Student));
}
там ещё функция освобождения списка в комплекте, вставки элемента (поступил новый студент), удаления (перевод кого-то в другую группу), остальное делается просто через счётчики
 
Текущее время: 06:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru