Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2012, 17:00   #1
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию Вычислить математического выражение, заданное строкой (C)

Доброго времени суток,уважаемые!
сабж: Разминка для профессионалов,задача для меня.
есть код.есть требования к его изменению.все помещаю ниже.
Сама программа проводит несложные математические расчеты и выдает ошибки в случае некорректного ввода данных.


Код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#define EQUAL 61
#define SPACE 32
int main(){
 double cislo1, cislo2, vysledek;
 char znamenko;
 printf("Zadejte_vyraz" );
 char line[20];
 int i=0;
 while ((line[i]=getch())!=EQUAL) {
     putch(line[i]);
     if (line[i]!= SPACE) i++;
 }
 line[i]=0; 
 sscanf(line, "%lf%c%lf", &cislo1, &znamenko, &cislo2);
 switch(znamenko)
 {
   case '+': vysledek = cislo1+cislo2 ; break;
   case '-': vysledek = cislo1- cislo2; break;
   case '*': vysledek = cislo1 * cislo2; break;
   case '/': vysledek = cislo1/cislo2 ; break;
   default: vysledek = 0; printf("error");
 }
 printf("=%lf", vysledek);
 getchar();
 return 0;
cislo1=число1,cislo2=число2,vyslede k=результат,znamenko=знак.Zadejte_v yraz=Введите выражение.
Как видите,программа простая.



ТРЕБОВАНИЯ:

1.При загрузке Не должен присутствовать знак "=" за выражением.
2.Было бы лучше не использовать #include "stdafx.h" ; #include <conio.h> ;и функции getch() и putch(). Их альтернативы в языке C - getchar() и putchar().
3.Также важно то,чтобы при загрузке программа не выписывала за конец поля line[]. Можно использовать fgets().

Пожалуйста,помогите откорректировать..



___________
1) Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.


2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.12.2012 в 08:59.
ezhidudek вне форума Ответить с цитированием
Старый 03.12.2012, 03:24   #2
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

РЕБЯТА,ЧТО ВСЕ ВЫМЕРЛИ?
ezhidudek вне форума Ответить с цитированием
Старый 03.12.2012, 16:55   #3
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию Редактирование программы.Простые арифметические действия.

Добрый день.Требуется исправить программу.ПО умолчанию она должна производить действия сложения-вычитания-умножения-деления для двух чисел.ТРЕБОВАНИЯ:
1. Пофиксить ошибку следующего типа: 2+3 программа считает,но 2 + 3 уже нет.
2.Ввести функцию getchar() для загрузки знака.Большое спасибо.

Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
double a = 0;
double b = 0;
char sign;
scanf("%lf%c%lf", &a, &sign, &b);
switch(sign)
{
case '+'   : printf("=%lf",a+b);
break ;

case '-' :   printf("=%lf",a-b);
break;

case '/' :  if (b==0)  printf("Error\n");
else
printf ("=%lf",a/b) ;
break;

case '*' : printf("=%lf",a*b) ;
break;
default : printf("Error\n");
}
return 0;
}
ezhidudek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычислить значение математического выражения, Функция (Delphi) demopp Помощь студентам 0 19.09.2012 23:54
Вычислить сумму кодов всех букв входящих в заданное слово McFrey Помощь студентам 10 27.11.2011 10:41
Вычислить значение математического выражения для заданных данных Rusak723 Паскаль, Turbo Pascal, PascalABC.NET 3 08.06.2011 17:53
VBA - можно ли выполнить выражение, заданное строкой alexshm Microsoft Office Excel 3 22.09.2010 21:58
Арифметика, выражение вводится строкой [Delphi] iFool Помощь студентам 3 21.10.2008 18:51