Я новенькая в этом деле прошу помощи!
using System;
using ReadData;
using ArrayLib;
namespace Valimised
{
class Program
{
static void Main(string[] args)
{
int allgol = 5;
int x,y;//vqbiraen za kogo golosovat
int[] p = new int[6];
do
{
Console.WriteLine("Здравствуйет Вы участвуете в выборах 2012!\n");
Console.WriteLine("Iseseisvuspartei==> ЦИФРА - 1 ");
Console.WriteLine("Keskerakоnd==> ЦИФРА - 2 ");
Console.WriteLine("Reformierakоnd ==> ЦИФРА - 3 ");
Console.WriteLine("Eestimaa Rahvaliit==> ЦИФРА - 4 ");
Console.WriteLine("Isamaaliit==> ЦИФРА - 5 ");
Console.WriteLine("Res Publica==> ЦИФРА - 6 ");
Console.WriteLine("Отказаться от голосования или просмотреть результаты ваборов ==> ЦИФРА - 0 ");
x = ConsoleInput.ReadInt();
switch (x)
{
case 1:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Iseseisvuspartei'"); break;
case 2:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Keskerakоnd '"); break;
case 3:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Reformierakоnd '"); break;
case 4:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Eestimaa Rahvaliit '"); break;
case 5:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Isamaaliit'"); break;
case 6:
Console.WriteLine("Спасибо! Вы проголоссовали за партию 'Res Publica'"); break;
case 0:
Console.WriteLine("Вы отказались от голосования'"); break;
default: Console.WriteLine("Default"); break;
}
int a = 0; int b = 0; int c = 0;
int d = 0; int e = 0; int f = 0;
if (x == 1) a++; p[0] += a;
if (x == 2) b++; p[1] += b;
if (x == 3) c++; p[2] += c;
if (x == 4) d++; p[3] += d;
if (x == 5) e++; p[4] += e;
if (x == 6) f++; p[5] += f;
Console.ReadKey();
Console.Clear();
} while (x != 0);
for (int i = 0; i < p.Length; i++)
{
double p1 = (p /(double) allgol) * 100;
double rp1 = Math.Round(p1, 3);
Console.WriteLine("Партия набрала ={0} %", rp1);
}
MyArray.PrintArray(p);
//Console.WriteLine(p1);
Console.ReadKey();
}
}
}
Вот мой код:
Проблема в том что не могу поставить предел т. е получилось так, всего голов int allgol = 5; не получилось сделать так программа запретила мне вводит больше чем 5 значений
Работа задумывается такая :
Нам предлагают голосовать до тех пор пока либо мы не ввели ноль либо до тех пор пока наше количество не привысило количество разрешаемых голосов.
Нужно вот что бы да этих критерия работало с нулем я разобралась а вот с другим без результат.
Помогите пожалуйста объяснить что куда
Спасибо!
Другие языки программирования и технологии
Программка c# нужна помощь
> говнокод какой-то
Ну понятие о говнокоде у всех разное, а то что здесь приведено, обычно называют "bloatware". Иначе говоря, чрезмерный размер программы без должной на то необходимости. Уменьшил, как сумел:
using System;
namespace Valimised {
class Program {
static void Main(string[] args) {
char choose;
int voites = 0;
int max_voites = 10;
int[] party_voites = new int[7];
string [] names = { "", "Iseseisvuspartei", "Keskerakоnd", "Reformierakоnd",
"Eestimaa Rahvaliit", "Isamaaliit", "Res Publica" };
do {
Console.WriteLine("Здравствуйет Вы участвуете в выборах 2012!\n");
for (int c = 1; c <= 6; ++c) Console.WriteLine(names[c] + "==> ЦИФРА - " + c);
Console.WriteLine("Отказаться от голосования или просмотреть результаты ваборов ==> ЦИФРА - 0");
choose = Console.ReadKey().KeyChar;
if (choose >= '1' && choose <= '6') {
Console.WriteLine("\nСпасибо! Вы проголоссовали за партию '" + names[choose - '0'] + "'");
++party_voites[choose - '0'];
++voites;
} else if (choose == '0') {
Console.WriteLine("\nВы отказались от голосования");
}
Console.WriteLine("Нажмите любую клавишу для продолжения");
Console.ReadKey();
Console.Clear();
} while (choose != '0' && voites != max_voites);
for (int c = 1; c <= 6; ++c) {
Console.WriteLine("Партия " + names[c] + " набрала {0:F2}%", (double)party_voites[c] / voites * 100);
}
Console.ReadKey();
}
}
}
Максимальное количество голосов 10 (max_voites), общее число голосов -- просто voites.
ЗЫ:
Уменьшить его я то уменьшил, ну а вам нужно его немного увеличить. Например, избавится от "магических" констант типа числа 6, создав и заменив их константами с именами, сделать просмотр результатов голосования и окончание голосования отдельными пунктами меню, сделать подтверждение выбора -- вдруг голосующий ошибся и т. д.
Ну понятие о говнокоде у всех разное, а то что здесь приведено, обычно называют "bloatware". Иначе говоря, чрезмерный размер программы без должной на то необходимости. Уменьшил, как сумел:
using System;
namespace Valimised {
class Program {
static void Main(string[] args) {
char choose;
int voites = 0;
int max_voites = 10;
int[] party_voites = new int[7];
string [] names = { "", "Iseseisvuspartei", "Keskerakоnd", "Reformierakоnd",
"Eestimaa Rahvaliit", "Isamaaliit", "Res Publica" };
do {
Console.WriteLine("Здравствуйет Вы участвуете в выборах 2012!\n");
for (int c = 1; c <= 6; ++c) Console.WriteLine(names[c] + "==> ЦИФРА - " + c);
Console.WriteLine("Отказаться от голосования или просмотреть результаты ваборов ==> ЦИФРА - 0");
choose = Console.ReadKey().KeyChar;
if (choose >= '1' && choose <= '6') {
Console.WriteLine("\nСпасибо! Вы проголоссовали за партию '" + names[choose - '0'] + "'");
++party_voites[choose - '0'];
++voites;
} else if (choose == '0') {
Console.WriteLine("\nВы отказались от голосования");
}
Console.WriteLine("Нажмите любую клавишу для продолжения");
Console.ReadKey();
Console.Clear();
} while (choose != '0' && voites != max_voites);
for (int c = 1; c <= 6; ++c) {
Console.WriteLine("Партия " + names[c] + " набрала {0:F2}%", (double)party_voites[c] / voites * 100);
}
Console.ReadKey();
}
}
}
Максимальное количество голосов 10 (max_voites), общее число голосов -- просто voites.
ЗЫ:
Уменьшить его я то уменьшил, ну а вам нужно его немного увеличить. Например, избавится от "магических" констант типа числа 6, создав и заменив их константами с именами, сделать просмотр результатов голосования и окончание голосования отдельными пунктами меню, сделать подтверждение выбора -- вдруг голосующий ошибся и т. д.
хех, нужно ввести счетчик набранных голосов. введи массив количества голосов, каждый элемент - количество голосов за определенную партию. при каждом голосовании определенный элемент пусть увеличится на 1, в цикле надо определить максимальное значение из массива и поставить второе условие в while.
Разбираться особо не хочется, первое что бросается в глаза double p1 = (p /(double) allgol) * 100; переменная "р" это массив, а "allgol" переменная double. Оператор "/" не может применяться к операндам типа "int[]" и "double".
говнокод какой-то
Похожие вопросы
- (C++) Нужна помощь в создании метода "пузырька".
- c++ нужна помощь
- C++ Нужна Помощь
- Язык Arduino(C, C++) Нужна помощь: в изучении arduino встретил знак "&" помогите, пожалуйста, что он означает!
- c++ нужна помощь )
- C#. Нужна помощь.
- (C++) Нужна помощь в написании 4-х программ. максимально простые, уровень с++ нулевой практически.
- C# нужна помощь, как это все объединить ?
- Здравствуйте =) Очень нужна помощь. Нужно написать программку на c++.
- Помогите с программкой C++.