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

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

Войти
Регистрация
Восстановить пароль
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
#1

Почему программа не хочет повторять новый ввод? - C++

09.11.2012, 09:07. Просмотров 328. Ответов 2
Метки нет (Все метки)

Первый раз считает отлично. Прошу повторить - пишет везде 0 и не спрашивает о вводе нового string?
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream> 
#include <string> 
#define MAXNUM 1000
 
 
 
 
using namespace std;
 
 
      int countchars(char[]);
      int countwords(char []);  //function returns the number of words in the string 
 
int main() 
{
    char list[MAXNUM];
    char ans;
   
    int numwords, numchar, size_type;
    
        cout << "Homework 10: Solution to Project 1.\n"; 
        
        do
         {
        cout << "\n Enter a text string to test:\n";
        cin.getline(list, 80); 
        
       
            numwords = countwords(list);
            numchar = countchars(list);
    
            cout << "\n There are " << numwords <<  " words in that text.\n";
            cout << "\n There are " << numchar <<  " letters in that text:\n\n";
          
            
         
           for (char c = 'A'; c <= 'Z'; c++)
           {
           int count = 0;
           for (int i = 0; list[i] != '\0'; i++)
            if (list[i] == c || list[i] == tolower(c))
                count++;
                 if (count != 0)
            cout << "Character: " << c << " Count: " << count << endl;
            }  
            cout  << endl;
                     
           
            cout  << endl;
            cout << "\nTest again?" << endl;
            cin >> ans;
            } while(ans == 'y'||ans == 'Y');
         
          
             
            
    
    system("Pause");
    return 0;
}
   
   
  
   
   
           int countwords(char list[])
           #define YES 1
           #define NO 0
           {
           int i, inaword, count = 0; 
       
           inaword = NO;
           for(i = 0; list[i] != '\0'; i++)
           {
               if (list[i] == ' ')
                 inaword = NO;
               else if (inaword == NO)
               {
                    inaword = YES;
                    count++;
               }
             }
         
               return(count);
           }
               
               
                int countchars(char list[])
                {
                 int i, count = 0;
       
                  for ( i = 0;  list[i] != '\0'; i++) 
                  if(isalpha(list[i])) 
                  count++;
  
                  return(count);
                  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 09:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему программа не хочет повторять новый ввод? (C++):

Почему программа не хочет выполнять цикл? - C++
Даны вещественные числа а, b, с(а &lt;&gt; 0) (которые задает пользователь с клавиатуры). Выяснить, имеет ли уравнение аx^2+ bх + с= 0...

Структуры. Файловый ввод вывод. Почему не работает программа ? - C++
Задача: В зараннее написанном текстовом документе имеются фамилии учеников и их оценки. Нужно прочитать этот текстовый файл, вывести его и...

Структуры и ввод строк с пробелами: программа пропускает второй шаг, сразу переходя к третьему - почему? - C++
Здравствуйте, уважаемые форумчане! Я новичок и в С++ и на этом форуме, так что прошу сильно не пинать. Начал заниматься по книге Стивена...

Почему не хочет возвращать main() ? - C++
Вот практикуюсь в C++, а тут return main(); не хочет работать - красным main() подчёркивает. Почему здесь ошибка, подскажите пожалуйста. ...

Почему не хочет работать код? - C++
Если динамическое выделение памяти, то работать не хочет. #include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main()...

Почему массив не хочет сортироваться? - C++
Ошибка. Почему массив не хочет сортироваться? #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; ...

2
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.11.2012, 10:56 #2
Буфер чистить нужно. Перед 26 строчкой дописать:
C++
1
cin.sync();
2
alexcoder
1546 / 691 / 90
Регистрация: 03.06.2009
Сообщений: 3,671
Завершенные тесты: 1
09.11.2012, 10:58 #3
перед cin.getline(list, 80);
нужно очистить входной поток, после cin в нем остается мусор вроде перевода строки.
В гугле есть, по памяти не скажу.
З.Ы. Не успел.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2012, 10:58
Привет! Вот еще темы с ответами:

Почему не хочет создаваться файл? - C++
Если в тексте программы указать путь и имя файла, то файл создаваться не хочет, char destination=&quot;d:\aaa.txt&quot;; fopen(destination,&quot;w&quot;); ...

Почему в Visual studio 2010 работает,а в 6.0 не хочет,с++ - C++
Помогите решить эту проблему, заранее спасибо всем #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;locale&gt; ...

R6010 - не понимаю, почему и что VS2010 хочет - C++
Разработать класс String: конструктор по умолчанию, позволяющий вводить строку 80 символов; конструктор, позволяющий вводить строку...

Почему компиллятор выдает ошибку и не хочет что бы функция принимала 2 переменных - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; using namespace std; int funk( int a, int b) ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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