Расчет скидки - исправить программу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

1 Задача. Найти ошибки. Проблема еще в том, что учусь в немецкой школе и не все объяснения понимаю. Ищу добрую душу, кто мог бы помочь.
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>

int main()
{
float preis;
float rabatt;
{
 
printf("\nGeben Sie den Preis ein");
scanf("%i", &preis);
{
if((preis < 1000),  = 0,03);
else if ((preis < 5000), rabatt = 0.05);
else rabatt = 0.08;
}
printf("\nSie erhalten %0.2f Rabatt und dГјrfen nun bezahlen: %F", preis - preis*rabatt, rabatt);
}
_getch();
return 0;
}
Первод: preis - цена, rabatt - скидка, Geben Sie den Preis ein - введите цену, Sie erhalten %0.2f Rabatt und dürfen nun bezahlen: %F", - Вы получаете скидку % и должны заплатить... Задача 2 Каково значение переменной в конце программы:
#include "stdafx.h"
 
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void subtrahieren(int zahl1, int zahl2, int *ergebnis)
{
*ergebnis = zahl1 - zahl2;
}
int main()
{
int zahl1 = 1, zahl2 = 1, ergebnis = 1;
for(int i=0; i< 5; i++) zahl1 += zahl1;
for(int j = 0; j<3; j++)
for(int z= 0; z<3; z++)
zahl2 = j+z;
subtrahieren(zahl1, zahl2, &ergebnis);
printf("Das Ergebnis lautet %i", ergebnis);
_getch();
return 0;
}
Написала 28, но по видимому опять что то не понимаю... и 3 Задача: Написать программу: На кастинг-шоу каждый зритель может свой голос за одного из 4х кандидатов дать. Количество зрителей не известно. После того как все голоса быдут посчитаны, будет выдан победитель. Голоса даолжны задаваться, пока не будет дана команда Стоп. В конце должны быть показаны все количества голосов за каждого кандидата. Пересдачу назначили на завтра. Заранее спасибо.

Решение задачи: «Расчет скидки - исправить программу»

textual
Листинг программы
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std; 
void subtrahieren(int zahl1, int zahl2, int *ergebnis)
{
*ergebnis = zahl1 - zahl2;
}
int main()
{
    setlocale(LC_ALL, "rus");
    int Kondidati[4]={0,0,0,0};
    int number;
    char ch;
    cout<<"Голосование началось!!!"<<endl;
    do
    {
        cout<<"Нажмите 1 за 1 кандидата."<<endl;
        cout<<"Нажмите 2 за 2 кандидата."<<endl;
        cout<<"Нажмите 3 за 3 кандидата."<<endl;
        cout<<"Нажмите 4 за 4 кандидата."<<endl;
        cout<<"Ваш выбор?(1,2,3,4) ";
        cin>>number;
        if(number==1) Kondidati[0]++;
        else if(number==2) Kondidati[1]++;
        else if(number==3) Kondidati[2]++;
        else if(number==4) Kondidati[3]++;
        cout<<"Голосование продолжается? (Y/N)";cin>>ch;
        if(ch=='n' || ch=='N') { cout<<"Голосование окончено."<<endl;break; }
    }
    while(ch!='n' || ch!='N');
    cout<<"Кол-во голосов набранных кандидатами: "<<endl;
    for(int i=1;i<5;i++)
    {
        cout<<i<<" кандидат набрал: "<<Kondidati[i-1]<<endl;
    }
    int Pobeditel=Kondidati[0],pos=0;
    for(int i=0;i<5;i++)
    {
        if(Kondidati[i]>Pobeditel){ Pobeditel=Kondidati[i]; pos=i; }
    }
    cout<<"Победил кандидат под номером "<<pos+1<<" с количеством голосов "<<Kondidati[pos]<<endl;
    cout<<endl;
    getch();
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяется функция subtractieren для вычитания двух чисел и сохранения результата в третьем аргументе
  3. В функции main() устанавливается локальная настройка для вывода русскоязычных сообщений
  4. Создается массив типа int с именем Kondidati размером 4 для подсчета голосов кандидатов
  5. Инициализируются все элементы массива Kondidati значением 0
  6. Создается переменная типа int с именем number для получения выбора пользователя
  7. Создается переменная типа char с именем ch для получения ответа на вопрос о продолжении голосования
  8. В цикле do-while происходит предложение пользователю выбрать кандидата и увеличение соответствующего элемента массива Kondidati
  9. После каждой итерации цикла пользователю предлагается продолжить голосование, если он вводит 'n' или 'N', цикл прерывается
  10. В цикле for выводятся результаты голосования по каждому кандидату
  11. Переменная Pobeditel инициализируется значением первого элемента массива Kondidati
  12. Переменная pos инициализируется значением 0
  13. В цикле for происходит поиск кандидата с наибольшим количеством голосов
  14. Если такой кандидат найден, его номер сохраняется в переменной pos, а значение Pobeditel обновляется
  15. Выводится сообщение о победителе с указанием его номера и количества голосов
  16. Программа ожидает нажатия клавиши
  17. Функция main() возвращает 0, что означает успешное завершение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы