Страница 1 от 3
ВЪПРОСИ ЗА ПРОГРАМИРАНЕ КЪМ ФМИ-СТУДЕНТИ
Публикувано на: 17 Окт 2007, 18:03
от n@sko
ЗДРАВЕЙТЕ!
Искам да задам въпрос към студентите на ФМИ относно програмирането на С++. Използвам "Microsoft Visual C++ 6" и съм си написал една обикновена програмка, която решава квадратни уравнения и неравенства. Като съм отворил "Microsoft Visual C++ 6" и я компилирам и след това цъкна на "червената удивителна"(т.е.Execute Program) всичко е ОК и програмата работи нормално, но ако влезна в папката My Projects, а оттам в папката "Debug" и си отворя фаила .exe нещо не се получават нещата - въвеждам стойностите за коефициентите а,b и c и като натисна Enter, DOS-а си се затваря без да ми изведе x1 и x2.
Някой да знае защо се получава така?
Програмата съм я записал по следния начин:
1.Отварям "Microsoft Visual C++ 6"
2.File->New-> маркирам "Win32 Console Aplication"
3.Давам името на проекта Project Name
4.Избирам ОК
5.Избирам радиобутона "An Empty Project"->Finish->OK
6.След това отново File->New->цъкам на етикета Files и избирам "C++ Source File"
След като напиша програмата не ми дава грешки, само една забележка, но в момента не мога да си спомня какво точно гласеше.
Освен това "програми" като Hello World също не ми тръгват от папката Debug.
Използвам ОС Windows XP
Ако някой има предположения защо не тръгват, моля да помага.
Освен това визуални програми, които ги правя като избера "MFC App Wizard" вместо "Win32 Console Aplication" се стартират от папката Debug и работят коректно.
Някакви предположения...?
Публикувано на: 17 Окт 2007, 18:32
от martin
"След като напиша програмата не ми дава грешки, само една забележка, но в момента не мога да си спомня какво точно гласеше. "
мисля, че в началото трябва да сложиш #include <math.h> за да не ти изписва това предупреждение,заради sqrt

Публикувано на: 17 Окт 2007, 18:36
от Methuselah
Преди return 0;
напиши system("Pause");
Публикувано на: 17 Окт 2007, 18:38
от DADO
това са различни неща. HTML не е много сложен (особено ако ползваш някой HTML-редактор, а не Notepad'а

). PHP се използва основно за уеб-дизайн, Java също, и за мобилни технологии. И 2та езика имат логика, трябва само да посвикнеш и да им хванеш логиката. Delphi, Pascal съществуват откакто програмирането съществува, или почти

Това е относно анкетата.
Публикувано на: 19 Окт 2007, 13:34
от n@sko
Относно предупреждението: изписва ми "warning C4715: 'main' : not all control paths return a value", което най-вероятно е поради това, че не съм компилирал програмата след като направя някакви промени, а направо я билдвам.
Иначе кодът е следният:
/////////////////////////////////////////////////////////////////////////////////
#include <iostream.h>
#include <math.h>
int main()
{
//Въвеждане на коефициента а
cout << "a= ";
double a;
cin >> a;
if (!cin)
{ cout<<"Error! Bad input! \n";
return 1;
}
//Въвеждане на коефициента b
cout << "b= ";
double b;
cin >> b;
if (!cin)
{ cout<<"Error! Bad input! \n";
return 1;
}
//Въвеждане на коефициента c
cout << "c= ";
double c;
cin >> c;
if (!cin)
{ cout<<"Error! Bad input! \n";
return 1;
}
//Дефиниране на дискриминантата
double d;
d=pow(b,2)-4*a*c;
//Ако дискриминантата е по-малка от нула
if (d<0)
cout << "Uravnenieto niama realni koreni \n";
double x1;
double x2;
//Ако дискриминантата е по-голяма от нула
if (d>0)
{
x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
cout << "x1= "<<x1<<"\n";
cout << "x2= "<<x2<<"\n";
}
//Ако дискриминантата е равна на нула
if (d==0)
{ x1=-b/(2*a);
cout << "x1=x2= " << x1 << "\n";
return 0;
}
}
///////////////////////////////////////////////////////////////////////////////////
А ако напиша преди return 0;
system("Pause"); ми показва, че има грешка: счита system за недефинирана променлива? То system не е запазена дума, така че си го счита за променлива.
А за #include <math.h> съм си го включил, иначе без него щеше да дава грешки...(а не предупреждение)
Публикувано на: 19 Окт 2007, 13:43
от Methuselah
system(); e функция бе. Трябва да е дефинирана в иострийма.
Преди последната затваряща блокова скоба напиши ретърн. То ти е написано, но на английски. Не всяка пътечка по която може да мине програмата (разклонения на пътечката се задават с if и else) връща стойност.
Публикувано на: 19 Окт 2007, 13:48
от n@sko
ОК!!!
Е добре написвам си аз system("Pause"); ама ми дава грешка. Какво трябва да допълня в тая програма, за да тръгне като хората (като програмите де) Грешката е следната
error C2065: 'system' : undeclared identifier
т.е. недефиниран идентификатор
А освен това нещо не ми изпълнява return 1;
а ми затваря програмата. То като го махнах пак си върви програмата.
Публикувано на: 19 Окт 2007, 15:45
от n@sko
Понеже се занимавам и с ООП, може ли някой да ми каже как да направя така, че като цъкна на даден бутон да ми тръгне кода за решаване на квадратни уравнения, като съкна на втори бутон - да тръгне за н еравенства и т.н. ( имам предвид да се даде функция на Button 1 (например) , така че при натискането му да се стартира source кода за квадратните уравнения)
Публикувано на: 19 Окт 2007, 17:12
от n@sko
Благодаря за помощта
за функцията на иострейма.!!!
В този вид програмата работи правилно:
/////////////////////////////////////////////////////////////////////////////////
#include<iostream>
#include<cmath>
using namespace std;
#include<stdio.h>
int main(void)
{
cout << "a= ";
double a;
cin >> a;
if (!cin)
{ cout<<"Error! Bad input! \n";
}
cout << "b= ";
double b;
cin >> b;
if (!cin)
{ cout<<"Error! Bad input! \n";
}
cout << "c= ";
double c;
cin >> c;
if (!cin)
{ cout<<"Error! Bad input! \n";
}
double d;
d=pow(b,2)-4*a*c;
if (d<0)
cout << "Uravnenieto niama realni koreni \n";
double x1;
double x2;
if (d>0)
{
x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
cout << "x1= "<<x1<<"\n";
cout << "x2= "<<x2<<"\n";
}
if (d==0)
{ x1=-b/(2*a);
cout << "x1=x2= " << x1 << "\n";
}
system("pause");
return 0;
}
///////////////////////////////////////////////////////////////////////////////////
Но все още ми остава въпроса за визуалното представяне (виж по-горе) Ще се радвам, ако някой помогне.
И ако някой знае как да пиша на кирилица в С++, защото ми се изписват в програмите някакви нечетливи символи.
Благодря предварително!
Re: ВЪПРОСИ ЗА ПРОГРАМИРАНЕ КЪМ ФМИ-СТУДЕНТИ
Публикувано на: 20 Дек 2007, 17:30
от LFirestorm
УЖАС!!! Кой ви излъга, че HTML eзик за програмиране ?!? Веднага го махнете от списъка... А Java за кво ви е ...
Re:
Публикувано на: 20 Дек 2007, 17:45
от petio
Xenon написа: PHP се използва основно за уеб-дизайн, Java също
Ти сериозно ли го мислиш това...силно се надявам да си бил/а на градус кат си го писал/а...
И кво сте сложили тоя Паскал бре...тва от праисторията и не се използва за нищо освен в учебни дейности(нищо чудно че и има такъв глад за програмисти...кой ще търси програмист на паскал).Кат стана дума за ФМИ и програмиране що не бяхте сложили и Хаскел...поредния умопомръчителен "език за програмиране":):):) А аз си мислех, че ФМИ е сериозен университет...
Re: Re:
Публикувано на: 20 Дек 2007, 17:53
от LFirestorm
petio написа:А аз си мислех, че ФМИ е сериозен университет...
Ти сериозно ли ?!?
Re: ВЪПРОСИ ЗА ПРОГРАМИРАНЕ КЪМ ФМИ-СТУДЕНТИ
Публикувано на: 20 Дек 2007, 17:55
от petio
LFirestorm написа:УЖАС!!! Кой ви излъга, че HTML eзик за програмиране ?!? Веднага го махнете от списъка... А Java за кво ви е ...
Как да не е бре...HTML си е език за програмиране, PHP е за уеб дизайн, Ajax няма нищо общо с джаваскрипт-а, да не говорим, че и Асемблера е обектно-ориентиран и нз защо не са го включили:):):):):)Аз най си обичам да си правя сложни програмки за решаване на сложни математически уравнения на асемблер:):):)
Re: ВЪПРОСИ ЗА ПРОГРАМИРАНЕ КЪМ ФМИ-СТУДЕНТИ
Публикувано на: 20 Дек 2007, 17:57
от Methuselah
Като не ви кефи и са ви толкова високо носовете - чупка. Писна ми от компетентни относно образование.
Re: ВЪПРОСИ ЗА ПРОГРАМИРАНЕ КЪМ ФМИ-СТУДЕНТИ
Публикувано на: 20 Дек 2007, 18:01
от LFirestorm
Methuselah написа:Като не ви кефи и са ви толкова високо носовете - чупка. Писна ми от компетентни относно образование.
Компетентни относно образование ?!? Какво разбираш по това ? Факт е, че хора учещи във ФМИ казват, че HTML е език за програмиране... Достатъчно показно е на какво ниво е ...