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

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

Восстановить пароль Регистрация
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
09.11.2012, 09:07     Почему программа не хочет повторять новый ввод? #1
Первый раз считает отлично. Прошу повторить - пишет везде 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);
                  }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 09:07     Почему программа не хочет повторять новый ввод?
Посмотрите здесь:

C++ Почему массив не хочет сортироваться?
Почему не хочет создаваться файл? C++
C++ Путешествие коня. Почему конь не хочет пробежать все возможные варианты?
R6010 - не понимаю, почему и что VS2010 хочет C++
C++ Почему в Visual studio 2010 работает,а в 6.0 не хочет,с++
C++ Структуры. Файловый ввод вывод. Почему не работает программа ?
C++ Почему не хочет возвращать main() ?
Почему не хочет работать код? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.11.2012, 10:56     Почему программа не хочет повторять новый ввод? #2
Буфер чистить нужно. Перед 26 строчкой дописать:
C++
1
cin.sync();
alexcoder
1438 / 652 / 86
Регистрация: 03.06.2009
Сообщений: 3,293
Завершенные тесты: 1
09.11.2012, 10:58     Почему программа не хочет повторять новый ввод? #3
перед cin.getline(list, 80);
нужно очистить входной поток, после cin в нем остается мусор вроде перевода строки.
В гугле есть, по памяти не скажу.
З.Ы. Не успел.
Yandex
Объявления
09.11.2012, 10:58     Почему программа не хочет повторять новый ввод?
Ответ Создать тему
Опции темы

Текущее время: 05:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru