Подсчет и сортировка в C -- c поле с участием counting пол Связанный проблема

Counting and sorting in C


0
vote

проблема

русский

Я заряжаюсь с обычной программой C, которая подсчитывает ряд входов и соответственно классифицирует их. У меня на самом деле нет ни одного кода, написанного для него прямо сейчас, так как я все еще думаю о том, как пойти об этом, поэтому я сделаю все возможное, чтобы объяснить.

Как пример того, где я хочу пойти с этой программой, позволяет сказать, что я хочу, чтобы это сосчитать количество голосов от людей. Я заинтересован только в демографии, а не фактическими голосами. Таким образом, пользователь вводит пол и возраст каждого человека с отдельным голосованием, который затем добавляет в общее количество в конце и подсвечении между мужчинами и женщиной. Там будет персонаж, назначенный каждому возрастному кронштейну, чтобы помочь с соответствующим. Например, возраст 0-20 = A, 21-40 = B, 41+ = C. Тогда будет входной, такой как x0, который закончит подсчет:

Так что это будет выглядеть что-то подобное с пол и веками в качестве пользовательского ввода (игнорировать пуль):

    .
  • введите пол и возраст: мужчина 17
  • введите пол и возраст: женщина 20
  • введите пол и возраст: мужчина 30
  • введите пол и возраст: женщина 46
  • введите пол и возраст: мужчина 35
  • введите пол и возраст: x0
  • мужчина: abb
  • Женский: AC
  • Всего: 5

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

Если вы, ребята, у вас есть совет, это было бы очень оценено.

Спасибо

Английский оригинал

I'm dabbling around with a regular C program that counts a number of inputs and categorizes them accordingly. I don't really have any code written up for it right now since I am still thinking of how to go about it, so I'll do my best to explain.

As an example of where I want to go with this program, lets say I want it to count the number of votes from people. I'm only interested in the demographics, not the actual votes. So, the user inputs the gender and age of each person with an individual ballot which then adds to a total number at the end and tallies between male and female. There would be a character assigned to each age bracket to help with the tally. For example ages 0-20 = A, 21-40 = B, 41+ = C. Then, there would be an input like X0 which would end the counting:

So it would look something like this with the gender and ages as the user input (ignore bullets):

  • Enter gender and age: Male 17
  • Enter gender and age: Female 20
  • Enter gender and age: Male 30
  • Enter gender and age: Female 46
  • Enter gender and age: Male 35
  • Enter gender and age: X0
  • Male: ABB
  • Female: AC
  • Total: 5

I'm thinking of using while, for, and do while loops to get this accomplished since I am still learning the language, but I am having a hard time getting this going.

If you guys have any advice, it would be greatly appreciated.

Thank you

</div
     

Список ответов

1
 
vote

Вы можете использовать операторы переключения и если есть и имеют счетчики, чтобы сохранить количество голосов. Я бы подошел к такой проблеме. Попробуйте сделать это на бумаге и ручку немного, напишите немного кода, я уверен, что вы получите его, как только вы начнете с бумаги и ручки. Также для сортировки вы можете использовать цикл, который может занять это.

 

you can use switch statements and if's and have counters to keep a count of votes. I would approach the problem like that. try doing it on paper and pen a little, write a little bit of code i am sure you will get it once u start with paper and pen. Also for sorting you can use a loop which can take of that.

</div
 
 
0
 
vote

Вы, вероятно, должны просто погрузиться прямо и написать так, как вы знаете, как. Опыт кодирования очень полезен рано. Если вы можете получить то, что работает так, как вы описываете, вы многое узнаете по пути, просто делая руческую работу.

Чтобы получить вывод и ввод на одну строку, как вы описываете, вам может потребоваться позвонить <код> fflush(stdout); после <код> printf и до <код> scanf ,

Кстати, общая стратегия для завершения пользовательского ввода в программу - это код EOF (CTRL-D в Unix / Linux, Ctrl-Z в Windows). <Код> scanf вернет отрицательное значение, если он сталкивается с EOF вместо более клавишных ударов.

, который сказал, что как A более широкой стратегии , я бы порекомендовал начать думать об этих видах программ, как неинтерактивных . Представьте, что если программу не нужно каждый раз проходить через вопросник, но прочитайте данные прямо из файла. И вместо полных слов он будет иметь однобуквенные коды и больше выглядеть как

 <код> M 17 F 20   

И программа только что сделала подсчет. не будет ли ущерным написать и использовать ?

 

You should probably just dive right in and write it the way you know how. Coding experience is very useful early on. If you can get something that works the way you describe, you'll learn a lot along the way just by doing the grunt work.

To get the output and input on one line like you describe, you may need to call fflush(stdout); after the printf and before the scanf.

By the way, a common strategy for terminating user input to a program is with an EOF code (ctrl-D in Unix/Linux, ctrl-Z in Windows). scanf will return a negative value if it encounters EOF instead of more keyboard strokes.

