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

Написать прогу для вычисления корней квадратного уравнения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Кроссворд http://www.cyberforum.ru/cpp-beginners/thread15207.html
Я не из ленивых но время очень поджимает, работа и учеба в разных сферах всеже занятия не совместимые. ПОМОГИТЕ с задачей может ктото уже писал она не сложная, и частеько выдаеться для курсовых Написать программу «кроссворд». Пользователь может вводить выбранные буквы слова. Если слово введено правильно, оно отображается черным цветом, иначе – красным. Разработать формат текстового...
C++ вылазит ошибка пишу прогу со структурами вылазит ошибка(код ниже там указанно где) #include<stdio.h> #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<fstream.h> void main() { http://www.cyberforum.ru/cpp-beginners/thread15206.html
Задачка со строками: вывести строки в обратном порядке C++
Привет!!! Немогу написать прогу, которая выводит строки в обратном порядке!! Помогите!!! ((((((
Задача на строки C++
Задали на лабу в универе задачу: Словом в строке считается последовательность букв латинского алфавита, остальные символы рассматриваются как разделители между словами. Слова в каждой из двух исходных строк упорядочены по алфавиту. Необходимо сформировать новую строку из всех слов исходных строк. Слова в новой строке должны быть также упорядочены по алфавиту. Прописные и строчные буквы в...
C++ Переключение файлового потока ввода вывода http://www.cyberforum.ru/cpp-beginners/thread15187.html
Есть прога. Если закоментить первый цикл то будет читать из файла, если второй то будет его писать. Теперь вопрос: как её заставить делать и то и другое? По логике вещей у fstream должна быть "переключалка" с чтения на запись и наоборот так как f наследует и in, и out, но мне так не удалось ничего нагуглить про это. Мб кто сталкивался? int main() { fstream fs_file("123.txt", ios::in |...
C++ Аргументы N2 командной строки посимвольно не считывается. Вот, всё предельно просто. Действительно, имеем такую программу #include <stdio.h> int main (int argc, char* argv ) { printf ("%c\n", **++argv); printf ("%c\n", (*++argv) ); getchar (); return 0; };Озаглавливаем её <имя программы>. После заходим в консоль и запускаем так: <имя программы.exe> asdfgh подробнее

Показать сообщение отдельно
leviaphan
4 / 4 / 0
Регистрация: 18.08.2008
Сообщений: 73
04.11.2008, 18:46     Написать прогу для вычисления корней квадратного уравнения
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
using namespace std;
 
void mes(const char* m)
{
    char* m2 = new char [strlen(m)+1];
    CharToOemA(m,m2);
    cout << m2;
    delete m2;
}
 
int main()
{
    while(true)
    {
        mes("Введите квадратное уравнение (типа 2x^2+3x-6=0): ");
        string input, a, b, c;
        signed float fA=1, fB=1, fC=1;
        getline(cin,input);
        cout << endl;
        unsigned short int n_pluses=0, n_equals_signs=0, n_vars=0, n_nulls=0;
 
        if (input[0] == '+')
        {
            if (n_equals_signs!=0)
            {
                mes("Операция \'+\' встречена после операции \'=\'\n");
                goto end;
            }
            n_pluses++;
        }
        else if (input[0] == 'x')
        {
            if (n_equals_signs!=0)
            {
                mes("Операция \'x\' встречена после операции \'=\'\n");
                goto end;
            }
            n_vars++;
        }
        else if (input[0] == '=')
        {
            n_equals_signs++;
        }
        else if (input[0] == '0')
        {
            n_nulls++;
        }
        for (int i=1; i<input.size(); i++)
        {
            if (input[i] == '+')
            {
                if (n_equals_signs!=0)
                {
                    mes("Операция \'+\' встречена после операции \'=\'\n");
                    goto end;
                }
                n_pluses++;
            }
            else if (input[i] == 'x')
            {
                if (n_equals_signs!=0)
                {
                    mes("Операция \'x\' встречена после операции \'=\'\n");
                    goto end;
                }
                n_vars++;
            }
            else if (input[i] == '=')
            {
                n_equals_signs++;
            }
            else if (input[i] == '0')
            {
                n_nulls++;
            }
        }
 
        if (n_pluses>2 || n_equals_signs>2)
        {
            mes("Больше одного символа \'=\' подряд\n");
            goto end;
        }
 
        int i=0;
        for (; input[i]!='x'; i++)
            a += input[i];
        for (i+=4; input[i]!='x'; i++)
            b += input[i];
        for (i++; input[i]!='='; i++)
            c += input[i];
 
        if (a!="") fA = atof(a.c_str());
        if (b!="") fB = atof(b.c_str());
        fC = atof(c.c_str());
 
        float D = fB*fB-4*fA*fC;
        if (D<0)
        {
            mes("Корней нет\n");
        }
        else if (D==0)
        {
            float x = ( (0-fB) / (2*fA) );
            cout << "x = " << x << endl;
        }
        else
        {
            float x1 = ( (0-fB+sqrt(D)) / (2*fA) ), x2 = ( (0-fB-sqrt(D)) / (2*fA) );
            cout << "x1 = " << x1 << "; x2 = " << x2 << endl;
        }
        end:
        getch();
        system("cls");
    }
    return 0;
}
 
Текущее время: 22:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru