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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alexyoung
0 / 0 / 0
Регистрация: 25.06.2010
Сообщений: 6
#1

Словарик/Тестер - C++

29.07.2010, 15:49. Просмотров 477. Ответов 4
Метки нет (Все метки)

Добрый день! Необходимость параллельного с си изучения и другого языка - английского навела меня на мысль написать простой словарик - и одновременно проверщик запоминания. Привожу код на си той части которая должна записывать новые слова в словарь:

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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
struct word
{
char Eng[35];
char TransOne[50];
char TransTwo[50];
} New;
 
int main()
{
FILE *f;
char *voc = "vocabulary.txt";
char c = 'y';
 
    f = fopen( voc, "a" );
 
    while ( c == 'y' )
    {
        printf("Вводи уже слово, неуч :");
        scanf( "%s", New.Eng );
 
        printf("Терерь основной перевод :");
        scanf( "%s", New.TransOne );
 
        printf("Другое значение.Если нет такого введи -- :");
        scanf( "%s", New.TransTwo );
 
        
 
        fprintf( f, "%s -- %s , (%s)\n", New.Eng, New.TransOne, New.TransTwo );
 
        printf( "Будешь еще записывать? Введи y если да :" );
        scanf( "%c", &c ); 
            
    }
 
    fclose(f);
 
  return EXIT_SUCCESS;
}
Проблема в следующем: не производится повторный ввод слов( более того даже не ожидается ввод проверочного символа, а в файл пишется одна строка и все). Подскажите пожалуйста в чем тут может быть ошибка.
И еще если подкинете идею как реализовать проверщик(должен из файла случайно выдавать английское слово, в ответ получать русское слово и если это слово совпадет с одним из двух значений выдавать типо "верно" и снова англ слово), то будет просто прекрасно.

Заметьте я прошу помощи, подсказки, толчка в нужном направлении но не готового кода. Хочу сам написать.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2010, 15:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Словарик/Тестер (C++):

написать словарик - C++
у меня есть словарик в текст. файле вида ааа ыыы вввввввв надо написать функцию которая удаляет\сортирует\выводит словарь,надо...

Тестер - C++
Подскажите пожалуйста как сделать такое и на чём, если можно распишите по-порядку что зачем

Словарик на C# - C#
Задали курсовой! Написать русско - англ словарик! Я сделал базу тхт файлах так как базы данных еще не учили! Да и кажое слово в базу...

Словарик - C++ Builder
Составить программу простейшего автоматизированного англо-немецко-русского словаря, данные словаря хранятся в файле. Программа должна...

Простой словарик - Python
Помогите с задачей,что я делаю не так.... вот код: a=input(str(&quot;Введи слово &quot;)) if a==(&quot;Привет&quot;,&quot;Как дела&quot;): print(&quot;такое слово...

Случайное значение (словарик) - MS Excel
Приветствую всех. У меня есть табличка, словарик. Хотелось бы немножко автоматизировать процесс изучения. Мне нужно чтобы бралось любое...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
29.07.2010, 16:35 #2
Цитата Сообщение от alexyoung Посмотреть сообщение
Проблема в следующем: не производится повторный ввод слов( более того даже не ожидается ввод проверочного символа, а в файл пишется одна строка и все). Подскажите пожалуйста в чем тут может быть ошибка.
Цитата Сообщение от alexyoung Посмотреть сообщение
scanf( "%s", New.TransTwo );
Цитата Сообщение от alexyoung Посмотреть сообщение
scanf( "%c", &c );
C
1
2
3
scanf("%s%*c", New.TransTwo );
...
scanf("%c%*c", &c);
Добавлено через 5 минут
Цитата Сообщение от alexyoung Посмотреть сообщение
И еще если подкинете идею как реализовать проверщик(должен из файла случайно выдавать английское слово, в ответ получать русское слово и если это слово совпадет с одним из двух значений выдавать типо "верно" и снова англ слово), то будет просто прекрасно.
из массива структур случайным образом брать любую, выводить из неё английское слово, читать в буфер ответ, сравнивать с первым русским из структуры, если не совпадёт - сравнивать со вторым...

Кстати, странный у Вас какой-то С...
1
alexyoung
0 / 0 / 0
Регистрация: 25.06.2010
Сообщений: 6
29.07.2010, 17:09  [ТС] #3
Прекрасно,все работает. Вот только хотелось бы узнать: что именно делает ваше добавление в форматной строке, если вам не сложно пояснить, разумеется.
П.с. среда разработки KDevelop под KDE.Может поэтому немого отличается...
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
29.07.2010, 17:13 #4
alexyoung, Ну как бэ...

C++
1
2
3
#include <iostream>
#include <cstdlib>
using namespace std;
- это C++.

Для C

C
1
2
#include <stdio.h>
#include <stdlib.h>
Быть могут проблемы с хидерами, если будете писать в CPP файле, тогда

C++
1
2
#include <cstdio>
#include <cstdlib>
1
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
29.07.2010, 17:20 #5
Цитата Сообщение от alexyoung Посмотреть сообщение
Прекрасно,все работает. Вот только хотелось бы узнать: что именно делает ваше добавление в форматной строке, если вам не сложно пояснить, разумеется.
П.с. среда разработки KDevelop под KDE.Может поэтому немого отличается...
Среда разработки тут не при чём абсолютно. Прочитайте внимательнее руководство к scanf:
Код
man 3 scanf
в консоли... Спецификатор %*c пропускает символ, следующий за только-что прочитанным. Проще говоря '\n' проглатывает.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2010, 17:20
Привет! Вот еще темы с ответами:

У кого-нибудь есть словарик VBA функций? - VBA
Я хочу создать программку на VBA. Нормально управляюсь с обычным VB, поэтому в силах своих уверена, но мне нужен русский Help по VBA или...

Тестер - Delphi
Делаю программу для тестирования, почти закончил, проблема в том что я не могу правильно определить ответ пользователя на вопрос. Как я...

Тестер - Периферийные устройства
Всем привет! Заранее извиняюсь если не туда написал) Вопрос: 1)что такое тестер 2)что с помощью него мы измеряем?

тестер - Delphi БД
как сделать чтобы вопросы и ответы выводились из файла. при нажатии на кнопку выводился вопрос с вариантами ответа.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.07.2010, 17:20
Ответ Создать тему
Опции темы

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