Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Указатель на структуру http://www.cyberforum.ru/c-beginners/thread1101083.html
*uip_buf; #define BUF ((struct uip_eth_hdr *)uip_buf) uip_eth_hdr это структура. Как правильно прочитать эту конструкцию? uip_buf указывает на указатель типа структура?
Как писать программы? C (СИ)
День добрый уважаемые пользователи CyberForum.Ru Итак перейдем к делу: Я решил приняться за изучение С++ но пообщавшись на форумах многие мне начали писать что начать лучше с обыкновенной:...
C (СИ) Если угол между прямыми 90±10 градусов, то вывести сообщение, что они перпендикулярны
Здравствуйте...задание:С клавиатуры вводятся координаты 2 линий. Если угол между ними 90±10 градусов, то вывести сообщение, что они перпендикулярны
C (СИ) Три массива отсортировать в порядке возрастания Вот такая задачка есть у меня три массива M1(10),M2(9),M3(15) и нужно их отсортировать в порядке возрастания помогите пожалуйста а то я написал жуть что даже стыдно сюда залить http://www.cyberforum.ru/c-beginners/thread1100900.html
C (СИ) Как в программе определить, нажато ли сочетание клавиш http://www.cyberforum.ru/c-beginners/thread1100896.html
Собственно вопрос: как в программе определить, нажато ли сочетание клавиш, скажем Ctrl+A и тому подобное? P.S. Консольное приложение
В чем суть директив #include <Windows.h> #include <stdlib.h> C (СИ)
/*хочу сделать простую графическую программу ранее работал с turbo 3.0 я так понимаю <graphics.h> это что-то вроде <Windows.h> если это так то напишите самые необходимые функции и что они означают...
Удалить группы пробелов если имеются те, которыми эта строка начинается и заканчивается C (СИ)
Дана строка,преобразовать ее следующим образом:удалить группы пробелов если имеються которыми эта строка начинаеться и заканчивается, заменить каждую внутренюю группу пробелов одним пробелом и все...
C (СИ) Карточная игра "Дурак" Всем доброго времени суток, тут такая загвоздка вышла, как обычно, ко мне обратились с фразой "тыжпрограммист", ну и надо сделать игру "Дурак" на С, а в С я вообще не бум-бум, помогите чем можете... http://www.cyberforum.ru/c-beginners/thread1100721.html
C (СИ) Написать программу, которая создает динамическую матрицу размерности http://www.cyberforum.ru/c-beginners/thread1100698.html
Приветствую! Задали вот такую задачу и уже довольно долго пытаюсь разобраться, но не могу... косяк конкретно в удалении стобцов, остальное вроде бы работоспособное. Вот условие: "Написать...
C (СИ) Нужно вывести числа от 999 до 1 Здравствуйте ув. форумчани. Решал задачу и столкнулся с непонятной проблемой... Нужно вывести числа от 999 до 1. Но у меня почему-то выводит от 599 и до 1... Выше 599 не хочет. В чем проблема? Может... http://www.cyberforum.ru/c-beginners/thread1100694.html
patrikeev
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 4
0

Напишите программу, которая вставляет строки, введенные с клавиатуры, в список

20.02.2014, 11:16. Просмотров 1196. Ответов 4
Метки (Все метки)

Ребята, всем привет!
Задание было такое
"Напишите программу, которая вставляет строки, введенные с клавиатуры, в список" Нужно было использовать функция gets(), вот с ней мне кажется у меня и проблема. Почему то во все элементы списка добавляется только строка, которая была введена последней/ Помогите разобраться

list.h
C
1
2
3
4
5
6
7
8
9
10
typedef struct Node Node;
typedef struct List List;
struct Node{
   char* string;
   struct Node* next;
};
 
struct List{
   struct Node *first;
 }List_;
list.c
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
List* create_list(void){
    List* List_ = (List*) malloc(sizeof(List));
    List_->first = NULL;
    List_->sz = 0;
    return List_;
}
 
Node* new_elem(void) {
    Node *elem = (Node*) malloc(sizeof(Node));
    elem->next = NULL;
    return elem;
}
void insert_elem(char* str)
{
    Node* elem = new_elem();
 
    if (NULL == List_.first){
        List_.first = elem;
    }
    Node* curr = List_.first;
    while (NULL != curr->next)
        curr = curr->next;
    
    curr->next = elem;
    elem->next = NULL;
    elem->string =(char*)malloc(sizeof(char)*(strlen(str)+1));
    elem->string = str;
}
 
 
 
 
 
 
void printlist(void) {
    Node* curr = List_.first;
    int i;
    //for (i = 0; i < List_.sz; i++) {
    while(NULL != curr){
        printf("%s\n",curr->string);
        curr = curr->next;
    }
}
main.c
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "list.h"
 
int main(void)
{
    List* List_ = create_list();
    char st[256];
    
    gets(st);
    insert_elem(st);
    
    gets(st);
    insert_elem(st);
 
 
    gets(st);
    insert_elem(st);
 
    
 
    printlist();
 
    return 0;
}


Вернуться к обсуждению:
Напишите программу, которая вставляет строки, введенные с клавиатуры, в список
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 11:16
Готовые ответы и решения:

Напишите программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом
Напишите программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом.

Напишите программу, которая проверяет, образуют ли элементы введенного с клавиатуры массива неубывающую последовательность
Напишите программу, которая проверяет, образуют ли элементы введенного с клавиатуры массива...

Напишите программу, которая считывает с клавиатуры три числа, разделенных пробелами и печатает их сумму
Помогите пожалуйста записать эту программу...:help: &quot;Напишите программу, которая считывает с...

Напишите программу, которая позволяет ввести с клавиатуры целое число n, и выводит на экран структуру из чередующихся 0
Собственно по теме,помогите пожалуйста с данной программой,и желательно с небольшими пояснениями....

Напишите программу, которая выводит последнее слово переданной её символьной строки
Напишите программу, которая выводит последнее слово переданной её символьной строки.

4
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.