That said, as a broader strategy, I'd recommend you start thinking about these sorts of programs as non-interactive. Imagine if the program didn't need to go through the questionnaire each time, but read the data straight from a file. And instead of full words, it would have single-letter codes and look more like

M 17 F 20 

And the program just did the counting. Wouldn't that be easier to write and use?

</div
 
 

Связанный проблема

2  Если данные Spark будут кэшировать Off-Heap, у него будет спецификация байта?  ( If sparks data will be cached off heap will it have a byte level specification ) 
Я узнал из разных блогов, особенно этот один , что в ближайшее время Apache Spark будет кэшировать кучу Java (в public class AndroidAudioDevice { AudioT...

8  Нужно ли набрать CAST MALLOC и CALOOC [Дубликат]  ( Is it necessary to type cast malloc and calloc ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  C / C ++ Смешанное программирование: неисправность сегментации GDB часто  ( C c mixed programming gdb segmentation fault frequently ) 
Я всегда понимаю падение GDB, когда пытаюсь распечатать определенно действительную структуру / переменную. И это часто разбивается, если я попытался позвонить...

1  Связывание с DLL в C / C #  ( Linking with dll in c c ) 
Я пытался связать с третьей стороной DLL. Я пробовал 3 разными способами: путем компиляции C в Cygwin, составив C ++ в Visual Studio и путем компилирования C ...

73  C ++ - включить Unistd.h: почему бы не Cunistd?  ( C include unistd h why not cunistd ) 
Сказано, что при включении файлов заголовка C в C ++ суффикс «.h» следует удалить, а затем добавить «C» в начале. Например, <код> #include <cstdio> вместо <к...

0  Не может запустить TCP-сервер на iOS, сотовой  ( Cannot run tcp server on ios cellular ) 
Я пытаюсь запустить TCP-сервер на iOS из сотовой связи. В целях задачи этого вопроса я написал эту очень упрощенную версию сервера и клиента в C, используя So...

4  Должны быть использованы кронштейны для одной строки условных утверждений? [закрыто]  ( Shall brackets be used for one line conditional statements ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

0  Fead вызывает ошибку сегментации  ( Fread causing segmentation fault ) 
Попытка создать файл 1024 байтов случайных данных. Когда я запускаю это, я получаю ошибку неисправности сегментации на линии FREAD. Кто-нибудь видит, что я де...

5  Возвращая указатель на местную структуру  ( Returning pointer to a local structure ) 
Безопасно, чтобы вернуть указатель на локальную структуру в C? Я имею в виду это делать <код> struct myStruct* GetStruct() { struct myStruct *str =...

0  Согласите несколько строк?  ( Concat multiple strings ) 
У меня есть строка, как приведенная ниже, но мне нужно объединить косые в каталогах, есть ли способ безопасно объединять несколько строк? <код> // Need to i...

838  Почему эти конструкции используют поведение Pre и Post-Actrention undefined?  ( Why are these constructs using pre and post increment undefined behavior ) 
<код> getenv()1 ...

0  Напишите программу, которая извлекает содержимое файла RPM в Windows  ( Write a program that extracts the contents of an rpm file on windows ) 
Я хочу написать программу, которая извлечет содержимое RPM-файла и выполняет некоторые проверки проверки. Я буду использовать Qt для интерфейса, чтобы програм...

3  Malloc Все доступные памяти для хеш-таблица  ( Malloc all available memory for a hash table ) 
Я хочу построить хеш-таблицу, настолько большой, насколько это возможно на машине. Я думал, что при времени инициализации я бы претендовал на большой блок пам...

4  Преобразовать фильм в Openni * .oni видео  ( Convert movie to openni oni video ) 
the библиотека Kinect Openni использует пользовательский формат видеофайла для хранения видеороликов, которые содержат информацию RGB + D. Эти видео имеют р...

0  Как я могу хранить разные виды операторов в 2D-массиве в C?  ( How can i store different kinds of operators in a 2d array in c ) 
Я хочу сделать функцию y = f (x) в виде строки и выяснить операторы в нем, чтобы хранить их в 2D-массиве, где каждый операторы будут рассматриваться как разде...

Связанный проблема

2  Если данные Spark будут кэшировать Off-Heap, у него будет спецификация байта? 
8  Нужно ли набрать CAST MALLOC и CALOOC [Дубликат] 
0  C / C ++ Смешанное программирование: неисправность сегментации GDB часто 
1  Связывание с DLL в C / C # 
73  C ++ - включить Unistd.h: почему бы не Cunistd? 
0  Не может запустить TCP-сервер на iOS, сотовой 
4  Должны быть использованы кронштейны для одной строки условных утверждений? [закрыто] 
0  Fead вызывает ошибку сегментации 
5  Возвращая указатель на местную структуру 
0  Согласите несколько строк? 
838  Почему эти конструкции используют поведение Pre и Post-Actrention undefined? 
0  Напишите программу, которая извлекает содержимое файла RPM в Windows 
3  Malloc Все доступные памяти для хеш-таблица 
4  Преобразовать фильм в Openni * .oni видео 
0  Как я могу хранить разные виды операторов в 2D-массиве в C?